From d25cb21d68f50a571c266d19998493731be65a86 Mon Sep 17 00:00:00 2001 From: nickray Date: Wed, 22 Nov 2023 13:48:01 +0000 Subject: [PATCH] deploy: 7a5f1e9cae2114c9c3ac05a45eb61660b0eff633 --- cfg_if/all.html | 1 - cfg_if/index.html | 19 - cfg_if/macro.cfg_if!.html | 11 - cfg_if/macro.cfg_if.html | 19 - cfg_if/sidebar-items.js | 1 - crates.js | 2 +- delog/all.html | 2 +- delog/enum.Level.html | 56 +- delog/enum.LevelFilter.html | 56 +- delog/fn.dequeue.html | 4 +- delog/fn.enqueue.html | 4 +- delog/fn.logger.html | 4 +- delog/fn.try_enqueue.html | 7 +- delog/hex/fn.HexStr.html | 6 +- delog/hex/index.html | 6 +- delog/hex/sidebar-items.js | 2 +- delog/hex/struct.HexStr.html | 50 +- delog/hex/struct.U1.html | 16 +- delog/hex/trait.Separator.html | 10 +- delog/hex/trait.Unsigned.html | 10 +- delog/index.html | 4 +- delog/macro.delog.html | 7 +- delog/macro.generate_macros.html | 7 +- delog/macro.hex_str.html | 7 +- delog/macro.hexstr.html | 7 +- delog/render/fn.default.html | 4 +- delog/render/fn.render_arguments.html | 4 +- delog/render/fn.render_record.html | 4 +- delog/render/index.html | 6 +- delog/render/sidebar-items.js | 2 +- delog/render/struct.DefaultRenderer.html | 18 +- delog/render/struct.RipgrepRenderer.html | 18 +- delog/sidebar-items.js | 2 +- delog/struct.Record.html | 40 +- delog/struct.Statistics.html | 38 +- delog/trait.Delogger.html | 28 +- delog/trait.Flusher.html | 11 +- delog/trait.Renderer.html | 11 +- delog/trait.State.html | 17 +- delog/trait.TryLog.html | 11 +- delog/trait.TryLogWithStatistics.html | 9 +- flexiber/all.html | 2 +- flexiber/derive.Decodable.html | 6 +- flexiber/derive.Encodable.html | 6 +- flexiber/enum.Class.html | 23 +- flexiber/enum.ErrorKind.html | 51 +- flexiber/index.html | 6 +- flexiber/sidebar-items.js | 2 +- flexiber/struct.Decoder.html | 38 +- flexiber/struct.Encoder.html | 37 +- flexiber/struct.Error.html | 28 +- flexiber/struct.Length.html | 37 +- flexiber/struct.SimpleTag.html | 24 +- flexiber/struct.Slice.html | 28 +- flexiber/struct.Tag.html | 30 +- flexiber/struct.TaggedValue.html | 49 +- flexiber/trait.Container.html | 15 +- flexiber/trait.Decodable.html | 19 +- flexiber/trait.Encodable.html | 93 +- flexiber/trait.TagLike.html | 16 +- flexiber/trait.Tagged.html | 9 +- flexiber/type.Result.html | 9 +- flexiber/type.TaggedSlice.html | 25 +- flexiber_derive/all.html | 2 +- flexiber_derive/derive.Decodable.html | 6 +- flexiber_derive/derive.Encodable.html | 6 +- flexiber_derive/index.html | 4 +- flexiber_derive/sidebar-items.js | 2 +- help.html | 2 +- implementors/core/clone/trait.Clone.js | 12 +- implementors/core/cmp/trait.Eq.js | 10 +- implementors/core/cmp/trait.Ord.js | 8 +- implementors/core/cmp/trait.PartialEq.js | 10 +- implementors/core/cmp/trait.PartialOrd.js | 8 +- implementors/core/convert/trait.AsRef.js | 2 +- implementors/core/convert/trait.From.js | 6 +- implementors/core/convert/trait.TryFrom.js | 2 +- implementors/core/default/trait.Default.js | 7 +- implementors/core/error/trait.Error.js | 4 +- implementors/core/fmt/trait.Debug.js | 12 +- implementors/core/fmt/trait.Display.js | 10 +- implementors/core/fmt/trait.LowerHex.js | 2 +- implementors/core/fmt/trait.UpperHex.js | 2 +- implementors/core/hash/trait.Hash.js | 8 +- .../core/iter/traits/collect/trait.Extend.js | 4 +- .../iter/traits/collect/trait.FromIterator.js | 4 +- .../iter/traits/collect/trait.IntoIterator.js | 4 +- .../double_ended/trait.DoubleEndedIterator.js | 2 +- .../exact_size/trait.ExactSizeIterator.js | 2 +- .../iter/traits/iterator/trait.Iterator.js | 4 +- implementors/core/marker/trait.Copy.js | 12 +- implementors/core/marker/trait.Freeze.js | 8 +- implementors/core/marker/trait.Send.js | 12 +- .../core/marker/trait.StructuralEq.js | 8 +- .../core/marker/trait.StructuralPartialEq.js | 8 +- implementors/core/marker/trait.Sync.js | 12 +- implementors/core/marker/trait.Unpin.js | 12 +- implementors/core/ops/arith/trait.Add.js | 2 +- implementors/core/ops/deref/trait.Deref.js | 2 +- implementors/core/ops/deref/trait.DerefMut.js | 2 +- implementors/core/ops/drop/trait.Drop.js | 2 +- implementors/core/ops/index/trait.Index.js | 2 +- implementors/core/ops/index/trait.IndexMut.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 12 +- .../panic/unwind_safe/trait.UnwindSafe.js | 12 +- implementors/core/str/traits/trait.FromStr.js | 4 +- .../ident_fragment/trait.IdentFragment.js | 2 +- .../quote/to_tokens/trait.ToTokens.js | 2 +- log/all.html | 3 +- log/constant.STATIC_MAX_LEVEL.html | 5 +- log/enum.Level.html | 57 +- log/enum.LevelFilter.html | 57 +- log/fn.logger.html | 5 +- log/fn.max_level.html | 5 +- log/fn.set_logger.html | 7 +- log/fn.set_logger_racy.html | 7 +- log/fn.set_max_level.html | 5 +- log/fn.set_max_level_racy.html | 12 + log/index.html | 22 +- log/macro.debug.html | 10 +- log/macro.error.html | 10 +- log/macro.info.html | 12 +- log/macro.log.html | 10 +- log/macro.log_enabled.html | 10 +- log/macro.trace.html | 10 +- log/macro.warn.html | 10 +- log/sidebar-items.js | 2 +- log/struct.Metadata.html | 38 +- log/struct.MetadataBuilder.html | 40 +- log/struct.ParseLevelError.html | 21 +- log/struct.Record.html | 41 +- log/struct.RecordBuilder.html | 49 +- log/struct.SetLoggerError.html | 17 +- log/trait.Log.html | 17 +- proc_macro2/all.html | 2 +- proc_macro2/enum.Delimiter.html | 23 +- proc_macro2/enum.Spacing.html | 23 +- proc_macro2/enum.TokenTree.html | 30 +- proc_macro2/extra/index.html | 4 + proc_macro2/extra/sidebar-items.js | 1 + proc_macro2/extra/struct.DelimSpan.html | 17 + proc_macro2/index.html | 13 +- proc_macro2/sidebar-items.js | 2 +- proc_macro2/struct.Group.html | 38 +- proc_macro2/struct.Ident.html | 50 +- proc_macro2/struct.LexError.html | 18 +- proc_macro2/struct.Literal.html | 86 +- proc_macro2/struct.Punct.html | 30 +- proc_macro2/struct.Span.html | 38 +- proc_macro2/struct.TokenStream.html | 32 +- proc_macro2/token_stream/index.html | 4 +- proc_macro2/token_stream/sidebar-items.js | 2 +- proc_macro2/token_stream/struct.IntoIter.html | 229 +++- quote/all.html | 2 +- quote/index.html | 12 +- quote/macro.format_ident.html | 29 +- quote/macro.quote.html | 19 +- quote/macro.quote_spanned.html | 7 +- quote/sidebar-items.js | 2 +- quote/trait.IdentFragment.html | 21 +- quote/trait.ToTokens.html | 19 +- quote/trait.TokenStreamExt.html | 50 +- search-index.js | 21 +- settings.html | 2 +- source-files.js => src-files.js | 11 +- src/cfg_if/lib.rs.html | 354 ------ src/delog/hex.rs.html | 7 +- src/delog/lib.rs.html | 7 +- src/delog/logger.rs.html | 7 +- src/delog/macros.rs.html | 57 +- src/delog/render.rs.html | 7 +- src/flexiber/decoder.rs.html | 7 +- src/flexiber/encoder.rs.html | 7 +- src/flexiber/error.rs.html | 7 +- src/flexiber/header.rs.html | 7 +- src/flexiber/length.rs.html | 7 +- src/flexiber/lib.rs.html | 7 +- src/flexiber/simpletag.rs.html | 7 +- src/flexiber/slice.rs.html | 7 +- src/flexiber/tag.rs.html | 7 +- src/flexiber/tagged.rs.html | 7 +- src/flexiber/traits.rs.html | 7 +- src/flexiber_derive/decodable.rs.html | 7 +- src/flexiber_derive/encodable.rs.html | 7 +- src/flexiber_derive/lib.rs.html | 7 +- src/log/__private_api.rs.html | 115 ++ src/log/lib.rs.html | 534 ++------ src/log/macros.rs.html | 154 +-- src/proc_macro2/detection.rs.html | 7 +- src/proc_macro2/extra.rs.html | 169 +++ src/proc_macro2/fallback.rs.html | 477 +++++-- src/proc_macro2/lib.rs.html | 97 +- src/proc_macro2/marker.rs.html | 11 +- src/proc_macro2/parse.rs.html | 441 +++++-- src/proc_macro2/rcvec.rs.html | 19 +- src/proc_macro2/wrapper.rs.html | 219 +--- src/quote/ext.rs.html | 7 +- src/quote/format.rs.html | 7 +- src/quote/ident_fragment.rs.html | 17 +- src/quote/lib.rs.html | 47 +- src/quote/runtime.rs.html | 237 +++- src/quote/spanned.rs.html | 49 +- src/quote/to_tokens.rs.html | 11 +- src/syn/attr.rs.html | 7 +- src/syn/await.rs.html | 7 +- src/syn/bigint.rs.html | 7 +- src/syn/buffer.rs.html | 7 +- src/syn/custom_keyword.rs.html | 7 +- src/syn/custom_punctuation.rs.html | 7 +- src/syn/data.rs.html | 7 +- src/syn/derive.rs.html | 7 +- src/syn/discouraged.rs.html | 7 +- src/syn/drops.rs.html | 7 +- src/syn/error.rs.html | 7 +- src/syn/export.rs.html | 7 +- src/syn/expr.rs.html | 7 +- src/syn/ext.rs.html | 7 +- src/syn/gen/clone.rs.html | 7 +- src/syn/gen/debug.rs.html | 7 +- src/syn/gen/eq.rs.html | 7 +- src/syn/gen/hash.rs.html | 7 +- src/syn/gen/visit.rs.html | 7 +- src/syn/{gen/up => }/gen_helper.rs.html | 7 +- src/syn/generics.rs.html | 7 +- src/syn/group.rs.html | 7 +- src/syn/ident.rs.html | 7 +- src/syn/lib.rs.html | 9 +- src/syn/lifetime.rs.html | 7 +- src/syn/lit.rs.html | 17 +- src/syn/lookahead.rs.html | 7 +- src/syn/mac.rs.html | 7 +- src/syn/macros.rs.html | 7 +- src/syn/op.rs.html | 7 +- src/syn/parse.rs.html | 7 +- src/syn/parse_macro_input.rs.html | 7 +- src/syn/parse_quote.rs.html | 7 +- src/syn/path.rs.html | 7 +- src/syn/print.rs.html | 7 +- src/syn/punctuated.rs.html | 7 +- src/syn/sealed.rs.html | 7 +- src/syn/span.rs.html | 7 +- src/syn/spanned.rs.html | 7 +- src/syn/thread.rs.html | 7 +- src/syn/token.rs.html | 7 +- src/syn/tt.rs.html | 7 +- src/syn/ty.rs.html | 7 +- src/syn/verbatim.rs.html | 7 +- src/synstructure/lib.rs.html | 7 +- src/synstructure/macros.rs.html | 7 +- src/unicode_ident/lib.rs.html | 17 +- src/unicode_ident/tables.rs.html | 29 +- src/unicode_xid/lib.rs.html | 8 +- src/unicode_xid/tables.rs.html | 8 +- ...f50.txt => COPYRIGHT-23e9bde6c69aea69.txt} | 4 + ... => FiraSans-LICENSE-db4b642586e02d97.txt} | 4 + ...mBarunGothic-LICENSE-18c5adf4b52b4041.txt} | 4 + ...ourceCodePro-LICENSE-d180d465a756484a.txt} | 4 + ...urceSerif4-Bold-124a1ca42af929b6.ttf.woff2 | Bin 81320 -> 0 bytes ...urceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2 | Bin 0 -> 81540 bytes ...SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2 | Bin 0 -> 59716 bytes ...SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2 | Bin 59860 -> 0 bytes ... SourceSerif4-LICENSE-3bb119e13b1258b7.md} | 5 + ...eSerif4-Regular-1f7d512b176f0f72.ttf.woff2 | Bin 76180 -> 0 bytes ...eSerif4-Regular-46f98efaafac5295.ttf.woff2 | Bin 0 -> 76260 bytes static.files/ayu-8af5e100b21cd173.css | 1 - static.files/dark-f23faae4a2daf9a6.css | 1 - static.files/down-arrow-927217e04c7463ac.svg | 1 - static.files/light-ebce58d0a40c3431.css | 1 - static.files/main-c55e1eb52e1886b4.js | 8 - static.files/main-c5bd66d33317d69f.js | 12 + static.files/noscript-13285aec31fa243e.css | 1 - static.files/noscript-5d8b3c7633ad77ba.css | 1 + static.files/rustdoc-6827029ac823cab7.css | 1 - static.files/rustdoc-fa3bb1812debf86c.css | 10 + static.files/search-444266647c4dba98.js | 1 - static.files/search-8be46b629f5f14a8.js | 5 + static.files/settings-74424d7eec62a23e.js | 17 + static.files/settings-af96d9e2fc13e081.css | 3 - static.files/settings-bebeae96e00e4617.js | 13 - .../source-script-5cf2e01a42cc9858.js | 1 - static.files/src-script-3280b574d94e47b4.js | 1 + static.files/storage-d43fa987303ecbbb.js | 1 - static.files/storage-fec3eaa3851e447d.js | 1 + .../toggle-minus-31bbd6e4c77f5c96.svg | 1 - static.files/toggle-plus-1092eb4930d581b0.svg | 1 - static.files/wheel-5ec35bf9ca753509.svg | 1 - static.files/wheel-7b819b6101059cd0.svg | 1 + syn/all.html | 2 +- syn/buffer/index.html | 6 +- syn/buffer/sidebar-items.js | 2 +- syn/buffer/struct.Cursor.html | 45 +- syn/buffer/struct.TokenBuffer.html | 22 +- syn/enum.AttrStyle.html | 26 +- syn/enum.BinOp.html | 32 +- syn/enum.Data.html | 28 +- syn/enum.Expr.html | 35 +- syn/enum.Fields.html | 40 +- syn/enum.GenericArgument.html | 30 +- syn/enum.GenericParam.html | 32 +- syn/enum.Lit.html | 34 +- syn/enum.MacroDelimiter.html | 26 +- syn/enum.Member.html | 29 +- syn/enum.Meta.html | 34 +- syn/enum.NestedMeta.html | 30 +- syn/enum.PathArguments.html | 30 +- syn/enum.ReturnType.html | 34 +- syn/enum.StrStyle.html | 22 +- syn/enum.TraitBoundModifier.html | 30 +- syn/enum.Type.html | 39 +- syn/enum.TypeParamBound.html | 30 +- syn/enum.UnOp.html | 30 +- syn/enum.Visibility.html | 32 +- syn/enum.WherePredicate.html | 32 +- syn/ext/index.html | 4 +- syn/ext/sidebar-items.js | 2 +- syn/ext/trait.IdentExt.html | 13 +- syn/fn.parse.html | 6 +- syn/fn.parse2.html | 8 +- syn/fn.parse_str.html | 4 +- syn/index.html | 56 +- syn/macro.Token.html | 9 +- syn/macro.braced.html | 7 +- syn/macro.bracketed.html | 7 +- syn/macro.custom_keyword.html | 15 +- syn/macro.custom_punctuation.html | 17 +- syn/macro.parenthesized.html | 7 +- syn/macro.parse_macro_input.html | 11 +- syn/macro.parse_quote.html | 13 +- syn/macro.parse_quote_spanned.html | 7 +- syn/parse/discouraged/index.html | 4 +- syn/parse/discouraged/sidebar-items.js | 2 +- syn/parse/discouraged/trait.Speculative.html | 17 +- syn/parse/index.html | 30 +- syn/parse/sidebar-items.js | 2 +- syn/parse/struct.Error.html | 39 +- syn/parse/struct.Lookahead1.html | 24 +- syn/parse/struct.Nothing.html | 22 +- syn/parse/struct.ParseBuffer.html | 64 +- syn/parse/struct.StepCursor.html | 21 +- syn/parse/trait.Parse.html | 9 +- syn/parse/trait.Parser.html | 21 +- syn/parse/trait.Peek.html | 6 +- syn/parse/type.ParseStream.html | 8 +- syn/parse/type.Result.html | 26 +- syn/punctuated/enum.Pair.html | 55 +- syn/punctuated/index.html | 10 +- syn/punctuated/sidebar-items.js | 2 +- syn/punctuated/struct.IntoIter.html | 254 +++- syn/punctuated/struct.IntoPairs.html | 260 +++- syn/punctuated/struct.Iter.html | 249 +++- syn/punctuated/struct.IterMut.html | 247 +++- syn/punctuated/struct.Pairs.html | 257 +++- syn/punctuated/struct.PairsMut.html | 253 +++- syn/punctuated/struct.Punctuated.html | 119 +- syn/sidebar-items.js | 2 +- syn/spanned/index.html | 14 +- syn/spanned/sidebar-items.js | 2 +- syn/spanned/trait.Spanned.html | 15 +- syn/struct.Abi.html | 32 +- ...struct.AngleBracketedGenericArguments.html | 32 +- syn/struct.Attribute.html | 54 +- syn/struct.BareFnArg.html | 34 +- syn/struct.Binding.html | 30 +- syn/struct.BoundLifetimes.html | 30 +- syn/struct.ConstParam.html | 36 +- syn/struct.Constraint.html | 30 +- syn/struct.DataEnum.html | 26 +- syn/struct.DataStruct.html | 28 +- syn/struct.DataUnion.html | 26 +- syn/struct.DeriveInput.html | 34 +- syn/struct.Error.html | 39 +- syn/struct.ExprArray.html | 20 +- syn/struct.ExprAssign.html | 20 +- syn/struct.ExprAssignOp.html | 20 +- syn/struct.ExprAsync.html | 20 +- syn/struct.ExprAwait.html | 20 +- syn/struct.ExprBinary.html | 36 +- syn/struct.ExprBlock.html | 20 +- syn/struct.ExprBox.html | 20 +- syn/struct.ExprBreak.html | 20 +- syn/struct.ExprCall.html | 34 +- syn/struct.ExprCast.html | 36 +- syn/struct.ExprClosure.html | 20 +- syn/struct.ExprContinue.html | 20 +- syn/struct.ExprField.html | 34 +- syn/struct.ExprForLoop.html | 20 +- syn/struct.ExprGroup.html | 20 +- syn/struct.ExprIf.html | 20 +- syn/struct.ExprIndex.html | 36 +- syn/struct.ExprLet.html | 20 +- syn/struct.ExprLit.html | 32 +- syn/struct.ExprLoop.html | 20 +- syn/struct.ExprMacro.html | 20 +- syn/struct.ExprMatch.html | 20 +- syn/struct.ExprMethodCall.html | 20 +- syn/struct.ExprParen.html | 34 +- syn/struct.ExprPath.html | 34 +- syn/struct.ExprRange.html | 20 +- syn/struct.ExprReference.html | 20 +- syn/struct.ExprRepeat.html | 20 +- syn/struct.ExprReturn.html | 20 +- syn/struct.ExprStruct.html | 20 +- syn/struct.ExprTry.html | 20 +- syn/struct.ExprTryBlock.html | 20 +- syn/struct.ExprTuple.html | 20 +- syn/struct.ExprType.html | 20 +- syn/struct.ExprUnary.html | 34 +- syn/struct.ExprUnsafe.html | 20 +- syn/struct.ExprWhile.html | 20 +- syn/struct.ExprYield.html | 20 +- syn/struct.Field.html | 46 +- syn/struct.FieldsNamed.html | 30 +- syn/struct.FieldsUnnamed.html | 30 +- syn/struct.Generics.html | 54 +- syn/struct.Ident.html | 57 +- syn/struct.ImplGenerics.html | 27 +- syn/struct.Index.html | 31 +- syn/struct.Lifetime.html | 39 +- syn/struct.LifetimeDef.html | 34 +- syn/struct.LitBool.html | 32 +- syn/struct.LitByte.html | 28 +- syn/struct.LitByteStr.html | 28 +- syn/struct.LitChar.html | 28 +- syn/struct.LitFloat.html | 31 +- syn/struct.LitInt.html | 33 +- syn/struct.LitStr.html | 32 +- syn/struct.Macro.html | 34 +- syn/struct.MetaList.html | 30 +- syn/struct.MetaNameValue.html | 30 +- syn/struct.ParenthesizedGenericArguments.html | 30 +- syn/struct.Path.html | 40 +- syn/struct.PathSegment.html | 31 +- syn/struct.PredicateEq.html | 30 +- syn/struct.PredicateLifetime.html | 30 +- syn/struct.PredicateType.html | 34 +- syn/struct.QSelf.html | 32 +- syn/struct.TraitBound.html | 36 +- syn/struct.Turbofish.html | 27 +- syn/struct.TypeArray.html | 32 +- syn/struct.TypeBareFn.html | 38 +- syn/struct.TypeGenerics.html | 29 +- syn/struct.TypeGroup.html | 32 +- syn/struct.TypeImplTrait.html | 30 +- syn/struct.TypeInfer.html | 30 +- syn/struct.TypeMacro.html | 30 +- syn/struct.TypeNever.html | 30 +- syn/struct.TypeParam.html | 38 +- syn/struct.TypeParen.html | 32 +- syn/struct.TypePath.html | 32 +- syn/struct.TypePtr.html | 36 +- syn/struct.TypeReference.html | 36 +- syn/struct.TypeSlice.html | 32 +- syn/struct.TypeTraitObject.html | 32 +- syn/struct.TypeTuple.html | 30 +- syn/struct.Variadic.html | 32 +- syn/struct.Variant.html | 38 +- syn/struct.VisCrate.html | 30 +- syn/struct.VisPublic.html | 30 +- syn/struct.VisRestricted.html | 34 +- syn/struct.WhereClause.html | 30 +- syn/token/index.html | 16 +- syn/token/sidebar-items.js | 2 +- syn/token/struct.Abstract.html | 31 +- syn/token/struct.Add.html | 33 +- syn/token/struct.AddEq.html | 33 +- syn/token/struct.And.html | 33 +- syn/token/struct.AndAnd.html | 33 +- syn/token/struct.AndEq.html | 33 +- syn/token/struct.As.html | 31 +- syn/token/struct.Async.html | 31 +- syn/token/struct.At.html | 33 +- syn/token/struct.Auto.html | 31 +- syn/token/struct.Await.html | 31 +- syn/token/struct.Bang.html | 33 +- syn/token/struct.Become.html | 31 +- syn/token/struct.Box.html | 31 +- syn/token/struct.Brace.html | 26 +- syn/token/struct.Bracket.html | 26 +- syn/token/struct.Break.html | 31 +- syn/token/struct.Caret.html | 33 +- syn/token/struct.CaretEq.html | 33 +- syn/token/struct.Colon.html | 33 +- syn/token/struct.Colon2.html | 33 +- syn/token/struct.Comma.html | 33 +- syn/token/struct.Const.html | 31 +- syn/token/struct.Continue.html | 31 +- syn/token/struct.Crate.html | 31 +- syn/token/struct.Default.html | 31 +- syn/token/struct.Div.html | 33 +- syn/token/struct.DivEq.html | 33 +- syn/token/struct.Do.html | 31 +- syn/token/struct.Dollar.html | 33 +- syn/token/struct.Dot.html | 33 +- syn/token/struct.Dot2.html | 33 +- syn/token/struct.Dot3.html | 33 +- syn/token/struct.DotDotEq.html | 33 +- syn/token/struct.Dyn.html | 31 +- syn/token/struct.Else.html | 31 +- syn/token/struct.Enum.html | 31 +- syn/token/struct.Eq.html | 33 +- syn/token/struct.EqEq.html | 33 +- syn/token/struct.Extern.html | 31 +- syn/token/struct.FatArrow.html | 33 +- syn/token/struct.Final.html | 31 +- syn/token/struct.Fn.html | 31 +- syn/token/struct.For.html | 31 +- syn/token/struct.Ge.html | 33 +- syn/token/struct.Group.html | 26 +- syn/token/struct.Gt.html | 33 +- syn/token/struct.If.html | 31 +- syn/token/struct.Impl.html | 31 +- syn/token/struct.In.html | 31 +- syn/token/struct.LArrow.html | 33 +- syn/token/struct.Le.html | 33 +- syn/token/struct.Let.html | 31 +- syn/token/struct.Loop.html | 31 +- syn/token/struct.Lt.html | 33 +- syn/token/struct.Macro.html | 31 +- syn/token/struct.Match.html | 31 +- syn/token/struct.Mod.html | 31 +- syn/token/struct.Move.html | 31 +- syn/token/struct.MulEq.html | 33 +- syn/token/struct.Mut.html | 31 +- syn/token/struct.Ne.html | 33 +- syn/token/struct.Or.html | 33 +- syn/token/struct.OrEq.html | 33 +- syn/token/struct.OrOr.html | 33 +- syn/token/struct.Override.html | 31 +- syn/token/struct.Paren.html | 26 +- syn/token/struct.Pound.html | 33 +- syn/token/struct.Priv.html | 31 +- syn/token/struct.Pub.html | 31 +- syn/token/struct.Question.html | 33 +- syn/token/struct.RArrow.html | 33 +- syn/token/struct.Ref.html | 31 +- syn/token/struct.Rem.html | 33 +- syn/token/struct.RemEq.html | 33 +- syn/token/struct.Return.html | 31 +- syn/token/struct.SelfType.html | 31 +- syn/token/struct.SelfValue.html | 31 +- syn/token/struct.Semi.html | 33 +- syn/token/struct.Shl.html | 33 +- syn/token/struct.ShlEq.html | 33 +- syn/token/struct.Shr.html | 33 +- syn/token/struct.ShrEq.html | 33 +- syn/token/struct.Star.html | 33 +- syn/token/struct.Static.html | 31 +- syn/token/struct.Struct.html | 31 +- syn/token/struct.Sub.html | 33 +- syn/token/struct.SubEq.html | 33 +- syn/token/struct.Super.html | 31 +- syn/token/struct.Tilde.html | 33 +- syn/token/struct.Trait.html | 31 +- syn/token/struct.Try.html | 31 +- syn/token/struct.Type.html | 31 +- syn/token/struct.Typeof.html | 31 +- syn/token/struct.Underscore.html | 33 +- syn/token/struct.Union.html | 31 +- syn/token/struct.Unsafe.html | 31 +- syn/token/struct.Unsized.html | 31 +- syn/token/struct.Use.html | 31 +- syn/token/struct.Virtual.html | 31 +- syn/token/struct.Where.html | 31 +- syn/token/struct.While.html | 31 +- syn/token/struct.Yield.html | 31 +- syn/token/trait.Token.html | 4 +- syn/type.AttributeArgs.html | 1110 ++++++++++++++++- syn/type.Result.html | 26 +- syn/visit/fn.visit_abi.html | 3 +- ...sit_angle_bracketed_generic_arguments.html | 6 +- syn/visit/fn.visit_attr_style.html | 3 +- syn/visit/fn.visit_attribute.html | 3 +- syn/visit/fn.visit_bare_fn_arg.html | 3 +- syn/visit/fn.visit_bin_op.html | 3 +- syn/visit/fn.visit_binding.html | 3 +- syn/visit/fn.visit_bound_lifetimes.html | 3 +- syn/visit/fn.visit_const_param.html | 3 +- syn/visit/fn.visit_constraint.html | 3 +- syn/visit/fn.visit_data.html | 3 +- syn/visit/fn.visit_data_enum.html | 3 +- syn/visit/fn.visit_data_struct.html | 3 +- syn/visit/fn.visit_data_union.html | 3 +- syn/visit/fn.visit_derive_input.html | 3 +- syn/visit/fn.visit_expr.html | 3 +- syn/visit/fn.visit_expr_binary.html | 3 +- syn/visit/fn.visit_expr_call.html | 3 +- syn/visit/fn.visit_expr_cast.html | 3 +- syn/visit/fn.visit_expr_field.html | 3 +- syn/visit/fn.visit_expr_index.html | 3 +- syn/visit/fn.visit_expr_lit.html | 3 +- syn/visit/fn.visit_expr_paren.html | 3 +- syn/visit/fn.visit_expr_path.html | 3 +- syn/visit/fn.visit_expr_unary.html | 3 +- syn/visit/fn.visit_field.html | 3 +- syn/visit/fn.visit_fields.html | 3 +- syn/visit/fn.visit_fields_named.html | 3 +- syn/visit/fn.visit_fields_unnamed.html | 3 +- syn/visit/fn.visit_generic_argument.html | 3 +- syn/visit/fn.visit_generic_param.html | 3 +- syn/visit/fn.visit_generics.html | 3 +- syn/visit/fn.visit_ident.html | 3 +- syn/visit/fn.visit_index.html | 3 +- syn/visit/fn.visit_lifetime.html | 3 +- syn/visit/fn.visit_lifetime_def.html | 3 +- syn/visit/fn.visit_lit.html | 3 +- syn/visit/fn.visit_lit_bool.html | 3 +- syn/visit/fn.visit_lit_byte.html | 3 +- syn/visit/fn.visit_lit_byte_str.html | 3 +- syn/visit/fn.visit_lit_char.html | 3 +- syn/visit/fn.visit_lit_float.html | 3 +- syn/visit/fn.visit_lit_int.html | 3 +- syn/visit/fn.visit_lit_str.html | 3 +- syn/visit/fn.visit_macro.html | 3 +- syn/visit/fn.visit_macro_delimiter.html | 3 +- syn/visit/fn.visit_member.html | 3 +- syn/visit/fn.visit_meta.html | 3 +- syn/visit/fn.visit_meta_list.html | 3 +- syn/visit/fn.visit_meta_name_value.html | 3 +- syn/visit/fn.visit_nested_meta.html | 3 +- ...visit_parenthesized_generic_arguments.html | 6 +- syn/visit/fn.visit_path.html | 3 +- syn/visit/fn.visit_path_arguments.html | 3 +- syn/visit/fn.visit_path_segment.html | 3 +- syn/visit/fn.visit_predicate_eq.html | 3 +- syn/visit/fn.visit_predicate_lifetime.html | 6 +- syn/visit/fn.visit_predicate_type.html | 3 +- syn/visit/fn.visit_qself.html | 3 +- syn/visit/fn.visit_return_type.html | 3 +- syn/visit/fn.visit_span.html | 3 +- syn/visit/fn.visit_trait_bound.html | 3 +- syn/visit/fn.visit_trait_bound_modifier.html | 6 +- syn/visit/fn.visit_type.html | 3 +- syn/visit/fn.visit_type_array.html | 3 +- syn/visit/fn.visit_type_bare_fn.html | 3 +- syn/visit/fn.visit_type_group.html | 3 +- syn/visit/fn.visit_type_impl_trait.html | 3 +- syn/visit/fn.visit_type_infer.html | 3 +- syn/visit/fn.visit_type_macro.html | 3 +- syn/visit/fn.visit_type_never.html | 3 +- syn/visit/fn.visit_type_param.html | 3 +- syn/visit/fn.visit_type_param_bound.html | 3 +- syn/visit/fn.visit_type_paren.html | 3 +- syn/visit/fn.visit_type_path.html | 3 +- syn/visit/fn.visit_type_ptr.html | 3 +- syn/visit/fn.visit_type_reference.html | 3 +- syn/visit/fn.visit_type_slice.html | 3 +- syn/visit/fn.visit_type_trait_object.html | 3 +- syn/visit/fn.visit_type_tuple.html | 3 +- syn/visit/fn.visit_un_op.html | 3 +- syn/visit/fn.visit_variadic.html | 3 +- syn/visit/fn.visit_variant.html | 3 +- syn/visit/fn.visit_vis_crate.html | 3 +- syn/visit/fn.visit_vis_public.html | 3 +- syn/visit/fn.visit_vis_restricted.html | 3 +- syn/visit/fn.visit_visibility.html | 3 +- syn/visit/fn.visit_where_clause.html | 3 +- syn/visit/fn.visit_where_predicate.html | 3 +- syn/visit/index.html | 6 +- syn/visit/sidebar-items.js | 2 +- syn/visit/trait.Visit.html | 27 +- synstructure/all.html | 2 +- synstructure/enum.AddBounds.html | 25 +- synstructure/enum.BindStyle.html | 29 +- synstructure/fn.unpretty_print.html | 4 +- synstructure/index.html | 22 +- synstructure/macro.decl_attribute.html | 7 +- synstructure/macro.decl_derive.html | 7 +- synstructure/macro.test_derive.html | 7 +- synstructure/sidebar-items.js | 2 +- synstructure/struct.BindingInfo.html | 35 +- synstructure/struct.Structure.html | 111 +- synstructure/struct.VariantAst.html | 27 +- synstructure/struct.VariantInfo.html | 63 +- synstructure/trait.MacroResult.html | 17 +- unicode_ident/all.html | 2 +- unicode_ident/fn.is_xid_continue.html | 2 +- unicode_ident/fn.is_xid_start.html | 2 +- unicode_ident/index.html | 12 +- unicode_ident/sidebar-items.js | 2 +- unicode_xid/all.html | 3 +- unicode_xid/constant.UNICODE_VERSION.html | 5 +- unicode_xid/index.html | 7 +- unicode_xid/sidebar-items.js | 2 +- unicode_xid/trait.UnicodeXID.html | 16 +- 684 files changed, 11489 insertions(+), 5941 deletions(-) delete mode 100644 cfg_if/all.html delete mode 100644 cfg_if/index.html delete mode 100644 cfg_if/macro.cfg_if!.html delete mode 100644 cfg_if/macro.cfg_if.html delete mode 100644 cfg_if/sidebar-items.js create mode 100644 log/fn.set_max_level_racy.html create mode 100644 proc_macro2/extra/index.html create mode 100644 proc_macro2/extra/sidebar-items.js create mode 100644 proc_macro2/extra/struct.DelimSpan.html rename source-files.js => src-files.js (58%) delete mode 100644 src/cfg_if/lib.rs.html create mode 100644 src/log/__private_api.rs.html create mode 100644 src/proc_macro2/extra.rs.html rename src/syn/{gen/up => }/gen_helper.rs.html (80%) rename static.files/{COPYRIGHT-002d5dd09d9a4f50.txt => COPYRIGHT-23e9bde6c69aea69.txt} (97%) rename static.files/{FiraSans-LICENSE-1761dca11ffc8f19.txt => FiraSans-LICENSE-db4b642586e02d97.txt} (99%) rename static.files/{NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt => NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt} (99%) rename static.files/{SourceCodePro-LICENSE-f554967dca0cf1dd.txt => SourceCodePro-LICENSE-d180d465a756484a.txt} (99%) delete mode 100644 static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 create mode 100644 static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2 create mode 100644 static.files/SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2 delete mode 100644 static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2 rename static.files/{SourceSerif4-LICENSE-964d32dc04f20ca3.md => SourceSerif4-LICENSE-3bb119e13b1258b7.md} (94%) delete mode 100644 static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 create mode 100644 static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 delete mode 100644 static.files/ayu-8af5e100b21cd173.css delete mode 100644 static.files/dark-f23faae4a2daf9a6.css delete mode 100644 static.files/down-arrow-927217e04c7463ac.svg delete mode 100644 static.files/light-ebce58d0a40c3431.css delete mode 100644 static.files/main-c55e1eb52e1886b4.js create mode 100644 static.files/main-c5bd66d33317d69f.js delete mode 100644 static.files/noscript-13285aec31fa243e.css create mode 100644 static.files/noscript-5d8b3c7633ad77ba.css delete mode 100644 static.files/rustdoc-6827029ac823cab7.css create mode 100644 static.files/rustdoc-fa3bb1812debf86c.css delete mode 100644 static.files/search-444266647c4dba98.js create mode 100644 static.files/search-8be46b629f5f14a8.js create mode 100644 static.files/settings-74424d7eec62a23e.js delete mode 100644 static.files/settings-af96d9e2fc13e081.css delete mode 100644 static.files/settings-bebeae96e00e4617.js delete mode 100644 static.files/source-script-5cf2e01a42cc9858.js create mode 100644 static.files/src-script-3280b574d94e47b4.js delete mode 100644 static.files/storage-d43fa987303ecbbb.js create mode 100644 static.files/storage-fec3eaa3851e447d.js delete mode 100644 static.files/toggle-minus-31bbd6e4c77f5c96.svg delete mode 100644 static.files/toggle-plus-1092eb4930d581b0.svg delete mode 100644 static.files/wheel-5ec35bf9ca753509.svg create mode 100644 static.files/wheel-7b819b6101059cd0.svg diff --git a/cfg_if/all.html b/cfg_if/all.html deleted file mode 100644 index e656c66..0000000 --- a/cfg_if/all.html +++ /dev/null @@ -1 +0,0 @@ -List of all items in this crate

List of all items

Macros

\ No newline at end of file diff --git a/cfg_if/index.html b/cfg_if/index.html deleted file mode 100644 index d136062..0000000 --- a/cfg_if/index.html +++ /dev/null @@ -1,19 +0,0 @@ -cfg_if - Rust

Crate cfg_if

source ·
Expand description

A macro for defining #[cfg] if-else statements.

-

The macro provided by this crate, cfg_if, is similar to the if/elif C -preprocessor macro by allowing definition of a cascade of #[cfg] cases, -emitting the implementation which matches first.

-

This allows you to conveniently provide a long list #[cfg]’d blocks of code -without having to rewrite each clause multiple times.

-

Example

-
cfg_if::cfg_if! {
-    if #[cfg(unix)] {
-        fn foo() { /* unix specific functionality */ }
-    } else if #[cfg(target_pointer_width = "32")] {
-        fn foo() { /* non-unix, 32-bit functionality */ }
-    } else {
-        fn foo() { /* fallback implementation */ }
-    }
-}
-
-

Macros

The main macro provided by this crate. See crate documentation for more -information.
\ No newline at end of file diff --git a/cfg_if/macro.cfg_if!.html b/cfg_if/macro.cfg_if!.html deleted file mode 100644 index 6ce4b59..0000000 --- a/cfg_if/macro.cfg_if!.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Redirection - - -

Redirecting to macro.cfg_if.html...

- - - \ No newline at end of file diff --git a/cfg_if/macro.cfg_if.html b/cfg_if/macro.cfg_if.html deleted file mode 100644 index 5fa8140..0000000 --- a/cfg_if/macro.cfg_if.html +++ /dev/null @@ -1,19 +0,0 @@ -cfg_if in cfg_if - Rust

Macro cfg_if::cfg_if

source ·
macro_rules! cfg_if {
-    ($(
-        if #[cfg($meta:meta)] { $($tokens:tt)* }
-    ) else * else {
-        $($tokens2:tt)*
-    }) => { ... };
-    (
-        if #[cfg($i_met:meta)] { $($i_tokens:tt)* }
-        $(
-            else if #[cfg($e_met:meta)] { $($e_tokens:tt)* }
-        )*
-    ) => { ... };
-    (@__items ($($not:meta,)*) ; ) => { ... };
-    (@__items ($($not:meta,)*) ; ( ($($m:meta),*) ($($tokens:tt)*) ), $($rest:tt)*) => { ... };
-    (@__identity $($tokens:tt)*) => { ... };
-}
-
Expand description

The main macro provided by this crate. See crate documentation for more -information.

-
\ No newline at end of file diff --git a/cfg_if/sidebar-items.js b/cfg_if/sidebar-items.js deleted file mode 100644 index 04f779e..0000000 --- a/cfg_if/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"macro":[["cfg_if","The main macro provided by this crate. See crate documentation for more information."]]}; \ No newline at end of file diff --git a/crates.js b/crates.js index b3ccc32..f62457d 100644 --- a/crates.js +++ b/crates.js @@ -1 +1 @@ -window.ALL_CRATES = ["cfg_if","delog","flexiber","flexiber_derive","log","proc_macro2","quote","syn","synstructure","unicode_ident","unicode_xid"]; \ No newline at end of file +window.ALL_CRATES = ["delog","flexiber","flexiber_derive","log","proc_macro2","quote","syn","synstructure","unicode_ident","unicode_xid"]; \ No newline at end of file diff --git a/delog/all.html b/delog/all.html index 1b72df6..5fc98a2 100644 --- a/delog/all.html +++ b/delog/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/delog/enum.Level.html b/delog/enum.Level.html index 305e9c1..03bc10b 100644 --- a/delog/enum.Level.html +++ b/delog/enum.Level.html @@ -1,10 +1,10 @@ -Level in delog - Rust

Enum delog::Level

source ·
pub enum Level {
+Level in delog - Rust

Enum delog::Level

source ·
#[repr(usize)]
pub enum Level { Error, Warn, Info, Debug, Trace, -}
Expand description

An enum representing the available verbosity levels of the logger.

+}
Expand description

An enum representing the available verbosity levels of the logger.

Typical usage includes: checking if a certain Level is enabled with log_enabled!, specifying the Level of log!, and comparing a Level directly to a @@ -19,11 +19,11 @@

Designates lower priority information.

§

Trace

The “trace” level.

Designates very low priority, often extremely verbose, information.

-

Implementations§

Returns the most verbose logging level.

-

Converts the Level to the equivalent LevelFilter.

-

Returns the string representation of the Level.

+

Implementations§

source§

impl Level

source

pub fn max() -> Level

Returns the most verbose logging level.

+
source

pub fn to_level_filter(&self) -> LevelFilter

Converts the Level to the equivalent LevelFilter.

+
source

pub fn as_str(&self) -> &'static str

Returns the string representation of the Level.

This returns the same string as the fmt::Display implementation.

-

Iterate through all supported logging levels.

+
source

pub fn iter() -> impl Iterator<Item = Level>

Iterate through all supported logging levels.

The order of iteration is from more severe to less severe log messages.

Examples
use log::Level;
@@ -32,20 +32,32 @@
 
 assert_eq!(Some(Level::Error), levels.next());
 assert_eq!(Some(Level::Trace), levels.last());
-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for Level

source§

fn clone(&self) -> Level

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 Level

source§

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

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

impl Display for Level

source§

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

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

impl FromStr for Level

§

type Err = ParseLevelError

The associated error which can be returned from parsing.
source§

fn from_str(level: &str) -> Result<Level, <Level as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Level

source§

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
source§

impl Ord for Level

source§

fn cmp(&self, other: &Level) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Level> for Level

source§

fn eq(&self, other: &Level) -> 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 PartialEq<Level> for LevelFilter

source§

fn eq(&self, other: &Level) -> 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 PartialEq<LevelFilter> for Level

source§

fn eq(&self, other: &LevelFilter) -> 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 PartialOrd<Level> for Level

source§

fn partial_cmp(&self, other: &Level) -> 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
source§

impl PartialOrd<Level> for LevelFilter

source§

fn partial_cmp(&self, other: &Level) -> 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
source§

impl PartialOrd<LevelFilter> for Level

source§

fn partial_cmp(&self, other: &LevelFilter) -> 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
source§

impl Copy for Level

source§

impl Eq for Level

source§

impl StructuralEq for Level

source§

impl StructuralPartialEq for Level

Auto Trait Implementations§

§

impl RefUnwindSafe for Level

§

impl Send for Level

§

impl Sync for Level

§

impl Unpin for Level

§

impl UnwindSafe for Level

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/enum.LevelFilter.html b/delog/enum.LevelFilter.html index 61529eb..8d9f8ef 100644 --- a/delog/enum.LevelFilter.html +++ b/delog/enum.LevelFilter.html @@ -1,11 +1,11 @@ -LevelFilter in delog - Rust

Enum delog::LevelFilter

source ·
pub enum LevelFilter {
+LevelFilter in delog - Rust

Enum delog::LevelFilter

source ·
#[repr(usize)]
pub enum LevelFilter { Off, Error, Warn, Info, Debug, Trace, -}
Expand description

An enum representing the available verbosity level filters of the logger.

+}
Expand description

An enum representing the available verbosity level filters of the logger.

A LevelFilter may be compared directly to a Level. Use this type to get and set the maximum log level with max_level() and set_max_level.

Variants§

§

Off

A level lower than all log levels.

@@ -14,12 +14,12 @@ to get and set the maximum log level with max_
§

Info

Corresponds to the Info log level.

§

Debug

Corresponds to the Debug log level.

§

Trace

Corresponds to the Trace log level.

-

Implementations§

Returns the most verbose logging level filter.

-

Converts self to the equivalent Level.

+

Implementations§

source§

impl LevelFilter

source

pub fn max() -> LevelFilter

Returns the most verbose logging level filter.

+
source

pub fn to_level(&self) -> Option<Level>

Converts self to the equivalent Level.

Returns None if self is LevelFilter::Off.

-

Returns the string representation of the LevelFilter.

+
source

pub fn as_str(&self) -> &'static str

Returns the string representation of the LevelFilter.

This returns the same string as the fmt::Display implementation.

-

Iterate through all supported filtering levels.

+
source

pub fn iter() -> impl Iterator<Item = LevelFilter>

Iterate through all supported filtering levels.

The order of iteration is from less to more verbose filtering.

Examples
use log::LevelFilter;
@@ -28,20 +28,32 @@ to get and set the maximum log level with max_
 
 assert_eq!(Some(LevelFilter::Off), levels.next());
 assert_eq!(Some(LevelFilter::Trace), levels.last());
-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for LevelFilter

source§

fn clone(&self) -> LevelFilter

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 LevelFilter

source§

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

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

impl Display for LevelFilter

source§

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

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

impl FromStr for LevelFilter

§

type Err = ParseLevelError

The associated error which can be returned from parsing.
source§

fn from_str(level: &str) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for LevelFilter

source§

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
source§

impl Ord for LevelFilter

source§

fn cmp(&self, other: &LevelFilter) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Level> for LevelFilter

source§

fn eq(&self, other: &Level) -> 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 PartialEq<LevelFilter> for Level

source§

fn eq(&self, other: &LevelFilter) -> 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 PartialEq<LevelFilter> for LevelFilter

source§

fn eq(&self, other: &LevelFilter) -> 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 PartialOrd<Level> for LevelFilter

source§

fn partial_cmp(&self, other: &Level) -> 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
source§

impl PartialOrd<LevelFilter> for Level

source§

fn partial_cmp(&self, other: &LevelFilter) -> 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
source§

impl PartialOrd<LevelFilter> for LevelFilter

source§

fn partial_cmp(&self, other: &LevelFilter) -> 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
source§

impl Copy for LevelFilter

source§

impl Eq for LevelFilter

source§

impl StructuralEq for LevelFilter

source§

impl StructuralPartialEq for LevelFilter

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/fn.dequeue.html b/delog/fn.dequeue.html index 1cec6c8..0e65171 100644 --- a/delog/fn.dequeue.html +++ b/delog/fn.dequeue.html @@ -1,5 +1,5 @@ -dequeue in delog - Rust

Function delog::dequeue

source ·
pub unsafe fn dequeue(delogger: impl Delogger, buf: &mut [u8]) -> &str
Expand description

The core “read from circular buffer” method. Marked unsafe to discourage use!

+dequeue in delog - Rust

Function delog::dequeue

source ·
pub unsafe fn dequeue(delogger: impl Delogger, buf: &mut [u8]) -> &str
Expand description

The core “read from circular buffer” method. Marked unsafe to discourage use!

Safety

Unfortunately exposed for all to see, as the delog! macro needs access to it to implement the logger at call site. Hence marked as unsafe.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/delog/fn.enqueue.html b/delog/fn.enqueue.html index d6f1481..c78f893 100644 --- a/delog/fn.enqueue.html +++ b/delog/fn.enqueue.html @@ -1,5 +1,5 @@ -enqueue in delog - Rust

Function delog::enqueue

source ·
pub unsafe fn enqueue(delogger: impl Delogger, record: &Record<'_>)
Expand description

The core “write to circular buffer” method. Marked unsafe to discourage use!

+enqueue in delog - Rust

Function delog::enqueue

source ·
pub unsafe fn enqueue(delogger: impl Delogger, record: &Record<'_>)
Expand description

The core “write to circular buffer” method. Marked unsafe to discourage use!

Safety

Unfortunately exposed for all to see, as the delog! macro needs access to it to implement the logger at call site. Hence marked as unsafe.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/delog/fn.logger.html b/delog/fn.logger.html index 9ec1fda..6672279 100644 --- a/delog/fn.logger.html +++ b/delog/fn.logger.html @@ -1,2 +1,2 @@ -logger in delog - Rust

Function delog::logger

source ·
pub fn logger() -> &'static mut Option<&'static dyn TryLogWithStatistics>
Expand description

Returns a reference to the logger (as TryLogWithStatistics implementation)

-
\ No newline at end of file +logger in delog - Rust

Function delog::logger

source ·
pub fn logger() -> &'static mut Option<&'static dyn TryLogWithStatistics>
Expand description

Returns a reference to the logger (as TryLogWithStatistics implementation)

+
\ No newline at end of file diff --git a/delog/fn.try_enqueue.html b/delog/fn.try_enqueue.html index 2912c65..340f177 100644 --- a/delog/fn.try_enqueue.html +++ b/delog/fn.try_enqueue.html @@ -1,4 +1,7 @@ -try_enqueue in delog - Rust

Function delog::try_enqueue

source ·
pub unsafe fn try_enqueue(
    delogger: impl Delogger,
    record: &Record<'_>
) -> Result<(), ()>
Expand description

The fallible “write to circular buffer” method. Marked unsafe to discourage use!

+try_enqueue in delog - Rust

Function delog::try_enqueue

source ·
pub unsafe fn try_enqueue(
+    delogger: impl Delogger,
+    record: &Record<'_>
+) -> Result<(), ()>
Expand description

The fallible “write to circular buffer” method. Marked unsafe to discourage use!

Safety

Unfortunately exposed for all to see, as the delog! macro needs access to it to implement the logger at call site. Hence marked as unsafe.

@@ -13,4 +16,4 @@ capacity for its log by checking claimed + size <= read + capacityatomically advances the claim counter, and starts copying its data in this newly claimed space. At the end, it is the duty of the “first” caller to advance the written counter to the correct state.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/delog/hex/fn.HexStr.html b/delog/hex/fn.HexStr.html index c14c861..be2c938 100644 --- a/delog/hex/fn.HexStr.html +++ b/delog/hex/fn.HexStr.html @@ -1,4 +1,6 @@ -HexStr in delog::hex - Rust

Function delog::hex::HexStr

source ·
pub fn HexStr<T: ?Sized, U: Unsigned, S: Separator>(
    value: &T
) -> HexStr<'_, T, U, S>
Expand description

Explicitly construct a newtype to format with.

+HexStr in delog::hex - Rust

Function delog::hex::HexStr

source ·
pub fn HexStr<T: ?Sized, U: Unsigned, S: Separator>(
+    value: &T
+) -> HexStr<'_, T, U, S>
Expand description

Explicitly construct a newtype to format with.

The first generic parameter specifies the block size in bytes, the second parameter the separator string.

This function is just here for documentation of what the hex_str! macro @@ -22,4 +24,4 @@ does internally (using the undocumented typeint! and typesep! let hex_str = HexStr::<_, U3, Pipe>(four_bytes); assert_eq!(format!("{}", hex_str), "07A1FF|C7");

-
\ No newline at end of file + \ No newline at end of file diff --git a/delog/hex/index.html b/delog/hex/index.html index ebed0ab..533077d 100644 --- a/delog/hex/index.html +++ b/delog/hex/index.html @@ -1,4 +1,4 @@ -delog::hex - Rust

Module delog::hex

source ·
Expand description

Convenient Display and other traits for binary data.

+delog::hex - Rust

Module delog::hex

source ·
Expand description

Convenient Display and other traits for binary data.

Standard Rust uses the fmt::UpperHex and LowerHex traits to implement hexadecimal representations for use in format strings. For instance, format_args!("{:02X?}", &[7, 0xA1, 0xFF]) produces the string "[07, A1, FF]".

@@ -22,5 +22,5 @@ for additional newtypes that can be used.

assert_eq!(format!("{:>3x}", hex_str!(data)), "..a1 ff c7"); assert_eq!(format!("{}", hex_str!(data, 2)), "07A1 FFC7"); assert_eq!(format!("{:<3}", hex_str!(data, sep: "|")), "07|A1|FF..");
-

Structs

Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals -during formatting.
A type that represents the integer 1.

Traits

A type that specifies a separator str.
A type that specifies an unsigned integer.

Functions

Explicitly construct a newtype to format with.
\ No newline at end of file +

Structs

  • Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals +during formatting.
  • A type that represents the integer 1.

Traits

  • A type that specifies a separator str.
  • A type that specifies an unsigned integer.

Functions

  • Explicitly construct a newtype to format with.
\ No newline at end of file diff --git a/delog/hex/sidebar-items.js b/delog/hex/sidebar-items.js index 9d08957..d857358 100644 --- a/delog/hex/sidebar-items.js +++ b/delog/hex/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":[["HexStr","Explicitly construct a newtype to format with."]],"struct":[["HexStr","Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals during formatting."],["U1","A type that represents the integer `1`."]],"trait":[["Separator","A type that specifies a separator str."],["Unsigned","A type that specifies an unsigned integer."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["HexStr"],"struct":["HexStr","U1"],"trait":["Separator","Unsigned"]}; \ No newline at end of file diff --git a/delog/hex/struct.HexStr.html b/delog/hex/struct.HexStr.html index bf08763..9d29e0d 100644 --- a/delog/hex/struct.HexStr.html +++ b/delog/hex/struct.HexStr.html @@ -1,13 +1,47 @@ -HexStr in delog::hex - Rust

Struct delog::hex::HexStr

source ·
pub struct HexStr<'a, T: ?Sized, U, S>where
    U: Unsigned,
    S: Separator,
{ - pub value: &'a T, +HexStr in delog::hex - Rust

Struct delog::hex::HexStr

source ·
pub struct HexStr<'a, T: ?Sized, U, S>where
+    U: Unsigned,
+    S: Separator,{
+    pub value: &'a T,
     /* private fields */
-}
Expand description

Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals +}

Expand description

Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals during formatting.

Use the method with the same name to construct this from your byte array or slice, or preferrably the hex_str! or hexstr! macro.

-

Fields§

§value: &'a T

The value to be formatted.

-

Trait Implementations§

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

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Fields§

§value: &'a T

The value to be formatted.

+

Trait Implementations§

source§

impl<T, S, U> Debug for HexStr<'_, T, U, S>where + T: AsRef<[u8]> + ?Sized, + U: Unsigned, + S: Separator,

source§

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

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

impl<T, U, S> Display for HexStr<'_, T, U, S>where + T: AsRef<[u8]> + ?Sized, + U: Unsigned, + S: Separator,

source§

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

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

impl<'a, T, U, S> LowerHex for HexStr<'a, T, U, S>where + T: AsRef<[u8]> + ?Sized, + U: Unsigned, + S: Separator,

source§

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

Formats the value using the given formatter.
source§

impl<'a, T, U, S> UpperHex for HexStr<'a, T, U, S>where + T: AsRef<[u8]> + ?Sized, + U: Unsigned, + S: Separator,

source§

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

Formats the value using the given formatter.

Auto Trait Implementations§

§

impl<'a, T: ?Sized, U, S> RefUnwindSafe for HexStr<'a, T, U, S>where + S: RefUnwindSafe, + T: RefUnwindSafe, + U: RefUnwindSafe,

§

impl<'a, T: ?Sized, U, S> Send for HexStr<'a, T, U, S>where + S: Send, + T: Sync, + U: Send,

§

impl<'a, T: ?Sized, U, S> Sync for HexStr<'a, T, U, S>where + S: Sync, + T: Sync, + U: Sync,

§

impl<'a, T: ?Sized, U, S> Unpin for HexStr<'a, T, U, S>where + S: Unpin, + U: Unpin,

§

impl<'a, T: ?Sized, U, S> UnwindSafe for HexStr<'a, T, U, S>where + S: UnwindSafe, + T: RefUnwindSafe, + U: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/hex/struct.U1.html b/delog/hex/struct.U1.html index 339e64f..f3da2dd 100644 --- a/delog/hex/struct.U1.html +++ b/delog/hex/struct.U1.html @@ -1,6 +1,12 @@ -U1 in delog::hex - Rust

Struct delog::hex::U1

source ·
pub struct U1;
Expand description

A type that represents the integer 1.

-

Trait Implementations§

The actual number.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+U1 in delog::hex - Rust

Struct delog::hex::U1

source ·
pub struct U1;
Expand description

A type that represents the integer 1.

+

Trait Implementations§

source§

impl Unsigned for U1

source§

const N: usize = 1usize

The actual number.

Auto Trait Implementations§

§

impl RefUnwindSafe for U1

§

impl Send for U1

§

impl Sync for U1

§

impl Unpin for U1

§

impl UnwindSafe for U1

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/hex/trait.Separator.html b/delog/hex/trait.Separator.html index eefb54a..ae28cec 100644 --- a/delog/hex/trait.Separator.html +++ b/delog/hex/trait.Separator.html @@ -1,5 +1,5 @@ -Separator in delog::hex - Rust

Trait delog::hex::Separator

source ·
pub trait Separator {
-    const SEPARATOR: &'static str;
-}
Expand description

A type that specifies a separator str.

-

Required Associated Constants§

The actual separator str.

-

Implementors§

\ No newline at end of file +Separator in delog::hex - Rust

Trait delog::hex::Separator

source ·
pub trait Separator {
+    const SEPARATOR: &'static str;
+}
Expand description

A type that specifies a separator str.

+

Required Associated Constants§

source

const SEPARATOR: &'static str

The actual separator str.

+

Implementors§

\ No newline at end of file diff --git a/delog/hex/trait.Unsigned.html b/delog/hex/trait.Unsigned.html index 51befa5..8daf4fe 100644 --- a/delog/hex/trait.Unsigned.html +++ b/delog/hex/trait.Unsigned.html @@ -1,7 +1,7 @@ -Unsigned in delog::hex - Rust

Trait delog::hex::Unsigned

source ·
pub trait Unsigned {
-    const N: usize;
-}
Expand description

A type that specifies an unsigned integer.

+Unsigned in delog::hex - Rust

Trait delog::hex::Unsigned

source ·
pub trait Unsigned {
+    const N: usize;
+}
Expand description

A type that specifies an unsigned integer.

We use this instead of typenum as the latter currently lacks a mapping from usize to the associated type.

-

Required Associated Constants§

The actual number.

-

Implementors§

\ No newline at end of file +

Required Associated Constants§

source

const N: usize

The actual number.

+

Implementors§

source§

impl Unsigned for U1

source§

const N: usize = 1usize

\ No newline at end of file diff --git a/delog/index.html b/delog/index.html index 94df6e9..ae0badd 100644 --- a/delog/index.html +++ b/delog/index.html @@ -1,4 +1,4 @@ -delog - Rust

Crate delog

source ·
Expand description

Compile-time configurable deferred logging (for printf()-debugging aka tracing)

+delog - Rust

Crate delog

source ·
Expand description

Compile-time configurable deferred logging (for printf()-debugging aka tracing)

This is an implementation of the log::Log trait, suitable for use in both embedded and desktop environments.

It has two main goals:

@@ -87,4 +87,4 @@ The hope is that the worst case scenario is some slightly messed up log outputs. logs to pend a separate RTIC interrupt handler that blocks until the logs are pushed and read (allowing one to debug the boot process of a firmware), or one might want to just write to RTT (or even semihosting xD) for these, during development.

-

Re-exports

pub use log;

Modules

Convenient Display and other traits for binary data.
The default, minimal renderer, and some helper functions.

Macros

Generate a deferred logger with specified capacity and flushing mechanism.
Generate logging macros that can be gated by library.
Compactly format byte arrays and slices as hexadecimals.
More compactly format byte arrays and slices as hexadecimals.

Structs

The “payload” of a log message.
Statistics on logger usage.

Enums

An enum representing the available verbosity levels of the logger.
An enum representing the available verbosity level filters of the logger.

Traits

Semi-abstract characterization of the deferred loggers that the delog! macro produces.
A way to pass on logs, user supplied.
A way to format logs, user supplied.
Trait for either state or statistics of loggers.
Fallible, panic-free version of the log::Log trait.
TryLog with some usage statistics on top.

Functions

The core “read from circular buffer” method. Marked unsafe to discourage use!
The core “write to circular buffer” method. Marked unsafe to discourage use!
Returns a reference to the logger (as TryLogWithStatistics implementation)
The fallible “write to circular buffer” method. Marked unsafe to discourage use!
\ No newline at end of file +

Re-exports

Modules

  • Convenient Display and other traits for binary data.
  • The default, minimal renderer, and some helper functions.

Macros

  • Generate a deferred logger with specified capacity and flushing mechanism.
  • Generate logging macros that can be gated by library.
  • Compactly format byte arrays and slices as hexadecimals.
  • More compactly format byte arrays and slices as hexadecimals.

Structs

Enums

  • An enum representing the available verbosity levels of the logger.
  • An enum representing the available verbosity level filters of the logger.

Traits

  • Semi-abstract characterization of the deferred loggers that the delog! macro produces.
  • A way to pass on logs, user supplied.
  • A way to format logs, user supplied.
  • Trait for either state or statistics of loggers.
  • Fallible, panic-free version of the log::Log trait.
  • TryLog with some usage statistics on top.

Functions

  • The core “read from circular buffer” method. Marked unsafe to discourage use!
  • The core “write to circular buffer” method. Marked unsafe to discourage use!
  • Returns a reference to the logger (as TryLogWithStatistics implementation)
  • The fallible “write to circular buffer” method. Marked unsafe to discourage use!
\ No newline at end of file diff --git a/delog/macro.delog.html b/delog/macro.delog.html index 47f25ec..b2faa32 100644 --- a/delog/macro.delog.html +++ b/delog/macro.delog.html @@ -1,12 +1,11 @@ -delog in delog - Rust

Macro delog::delog

source ·
macro_rules! delog {
+delog in delog - Rust

Macro delog::delog

source ·
macro_rules! delog {
     ($logger:ident, $capacity:expr, $render_capacity:expr, $flusher:ty) => { ... };
     ($logger:ident, $capacity:expr, $flusher:ty) => { ... };
     ($logger:ident, $capacity:expr, $flusher:ty, renderer: $renderer:ty) => { ... };
     ($logger:ident, $capacity:expr, $render_capacity:expr, $flusher:ty, renderer: $renderer:ty) => { ... };
-}
-
Expand description

Generate a deferred logger with specified capacity and flushing mechanism.

+}
Expand description

Generate a deferred logger with specified capacity and flushing mechanism.

Note that only the final “runner” generates, initializes and flushes such a deferred logger.

Libraries simply make calls to log::log!, or its drop-in replacement delog::log!, and/or its extension delog::log_now!, and/or its alternatives delog::try_log! and delog::try_log_now, and/or the local logging variants local_log!.

-
\ No newline at end of file + \ No newline at end of file diff --git a/delog/macro.generate_macros.html b/delog/macro.generate_macros.html index 694ba53..84194a3 100644 --- a/delog/macro.generate_macros.html +++ b/delog/macro.generate_macros.html @@ -1,9 +1,8 @@ -generate_macros in delog - Rust
macro_rules! generate_macros {
+generate_macros in delog - Rust
macro_rules! generate_macros {
     () => { ... };
-}
-
Expand description

Generate logging macros that can be gated by library.

+}
Expand description

Generate logging macros that can be gated by library.

Realize that these macros are generated in the namespace of the consuming library, the one that actally later makes calls to local_warn! etc.

To see this in action, compile documentation using cargo doc --features example, or inspect the gate-tests/ subdirectory.

-
\ No newline at end of file + \ No newline at end of file diff --git a/delog/macro.hex_str.html b/delog/macro.hex_str.html index 6060f47..1d7a844 100644 --- a/delog/macro.hex_str.html +++ b/delog/macro.hex_str.html @@ -1,10 +1,9 @@ -hex_str in delog - Rust

Macro delog::hex_str

source ·
macro_rules! hex_str {
+hex_str in delog - Rust

Macro delog::hex_str

source ·
macro_rules! hex_str {
     ($array:expr) => { ... };
     ($array:expr, sep: $separator:expr) => { ... };
     ($array:expr, $n:tt) => { ... };
     ($array:expr, $n:tt, sep: $separator:expr) => { ... };
-}
-
Expand description

Compactly format byte arrays and slices as hexadecimals.

+}
Expand description

Compactly format byte arrays and slices as hexadecimals.

The second parameter refers to the number of bytes in a block (separated by spaces).

use delog::hex_str;
@@ -13,4 +12,4 @@
 assert_eq!(format!("{}", hex_str!(four_bytes, 2)), "07A1 FFC7");
 assert_eq!(format!("{}", hex_str!(four_bytes, 2, sep: "|")), "07A1|FFC7");
 assert_eq!(format!("{}", hex_str!(four_bytes, 3)), "07A1FF C7");
-
\ No newline at end of file + \ No newline at end of file diff --git a/delog/macro.hexstr.html b/delog/macro.hexstr.html index 13622ea..1f46f1f 100644 --- a/delog/macro.hexstr.html +++ b/delog/macro.hexstr.html @@ -1,10 +1,9 @@ -hexstr in delog - Rust

Macro delog::hexstr

source ·
macro_rules! hexstr {
+hexstr in delog - Rust

Macro delog::hexstr

source ·
macro_rules! hexstr {
     ($array:expr) => { ... };
-}
-
Expand description

More compactly format byte arrays and slices as hexadecimals.

+}
Expand description

More compactly format byte arrays and slices as hexadecimals.

use delog::hexstr;
 let four_bytes = &[7u8, 0xA1, 255, 0xC7];
 assert_eq!(format!("{}", hexstr!(four_bytes)), "07A1FFC7");
 assert_eq!(format!("{:x}", hexstr!(four_bytes)), "07a1ffc7");
-
\ No newline at end of file + \ No newline at end of file diff --git a/delog/render/fn.default.html b/delog/render/fn.default.html index 72cad7a..80ffcba 100644 --- a/delog/render/fn.default.html +++ b/delog/render/fn.default.html @@ -1,2 +1,2 @@ -default in delog::render - Rust

Function delog::render::default

source ·
pub fn default() -> &'static DefaultRenderer
Expand description

The default, minimal renderer.

-
\ No newline at end of file +default in delog::render - Rust

Function delog::render::default

source ·
pub fn default() -> &'static DefaultRenderer
Expand description

The default, minimal renderer.

+
\ No newline at end of file diff --git a/delog/render/fn.render_arguments.html b/delog/render/fn.render_arguments.html index fcc3da2..d41b1f0 100644 --- a/delog/render/fn.render_arguments.html +++ b/delog/render/fn.render_arguments.html @@ -1,4 +1,4 @@ -render_arguments in delog::render - Rust

Function delog::render::render_arguments

source ·
pub fn render_arguments<'a>(buf: &'a mut [u8], args: Arguments<'_>) -> &'a [u8]
Expand description

For some reason, there seems to be no existing method to easily render +render_arguments in delog::render - Rust

Function delog::render::render_arguments

source ·
pub fn render_arguments<'a>(buf: &'a mut [u8], args: Arguments<'_>) -> &'a [u8]
Expand description

For some reason, there seems to be no existing method to easily render fmt::Arguments in a pre-allocated byte array.

That is what this does.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/delog/render/fn.render_record.html b/delog/render/fn.render_record.html index 70248ec..5664c14 100644 --- a/delog/render/fn.render_record.html +++ b/delog/render/fn.render_record.html @@ -1,2 +1,2 @@ -render_record in delog::render - Rust

Function delog::render::render_record

source ·
pub fn render_record<'a>(buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8]
Expand description

Render record, based on feature flags.

-
\ No newline at end of file +render_record in delog::render - Rust

Function delog::render::render_record

source ·
pub fn render_record<'a>(buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8]
Expand description

Render record, based on feature flags.

+
\ No newline at end of file diff --git a/delog/render/index.html b/delog/render/index.html index ce4f009..23b1af9 100644 --- a/delog/render/index.html +++ b/delog/render/index.html @@ -1,3 +1,3 @@ -delog::render - Rust

Module delog::render

source ·
Expand description

The default, minimal renderer, and some helper functions.

-

Structs

Renders just the record.args().
Renders the record.args(), prefixed by level, target, and file, line if they are some.

Functions

The default, minimal renderer.
For some reason, there seems to be no existing method to easily render -fmt::Arguments in a pre-allocated byte array.
Render record, based on feature flags.
\ No newline at end of file +delog::render - Rust

Module delog::render

source ·
Expand description

The default, minimal renderer, and some helper functions.

+

Structs

Functions

  • The default, minimal renderer.
  • For some reason, there seems to be no existing method to easily render +fmt::Arguments in a pre-allocated byte array.
  • Render record, based on feature flags.
\ No newline at end of file diff --git a/delog/render/sidebar-items.js b/delog/render/sidebar-items.js index 66c6e5b..de60b88 100644 --- a/delog/render/sidebar-items.js +++ b/delog/render/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":[["default","The default, minimal renderer."],["render_arguments","For some reason, there seems to be no existing method to easily render fmt::Arguments in a pre-allocated byte array."],["render_record","Render record, based on feature flags."]],"struct":[["DefaultRenderer","Renders just the `record.args()`."],["RipgrepRenderer","Renders the `record.args()`, prefixed by level, target, and file, line if they are some."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["default","render_arguments","render_record"],"struct":["DefaultRenderer","RipgrepRenderer"]}; \ No newline at end of file diff --git a/delog/render/struct.DefaultRenderer.html b/delog/render/struct.DefaultRenderer.html index 01b84ab..e686f72 100644 --- a/delog/render/struct.DefaultRenderer.html +++ b/delog/render/struct.DefaultRenderer.html @@ -1,7 +1,13 @@ -DefaultRenderer in delog::render - Rust
pub struct DefaultRenderer {}
Expand description

Renders just the record.args().

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Implementor must render record into buf, returning the slice containing the rendered -record. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+DefaultRenderer in delog::render - Rust
pub struct DefaultRenderer {}
Expand description

Renders just the record.args().

+

Trait Implementations§

source§

impl Clone for DefaultRenderer

source§

fn clone(&self) -> DefaultRenderer

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 Renderer for DefaultRenderer

source§

fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8]

Implementor must render record into buf, returning the slice containing the rendered +record.
source§

impl Copy for DefaultRenderer

source§

impl Send for DefaultRenderer

source§

impl Sync for DefaultRenderer

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/render/struct.RipgrepRenderer.html b/delog/render/struct.RipgrepRenderer.html index 2ae4893..1876093 100644 --- a/delog/render/struct.RipgrepRenderer.html +++ b/delog/render/struct.RipgrepRenderer.html @@ -1,7 +1,13 @@ -RipgrepRenderer in delog::render - Rust
pub struct RipgrepRenderer {}
Expand description

Renders the record.args(), prefixed by level, target, and file, line if they are some.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Implementor must render record into buf, returning the slice containing the rendered -record. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+RipgrepRenderer in delog::render - Rust
pub struct RipgrepRenderer {}
Expand description

Renders the record.args(), prefixed by level, target, and file, line if they are some.

+

Trait Implementations§

source§

impl Clone for RipgrepRenderer

source§

fn clone(&self) -> RipgrepRenderer

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 Renderer for RipgrepRenderer

source§

fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8]

Implementor must render record into buf, returning the slice containing the rendered +record.
source§

impl Copy for RipgrepRenderer

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/sidebar-items.js b/delog/sidebar-items.js index 150abef..9579511 100644 --- a/delog/sidebar-items.js +++ b/delog/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["Level","An enum representing the available verbosity levels of the logger."],["LevelFilter","An enum representing the available verbosity level filters of the logger."]],"fn":[["dequeue","The core “read from circular buffer” method. Marked unsafe to discourage use!"],["enqueue","The core “write to circular buffer” method. Marked unsafe to discourage use!"],["logger","Returns a reference to the logger (as `TryLogWithStatistics` implementation)"],["try_enqueue","The fallible “write to circular buffer” method. Marked unsafe to discourage use!"]],"macro":[["delog","Generate a deferred logger with specified capacity and flushing mechanism."],["generate_macros","Generate logging macros that can be gated by library."],["hex_str","Compactly format byte arrays and slices as hexadecimals."],["hexstr","More compactly format byte arrays and slices as hexadecimals."]],"mod":[["hex","Convenient `Display` and other traits for binary data."],["render","The default, minimal renderer, and some helper functions."]],"struct":[["Record","The “payload” of a log message."],["Statistics","Statistics on logger usage."]],"trait":[["Delogger","Semi-abstract characterization of the deferred loggers that the `delog!` macro produces."],["Flusher","A way to pass on logs, user supplied."],["Renderer","A way to format logs, user supplied."],["State","Trait for either state or statistics of loggers."],["TryLog","Fallible, panic-free version of the `log::Log` trait."],["TryLogWithStatistics","TryLog with some usage statistics on top."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["Level","LevelFilter"],"fn":["dequeue","enqueue","logger","try_enqueue"],"macro":["delog","generate_macros","hex_str","hexstr"],"mod":["hex","render"],"struct":["Record","Statistics"],"trait":["Delogger","Flusher","Renderer","State","TryLog","TryLogWithStatistics"]}; \ No newline at end of file diff --git a/delog/struct.Record.html b/delog/struct.Record.html index ddefd66..62d3e11 100644 --- a/delog/struct.Record.html +++ b/delog/struct.Record.html @@ -1,4 +1,4 @@ -Record in delog - Rust

Struct delog::Record

source ·
pub struct Record<'a> { /* private fields */ }
Expand description

The “payload” of a log message.

+Record in delog - Rust

Struct delog::Record

source ·
pub struct Record<'a> { /* private fields */ }
Expand description

The “payload” of a log message.

Use

Record structures are passed as parameters to the log method of the Log trait. Logger implementors manipulate these @@ -11,10 +11,10 @@ These methods are provided as a convenience for users of this structure.

The following example shows a simple logger that displays the level, module path, and message of any Record that is passed to it.

-
struct SimpleLogger;
+
struct SimpleLogger;
 
 impl log::Log for SimpleLogger {
-   fn enabled(&self, metadata: &log::Metadata) -> bool {
+   fn enabled(&self, _metadata: &log::Metadata) -> bool {
        true
    }
 
@@ -30,18 +30,24 @@ module path, and message of any Record that is passed to it.

} fn flush(&self) {} }
-

Implementations§

Returns a new builder.

-

The message body.

-

Metadata about the log directive.

-

The verbosity level of the message.

-

The name of the target of the directive.

-

The module path of the message.

-

The module path of the message, if it is a 'static string.

-

The source file containing the message.

-

The module path of the message, if it is a 'static string.

-

The line containing the message.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Implementations§

source§

impl<'a> Record<'a>

source

pub fn builder() -> RecordBuilder<'a>

Returns a new builder.

+
source

pub fn args(&self) -> &Arguments<'a>

The message body.

+
source

pub fn metadata(&self) -> &Metadata<'a>

Metadata about the log directive.

+
source

pub fn level(&self) -> Level

The verbosity level of the message.

+
source

pub fn target(&self) -> &'a str

The name of the target of the directive.

+
source

pub fn module_path(&self) -> Option<&'a str>

The module path of the message.

+
source

pub fn module_path_static(&self) -> Option<&'static str>

The module path of the message, if it is a 'static string.

+
source

pub fn file(&self) -> Option<&'a str>

The source file containing the message.

+
source

pub fn file_static(&self) -> Option<&'static str>

The module path of the message, if it is a 'static string.

+
source

pub fn line(&self) -> Option<u32>

The line containing the message.

+

Trait Implementations§

source§

impl<'a> Clone for Record<'a>

source§

fn clone(&self) -> Record<'a>

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<'a> Debug for Record<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

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

§

impl<'a> !Send for Record<'a>

§

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

§

impl<'a> Unpin for Record<'a>

§

impl<'a> !UnwindSafe for Record<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/struct.Statistics.html b/delog/struct.Statistics.html index 91e5320..b627e4a 100644 --- a/delog/struct.Statistics.html +++ b/delog/struct.Statistics.html @@ -1,17 +1,23 @@ -Statistics in delog - Rust

Struct delog::Statistics

source ·
pub struct Statistics {
-    pub attempts: usize,
-    pub successes: usize,
-    pub flushes: usize,
-    pub read: usize,
-    pub written: usize,
-}
Expand description

Statistics on logger usage.

-

Fields§

§attempts: usize

How often was one of the logging macros called.

-
§successes: usize

How often was one of the logging macros called without early exit (e.g., buffer not full)

-
§flushes: usize

How often was the flusher called.

-
§read: usize

How many bytes were flushed so far.

-
§written: usize

How many bytes were logged so far.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+Statistics in delog - Rust

Struct delog::Statistics

source ·
pub struct Statistics {
+    pub attempts: usize,
+    pub successes: usize,
+    pub flushes: usize,
+    pub read: usize,
+    pub written: usize,
+}
Expand description

Statistics on logger usage.

+

Fields§

§attempts: usize

How often was one of the logging macros called.

+
§successes: usize

How often was one of the logging macros called without early exit (e.g., buffer not full)

+
§flushes: usize

How often was the flusher called.

+
§read: usize

How many bytes were flushed so far.

+
§written: usize

How many bytes were logged so far.

+

Trait Implementations§

source§

impl Clone for Statistics

source§

fn clone(&self) -> Statistics

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 Statistics

source§

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

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

impl Copy for Statistics

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/delog/trait.Delogger.html b/delog/trait.Delogger.html index 220e196..321fd54 100644 --- a/delog/trait.Delogger.html +++ b/delog/trait.Delogger.html @@ -1,19 +1,21 @@ -Delogger in delog - Rust

Trait delog::Delogger

source ·
pub unsafe trait Delogger: Log + TryLog + State<&'static AtomicUsize> {
-    fn buffer(&self) -> &'static mut [u8];
-    fn claimed(&self) -> &'static AtomicUsize;
-    fn flush(&self, logs: &str);
-    fn render(&self, record: &Record<'_>) -> &'static [u8];
+Delogger in delog - Rust

Trait delog::Delogger

source ·
pub unsafe trait Delogger: Log + TryLog + State<&'static AtomicUsize> {
+    // Required methods
+    fn buffer(&self) -> &'static mut [u8];
+    fn claimed(&self) -> &'static AtomicUsize;
+    fn flush(&self, logs: &str);
+    fn render(&self, record: &Record<'_>) -> &'static [u8];
 
-    fn capacity(&self) -> usize { ... }
-}
Expand description

Semi-abstract characterization of the deferred loggers that the delog! macro produces.

+ // Provided method + fn capacity(&self) -> usize { ... } +}
Expand description

Semi-abstract characterization of the deferred loggers that the delog! macro produces.

Safety

This trait is markes “unsafe” to signal that users should never (need to) “write their own”, but always go through the delog! macro.

The user has access to the global logger via delog::logger(), but only as TryLog/Log implementation, not with this direct access to implementation details.

-

Required Methods§

the underlying buffer

-

How many characters were claimed so far.

-

Call the flusher.

-

Actually render the arguments (via internal static buffer).

-

Provided Methods§

Capacity of circular buffer.

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn buffer(&self) -> &'static mut [u8]

the underlying buffer

+
source

fn claimed(&self) -> &'static AtomicUsize

How many characters were claimed so far.

+
source

fn flush(&self, logs: &str)

Call the flusher.

+
source

fn render(&self, record: &Record<'_>) -> &'static [u8]

Actually render the arguments (via internal static buffer).

+

Provided Methods§

source

fn capacity(&self) -> usize

Capacity of circular buffer.

+

Implementors§

\ No newline at end of file diff --git a/delog/trait.Flusher.html b/delog/trait.Flusher.html index b8654f5..d8d617b 100644 --- a/delog/trait.Flusher.html +++ b/delog/trait.Flusher.html @@ -1,8 +1,9 @@ -Flusher in delog - Rust

Trait delog::Flusher

source ·
pub trait Flusher: Debug + Send {
-    fn flush(&self, logs: &str);
-}
Expand description

A way to pass on logs, user supplied.

+Flusher in delog - Rust

Trait delog::Flusher

source ·
pub trait Flusher: Debug + Send {
+    // Required method
+    fn flush(&self, logs: &str);
+}
Expand description

A way to pass on logs, user supplied.

In embedded, this is intended to pend an interrupt to send the logs off via (USB) serial, semihosting, or similar.

On PC, typical implemenation will just println! or eprintln!

-

Required Methods§

Implementor must handle passed log &str in some hopefully useful way.

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn flush(&self, logs: &str)

Implementor must handle passed log &str in some hopefully useful way.

+

Implementors§

\ No newline at end of file diff --git a/delog/trait.Renderer.html b/delog/trait.Renderer.html index 7d4c2b6..54fef94 100644 --- a/delog/trait.Renderer.html +++ b/delog/trait.Renderer.html @@ -1,6 +1,7 @@ -Renderer in delog - Rust

Trait delog::Renderer

source ·
pub trait Renderer: Send + Sync {
-    fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8];
-}
Expand description

A way to format logs, user supplied.

-

Required Methods§

Implementor must render record into buf, returning the slice containing the rendered +Renderer in delog - Rust

Trait delog::Renderer

source ·
pub trait Renderer: Send + Sync {
+    // Required method
+    fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8];
+}
Expand description

A way to format logs, user supplied.

+

Required Methods§

source

fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8]

Implementor must render record into buf, returning the slice containing the rendered record.

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/delog/trait.State.html b/delog/trait.State.html index 2ccffd6..d11b068 100644 --- a/delog/trait.State.html +++ b/delog/trait.State.html @@ -1,13 +1,14 @@ -State in delog - Rust

Trait delog::State

source ·
pub trait State<T> {
+State in delog - Rust

Trait delog::State

source ·
pub trait State<T> {
+    // Required methods
     fn attempts(&self) -> T;
     fn successes(&self) -> T;
     fn flushes(&self) -> T;
     fn read(&self) -> T;
     fn written(&self) -> T;
-}
Expand description

Trait for either state or statistics of loggers.

-

Required Methods§

How often was one of the logging macros called.

-

How often was one of the logging macros called without early exit (e.g., buffer not full)

-

How often was the flusher called.

-

How many bytes were flushed so far.

-

How many bytes were logged so far.

-

Implementors§

\ No newline at end of file +}
Expand description

Trait for either state or statistics of loggers.

+

Required Methods§

source

fn attempts(&self) -> T

How often was one of the logging macros called.

+
source

fn successes(&self) -> T

How often was one of the logging macros called without early exit (e.g., buffer not full)

+
source

fn flushes(&self) -> T

How often was the flusher called.

+
source

fn read(&self) -> T

How many bytes were flushed so far.

+
source

fn written(&self) -> T

How many bytes were logged so far.

+

Implementors§

\ No newline at end of file diff --git a/delog/trait.TryLog.html b/delog/trait.TryLog.html index e0eb1d4..0f0bd27 100644 --- a/delog/trait.TryLog.html +++ b/delog/trait.TryLog.html @@ -1,10 +1,11 @@ -TryLog in delog - Rust

Trait delog::TryLog

source ·
pub trait TryLog: Log {
-    fn try_log(&self, _: &Record<'_>) -> Result<(), ()>;
-}
Expand description

Fallible, panic-free version of the log::Log trait.

+TryLog in delog - Rust

Trait delog::TryLog

source ·
pub trait TryLog: Log {
+    // Required method
+    fn try_log(&self, _: &Record<'_>) -> Result<(), ()>;
+}
Expand description

Fallible, panic-free version of the log::Log trait.

The intention is actually that implementors of this trait also implement log::Log in a panic-free fashion, and simply drop logs that can’t be logged. Because, if the user can handle the error, they would be using the fallible macros, and if not, they most likely do not want to crash.

-

Required Methods§

Fallible logging call (fails when buffer is full)

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn try_log(&self, _: &Record<'_>) -> Result<(), ()>

Fallible logging call (fails when buffer is full)

+

Implementors§

\ No newline at end of file diff --git a/delog/trait.TryLogWithStatistics.html b/delog/trait.TryLogWithStatistics.html index 23c5562..218b497 100644 --- a/delog/trait.TryLogWithStatistics.html +++ b/delog/trait.TryLogWithStatistics.html @@ -1,5 +1,6 @@ -TryLogWithStatistics in delog - Rust
pub trait TryLogWithStatistics: TryLog + State<usize> {
+TryLogWithStatistics in delog - Rust
pub trait TryLogWithStatistics: TryLog + State<usize> {
+    // Provided method
     fn statistics(&self) -> Statistics { ... }
-}
Expand description

TryLog with some usage statistics on top.

-

Provided Methods§

Read out statistics on logger usage.

-

Implementors§

\ No newline at end of file +}
Expand description

TryLog with some usage statistics on top.

+

Provided Methods§

source

fn statistics(&self) -> Statistics

Read out statistics on logger usage.

+

Implementors§

\ No newline at end of file diff --git a/flexiber/all.html b/flexiber/all.html index 659cd9c..054268f 100644 --- a/flexiber/all.html +++ b/flexiber/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/flexiber/derive.Decodable.html b/flexiber/derive.Decodable.html index 331ed8f..3b7c4ed 100644 --- a/flexiber/derive.Decodable.html +++ b/flexiber/derive.Decodable.html @@ -1,9 +1,9 @@ -Decodable in flexiber - Rust

Derive Macro flexiber::Decodable

source ·
#[derive(Decodable)]
+Decodable in flexiber - Rust

Derive Macro flexiber::Decodable

source ·
#[derive(Decodable)]
 {
     // Attributes available to this derive:
     #[tlv]
 }
-
Expand description

Derive the Decodable trait on a struct.

+
Expand description

Derive the Decodable trait on a struct.

See toplevel documentation for the flexiber_derive crate for more information about how to use this macro.

-
\ No newline at end of file + \ No newline at end of file diff --git a/flexiber/derive.Encodable.html b/flexiber/derive.Encodable.html index 8cc994a..d487286 100644 --- a/flexiber/derive.Encodable.html +++ b/flexiber/derive.Encodable.html @@ -1,9 +1,9 @@ -Encodable in flexiber - Rust

Derive Macro flexiber::Encodable

source ·
#[derive(Encodable)]
+Encodable in flexiber - Rust

Derive Macro flexiber::Encodable

source ·
#[derive(Encodable)]
 {
     // Attributes available to this derive:
     #[tlv]
 }
-
Expand description

Derive the Encodable trait on a struct.

+
Expand description

Derive the Encodable trait on a struct.

See toplevel documentation for the flexiber_derive crate for more information about how to use this macro.

-
\ No newline at end of file + \ No newline at end of file diff --git a/flexiber/enum.Class.html b/flexiber/enum.Class.html index 09fb68d..4ca16d0 100644 --- a/flexiber/enum.Class.html +++ b/flexiber/enum.Class.html @@ -1,14 +1,19 @@ -Class in flexiber - Rust

Enum flexiber::Class

source ·
#[repr(u8)]
-pub enum Class {
+Class in flexiber - Rust

Enum flexiber::Class

source ·
#[repr(u8)]
pub enum Class { Universal, Application, Context, Private, -}
Expand description

Class of BER tag.

-

Variants§

§

Universal

§

Application

§

Context

§

Private

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+}
Expand description

Class of BER tag.

+

Variants§

§

Universal

§

Application

§

Context

§

Private

Trait Implementations§

source§

impl Clone for Class

source§

fn clone(&self) -> Class

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 Class

source§

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

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

impl PartialEq<Class> for Class

source§

fn eq(&self, other: &Class) -> 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 TryFrom<u8> for Class

§

type Error = Error

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

fn try_from(value: u8) -> Result<Self>

Performs the conversion.
source§

impl Copy for Class

source§

impl Eq for Class

source§

impl StructuralEq for Class

source§

impl StructuralPartialEq for Class

Auto Trait Implementations§

§

impl RefUnwindSafe for Class

§

impl Send for Class

§

impl Sync for Class

§

impl Unpin for Class

§

impl UnwindSafe for Class

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/enum.ErrorKind.html b/flexiber/enum.ErrorKind.html index 7f10d5f..d69e5ef 100644 --- a/flexiber/enum.ErrorKind.html +++ b/flexiber/enum.ErrorKind.html @@ -1,11 +1,10 @@ -ErrorKind in flexiber - Rust

Enum flexiber::ErrorKind

source ·
#[non_exhaustive]
-pub enum ErrorKind {
+ErrorKind in flexiber - Rust

Enum flexiber::ErrorKind

source ·
#[non_exhaustive]
pub enum ErrorKind { Failed, InvalidClass { - value: u8, + value: u8, }, InvalidTag { - byte: u8, + byte: u8, }, InvalidLength, Length { @@ -23,40 +22,46 @@ pub enum ErrorKind { actual: Length, }, UnexpectedTag { - expected: Option<Tag>, + expected: Option<Tag>, actual: Tag, }, UnsupportedTagSize, -}
Expand description

Error type.

-

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Failed

Operation failed due to previous error

-
§

InvalidClass

Fields

§value: u8

Class has more than 2 bytes

-
§

InvalidTag

Fields

§byte: u8

Raw byte value of the tag

+}
Expand description

Error type.

+

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Failed

Operation failed due to previous error

+
§

InvalidClass

Fields

§value: u8

Class has more than 2 bytes

+
§

InvalidTag

Fields

§byte: u8

Raw byte value of the tag

Invalid tag

§

InvalidLength

Length greater than u16::MAX

-
§

Length

Fields

§tag: Tag

Tag type of the value being decoded

+
§

Length

Fields

§tag: Tag

Tag type of the value being decoded

Incorrect length for a given field

§

Overflow

Integer overflow occurred (library bug!)

§

Overlength

Message is longer than BER-TLV’s limits support

-
§

TrailingData

Fields

§decoded: Length

Length of the decoded data

-
§remaining: Length

Total length of the remaining data left in the buffer

+
§

TrailingData

Fields

§decoded: Length

Length of the decoded data

+
§remaining: Length

Total length of the remaining data left in the buffer

Undecoded trailing data at end of message

§

Truncated

Unexpected end-of-message/nested field when decoding

-
§

Underlength

Fields

§expected: Length

Expected length

-
§actual: Length

Actual length

+
§

Underlength

Fields

§expected: Length

Expected length

+
§actual: Length

Actual length

Encoded message is shorter than the expected length (i.e. an Encodable impl on a particular type has a buggy encoded_length)

-
§

UnexpectedTag

Fields

§expected: Option<Tag>

Tag the decoder was expecting (if there is a single such tag).

+
§

UnexpectedTag

Fields

§expected: Option<Tag>

Tag the decoder was expecting (if there is a single such tag).

None if multiple tags are expected/allowed, but the actual tag does not match any of them.

-
§actual: Tag

Actual tag encountered in the message

+
§actual: Tag

Actual tag encountered in the message

Unexpected tag

§

UnsupportedTagSize

Tag does not fit in 3 bytes

-

Implementations§

Annotate an ErrorKind with context about where it occurred, +

Implementations§

source§

impl ErrorKind

source

pub fn at(self, position: Length) -> Error

Annotate an ErrorKind with context about where it occurred, returning an error.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for ErrorKind

source§

fn clone(&self) -> ErrorKind

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 ErrorKind

source§

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

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

impl Display for ErrorKind

source§

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

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

impl From<ErrorKind> for Error

source§

fn from(kind: ErrorKind) -> Error

Converts to this type from the input type.
source§

impl PartialEq<ErrorKind> for ErrorKind

source§

fn eq(&self, other: &ErrorKind) -> 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 Copy for ErrorKind

source§

impl Eq for ErrorKind

source§

impl StructuralEq for ErrorKind

source§

impl StructuralPartialEq for ErrorKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/index.html b/flexiber/index.html index fb66bb3..cbe1404 100644 --- a/flexiber/index.html +++ b/flexiber/index.html @@ -1,4 +1,4 @@ -flexiber - Rust

Crate flexiber

source ·
Expand description

flexiber

+flexiber - Rust

Crate flexiber

source ·
Expand description

flexiber

Implementation of the BER-TLV serialization format from ISO 7816-4:2005.

ITU-T X.690 (08/2015) defines the BER, CER and DER encoding rules for ASN.1

The exact same document is ISO/IET 8825-1, which is freely available, @@ -8,5 +8,5 @@ inconveniently packed as a single PDF in a ZIP file :)

The core idea taken from der is to have Encodable require an encoded_length method. By calling this recursively in a first pass, allocations required in other approaches are avoided.

-

Structs

BER-TLV decoder.
BER-TLV encoder.
Error type.
BER-TLV-encoded length.
These are tags like in SIMPLE-TLV.
Slice of at most Length::max() bytes.
The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid.
BER-TLV data object.

Enums

Class of BER tag.
Error type.

Traits

Multiple encodables in a container.
Decoding trait.
Encoding trait.
This is the common trait that types to be used as tags -are supposed to implement.
Types with an associated BER-TLV Tag.

Type Definitions

Result type.
Raw BER-TLV data object TaggedValue<Slice<'_>>.

Derive Macros

Derive the Decodable trait on a struct.
Derive the Encodable trait on a struct.
\ No newline at end of file +

Structs

  • BER-TLV decoder.
  • BER-TLV encoder.
  • Error type.
  • BER-TLV-encoded length.
  • These are tags like in SIMPLE-TLV.
  • Slice of at most Length::max() bytes.
  • The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid.
  • BER-TLV data object.

Enums

Traits

  • Multiple encodables in a container.
  • Decoding trait.
  • Encoding trait.
  • This is the common trait that types to be used as tags +are supposed to implement.
  • Types with an associated BER-TLV Tag.

Type Aliases

Derive Macros

\ No newline at end of file diff --git a/flexiber/sidebar-items.js b/flexiber/sidebar-items.js index e9d5870..6bb9836 100644 --- a/flexiber/sidebar-items.js +++ b/flexiber/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"derive":[["Decodable","Derive the `Decodable` trait on a struct."],["Encodable","Derive the `Encodable` trait on a struct."]],"enum":[["Class","Class of BER tag."],["ErrorKind","Error type."]],"struct":[["Decoder","BER-TLV decoder."],["Encoder","BER-TLV encoder."],["Error","Error type."],["Length","BER-TLV-encoded length."],["SimpleTag","These are tags like in SIMPLE-TLV."],["Slice","Slice of at most `Length::max()` bytes."],["Tag","The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid."],["TaggedValue","BER-TLV data object."]],"trait":[["Container","Multiple encodables in a container."],["Decodable","Decoding trait."],["Encodable","Encoding trait."],["TagLike","This is the common trait that types to be used as tags are supposed to implement."],["Tagged","Types with an associated BER-TLV [`Tag`]."]],"type":[["Result","Result type."],["TaggedSlice","Raw BER-TLV data object `TaggedValue>`."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"derive":["Decodable","Encodable"],"enum":["Class","ErrorKind"],"struct":["Decoder","Encoder","Error","Length","SimpleTag","Slice","Tag","TaggedValue"],"trait":["Container","Decodable","Encodable","TagLike","Tagged"],"type":["Result","TaggedSlice"]}; \ No newline at end of file diff --git a/flexiber/struct.Decoder.html b/flexiber/struct.Decoder.html index 0f30b03..77b182c 100644 --- a/flexiber/struct.Decoder.html +++ b/flexiber/struct.Decoder.html @@ -1,18 +1,30 @@ -Decoder in flexiber - Rust

Struct flexiber::Decoder

source ·
pub struct Decoder<'a> { /* private fields */ }
Expand description

BER-TLV decoder.

-

Implementations§

Create a new decoder for the given byte slice.

-

Decode a value which impls the Decodable trait.

-

Decode a TaggedValue with tag checked to be as expected, returning the value

-

Decode a TaggedSlice with tag checked to be as expected, returning the value

-

Return an error with the given ErrorKind, annotating it with +Decoder in flexiber - Rust

Struct flexiber::Decoder

source ·
pub struct Decoder<'a> { /* private fields */ }
Expand description

BER-TLV decoder.

+

Implementations§

source§

impl<'a> Decoder<'a>

source

pub fn new(bytes: &'a [u8]) -> Self

Create a new decoder for the given byte slice.

+
source

pub fn decode<T: Decodable<'a>>(&mut self) -> Result<T>

Decode a value which impls the Decodable trait.

+
source

pub fn decode_tagged_value<T: Decodable<'a> + TagLike, V: Decodable<'a>>( + &mut self, + tag: T +) -> Result<V>

Decode a TaggedValue with tag checked to be as expected, returning the value

+
source

pub fn decode_tagged_slice<T: Decodable<'a> + TagLike>( + &mut self, + tag: T +) -> Result<&'a [u8]>

Decode a TaggedSlice with tag checked to be as expected, returning the value

+
source

pub fn error<T>(&mut self, kind: ErrorKind) -> Result<T>

Return an error with the given ErrorKind, annotating it with context about where the error occurred.

-

Did the decoding operation fail due to an error?

-

Finish decoding, returning the given value if there is no +

source

pub fn is_failed(&self) -> bool

Did the decoding operation fail due to an error?

+
source

pub fn finish<T>(self, value: T) -> Result<T>

Finish decoding, returning the given value if there is no remaining data, or an error otherwise

-

Have we decoded all of the bytes in this Decoder?

+
source

pub fn is_finished(&self) -> bool

Have we decoded all of the bytes in this Decoder?

Returns false if we’re not finished decoding or if a fatal error has occurred.

-

Trait Implementations§

Formats the value using the given formatter. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl<'a> Debug for Decoder<'a>

source§

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

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

impl<'a> From<&'a [u8]> for Decoder<'a>

source§

fn from(bytes: &'a [u8]) -> Decoder<'a>

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Decoder<'a>

§

impl<'a> Send for Decoder<'a>

§

impl<'a> Sync for Decoder<'a>

§

impl<'a> Unpin for Decoder<'a>

§

impl<'a> UnwindSafe for Decoder<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.Encoder.html b/flexiber/struct.Encoder.html index bf81ebd..e460c73 100644 --- a/flexiber/struct.Encoder.html +++ b/flexiber/struct.Encoder.html @@ -1,15 +1,28 @@ -Encoder in flexiber - Rust

Struct flexiber::Encoder

source ·
pub struct Encoder<'a> { /* private fields */ }
Expand description

BER-TLV encoder.

-

Implementations§

Create a new encoder with the given byte slice as a backing buffer.

-

Encode a value which impls the Encodable trait.

-

Return an error with the given ErrorKind, annotating it with +Encoder in flexiber - Rust

Struct flexiber::Encoder

source ·
pub struct Encoder<'a> { /* private fields */ }
Expand description

BER-TLV encoder.

+

Implementations§

source§

impl<'a> Encoder<'a>

source

pub fn new(bytes: &'a mut [u8]) -> Self

Create a new encoder with the given byte slice as a backing buffer.

+
source

pub fn encode<T: Encodable>(&mut self, encodable: &T) -> Result<()>

Encode a value which impls the Encodable trait.

+
source

pub fn error<T>(&mut self, kind: ErrorKind) -> Result<T>

Return an error with the given ErrorKind, annotating it with context about where the error occurred.

-

Did the decoding operation fail due to an error?

-

Finish encoding to the buffer, returning a slice containing the data +

source

pub fn is_failed(&self) -> bool

Did the decoding operation fail due to an error?

+
source

pub fn finish(self) -> Result<&'a [u8]>

Finish encoding to the buffer, returning a slice containing the data written to the buffer.

-

Encode a collection of values which impl the Encodable trait under a given tag.

-

Encode a collection of values which impl the Encodable trait under a given tag.

-

Trait Implementations§

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+
source

pub fn encode_tagged_collection( + &mut self, + tag: Tag, + encodables: &[&dyn Encodable] +) -> Result<()>

Encode a collection of values which impl the Encodable trait under a given tag.

+
source

pub fn encode_untagged_collection( + &mut self, + encodables: &[&dyn Encodable] +) -> Result<()>

Encode a collection of values which impl the Encodable trait under a given tag.

+

Trait Implementations§

source§

impl<'a> Debug for Encoder<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Encoder<'a>

§

impl<'a> Send for Encoder<'a>

§

impl<'a> Sync for Encoder<'a>

§

impl<'a> Unpin for Encoder<'a>

§

impl<'a> !UnwindSafe for Encoder<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.Error.html b/flexiber/struct.Error.html index 719f113..a87fc13 100644 --- a/flexiber/struct.Error.html +++ b/flexiber/struct.Error.html @@ -1,13 +1,19 @@ -Error in flexiber - Rust

Struct flexiber::Error

source ·
pub struct Error { /* private fields */ }
Expand description

Error type.

-

Implementations§

Create a new Error

-

Get the ErrorKind which occurred.

-

Get the position inside of the message where the error occurred.

-

For errors occurring inside of a nested message, extend the position +Error in flexiber - Rust

Struct flexiber::Error

source ·
pub struct Error { /* private fields */ }
Expand description

Error type.

+

Implementations§

source§

impl Error

source

pub fn new(kind: ErrorKind, position: Length) -> Error

Create a new Error

+
source

pub fn kind(self) -> ErrorKind

Get the ErrorKind which occurred.

+
source

pub fn position(self) -> Option<Length>

Get the position inside of the message where the error occurred.

+
source

pub fn nested(self, nested_position: Length) -> Self

For errors occurring inside of a nested message, extend the position count by the location where the nested message occurs.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

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 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 From<ErrorKind> for Error

source§

fn from(kind: ErrorKind) -> Error

Converts to this type from the input type.
source§

impl From<Infallible> for Error

source§

fn from(_: Infallible) -> Error

Converts to this type from the input type.
source§

impl PartialEq<Error> for Error

source§

fn eq(&self, other: &Error) -> 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 Copy for Error

source§

impl Eq for Error

source§

impl StructuralEq for Error

source§

impl StructuralPartialEq for Error

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 Twhere + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.Length.html b/flexiber/struct.Length.html index 31f21e9..0b3441f 100644 --- a/flexiber/struct.Length.html +++ b/flexiber/struct.Length.html @@ -1,4 +1,4 @@ -Length in flexiber - Rust

Struct flexiber::Length

source ·
pub struct Length(_);
Expand description

BER-TLV-encoded length.

+Length in flexiber - Rust

Struct flexiber::Length

source ·
pub struct Length(/* private fields */);
Expand description

BER-TLV-encoded length.

By definition, in the range 0..=65535

The length field consists of one or three consecutive bytes.

    @@ -7,17 +7,26 @@ zero to 254.
  • If the first byte is 0xFF, then the length field consists of the subsequent two bytes interpreted as big-endian integer, with any value from zero to 65,535.
-

Implementations§

Return a length of 0.

-

Get the maximum length supported by BER-TLV: 65,535.

-

Convert length to usize.

-

Trait Implementations§

The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
The resulting type after applying the + operator.
Performs the + operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Attempt to decode this message using the provided decoder.
Parse Self from the provided byte slice.
Returns the “default value” for a type. Read more
Formats the value using the given formatter. Read more
Compute the length of this value in bytes when encoded as BER-TLV
Encode this value as BER-TLV using the provided Encoder.
Encode this value to the provided byte slice, returning a sub-slice -containing the encoded message. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

Calculate the sum of the encoded lengths of the encodables.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Implementations§

source§

impl Length

source

pub const fn zero() -> Self

Return a length of 0.

+
source

pub const fn max() -> usize

Get the maximum length supported by BER-TLV: 65,535.

+
source

pub fn to_usize(self) -> usize

Convert length to usize.

+

Trait Implementations§

source§

impl Add<Length> for Length

§

type Output = Result<Length, Error>

The resulting type after applying the + operator.
source§

fn add(self, other: Self) -> Result<Self>

Performs the + operation. Read more
source§

impl Add<Length> for Result<Length>

§

type Output = Result<Length, Error>

The resulting type after applying the + operator.
source§

fn add(self, other: Length) -> Self

Performs the + operation. Read more
source§

impl Add<u16> for Length

§

type Output = Result<Length, Error>

The resulting type after applying the + operator.
source§

fn add(self, other: u16) -> Result<Self>

Performs the + operation. Read more
source§

impl Add<u8> for Length

§

type Output = Result<Length, Error>

The resulting type after applying the + operator.
source§

fn add(self, other: u8) -> Result<Self>

Performs the + operation. Read more
source§

impl Add<usize> for Length

§

type Output = Result<Length, Error>

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Result<Self>

Performs the + operation. Read more
source§

impl Clone for Length

source§

fn clone(&self) -> Length

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 Length

source§

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

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

impl Decodable<'_> for Length

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Length>

Attempt to decode this message using the provided decoder.
source§

fn from_bytes(bytes: &'a [u8]) -> Result<Self>

Parse Self from the provided byte slice.
source§

impl Default for Length

source§

fn default() -> Length

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

impl Display for Length

source§

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

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

impl Encodable for Length

source§

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV
source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.
source§

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice +containing the encoded message.
source§

impl From<Length> for u16

source§

fn from(len: Length) -> u16

Converts to this type from the input type.
source§

impl From<Length> for usize

source§

fn from(len: Length) -> usize

Converts to this type from the input type.
source§

impl From<u16> for Length

source§

fn from(len: u16) -> Length

Converts to this type from the input type.
source§

impl From<u8> for Length

source§

fn from(len: u8) -> Length

Converts to this type from the input type.
source§

impl Ord for Length

source§

fn cmp(&self, other: &Length) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Length> for Length

source§

fn eq(&self, other: &Length) -> 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 PartialOrd<Length> for Length

source§

fn partial_cmp(&self, other: &Length) -> 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
source§

impl<'a> TryFrom<&'a [&'a dyn Encodable]> for Length

Calculate the sum of the encoded lengths of the encodables.

+
§

type Error = Error

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

fn try_from(encodables: &[&dyn Encodable]) -> Result<Length>

Performs the conversion.
source§

impl TryFrom<usize> for Length

§

type Error = Error

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

fn try_from(len: usize) -> Result<Length>

Performs the conversion.
source§

impl Copy for Length

source§

impl Eq for Length

source§

impl StructuralEq for Length

source§

impl StructuralPartialEq for Length

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.SimpleTag.html b/flexiber/struct.SimpleTag.html index 9a662e5..71b28ef 100644 --- a/flexiber/struct.SimpleTag.html +++ b/flexiber/struct.SimpleTag.html @@ -1,14 +1,20 @@ -SimpleTag in flexiber - Rust

Struct flexiber::SimpleTag

source ·
pub struct SimpleTag(_);
Expand description

These are tags like in SIMPLE-TLV.

+SimpleTag in flexiber - Rust

Struct flexiber::SimpleTag

source ·
pub struct SimpleTag(/* private fields */);
Expand description

These are tags like in SIMPLE-TLV.

The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid.

The use case is that PIV (FIPS 201) data objects generally use BER-TLV, but, for historical reasons, label entries with “simple” tags (in particular, tag numbers larger than 30 are still encoded as single bytes.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Attempt to decode this message using the provided decoder.
Parse Self from the provided byte slice.
Compute the length of this value in bytes when encoded as BER-TLV
Encode this value as BER-TLV using the provided Encoder.
Encode this value to the provided byte slice, returning a sub-slice -containing the encoded message. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
To stick with one Error type, make sure the tag type can somehow -or other be coerced into a BerTag. Read more
Assert that this Tag matches the provided expected tag. Read more
Ergonomic way to get a TaggedValue for a given tag and value
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for SimpleTag

source§

fn clone(&self) -> SimpleTag

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 Decodable<'_> for SimpleTag

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

Attempt to decode this message using the provided decoder.
source§

fn from_bytes(bytes: &'a [u8]) -> Result<Self>

Parse Self from the provided byte slice.
source§

impl Encodable for SimpleTag

source§

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV
source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.
source§

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice +containing the encoded message.
source§

impl PartialEq<SimpleTag> for SimpleTag

source§

fn eq(&self, other: &SimpleTag) -> 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 TagLike for SimpleTag

source§

fn embedding(self) -> Tag

To stick with one Error type, make sure the tag type can somehow +or other be coerced into a BerTag.
source§

fn assert_eq(self, expected: Self) -> Result<Self>

Assert that this Tag matches the provided expected tag. Read more
source§

fn with_value<V>(self, value: V) -> TaggedValue<V, Self>

Ergonomic way to get a TaggedValue for a given tag and value
source§

impl TryFrom<u8> for SimpleTag

§

type Error = Error

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

fn try_from(tag_number: u8) -> Result<Self>

Performs the conversion.
source§

impl Copy for SimpleTag

source§

impl Eq for SimpleTag

source§

impl StructuralEq for SimpleTag

source§

impl StructuralPartialEq for SimpleTag

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.Slice.html b/flexiber/struct.Slice.html index dcd351a..5c4f42e 100644 --- a/flexiber/struct.Slice.html +++ b/flexiber/struct.Slice.html @@ -1,13 +1,19 @@ -Slice in flexiber - Rust

Struct flexiber::Slice

source ·
pub struct Slice<'a> { /* private fields */ }
Expand description

Slice of at most Length::max() bytes.

-

Implementations§

Create a new Slice, ensuring that the provided slice value +Slice in flexiber - Rust

Struct flexiber::Slice

source ·
pub struct Slice<'a> { /* private fields */ }
Expand description

Slice of at most Length::max() bytes.

+

Implementations§

source§

impl<'a> Slice<'a>

source

pub fn new(slice: &'a [u8]) -> Result<Self>

Create a new Slice, ensuring that the provided slice value is shorter than Length::max().

-

Borrow the inner byte slice

-

Get the Length of this Slice

-

Is this Slice empty?

-

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+
source

pub fn as_bytes(&self) -> &'a [u8]

Borrow the inner byte slice

+
source

pub fn length(self) -> Length

Get the Length of this Slice

+
source

pub fn is_empty(self) -> bool

Is this Slice empty?

+

Trait Implementations§

source§

impl AsRef<[u8]> for Slice<'_>

source§

fn as_ref(&self) -> &[u8]

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a> Clone for Slice<'a>

source§

fn clone(&self) -> Slice<'a>

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<'a> Debug for Slice<'a>

source§

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

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

impl<'a> PartialEq<Slice<'a>> for Slice<'a>

source§

fn eq(&self, other: &Slice<'a>) -> 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<'a> Copy for Slice<'a>

source§

impl<'a> Eq for Slice<'a>

source§

impl<'a> StructuralEq for Slice<'a>

source§

impl<'a> StructuralPartialEq for Slice<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Slice<'a>

§

impl<'a> Send for Slice<'a>

§

impl<'a> Sync for Slice<'a>

§

impl<'a> Unpin for Slice<'a>

§

impl<'a> UnwindSafe for Slice<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.Tag.html b/flexiber/struct.Tag.html index 3e533a5..6aaa530 100644 --- a/flexiber/struct.Tag.html +++ b/flexiber/struct.Tag.html @@ -1,14 +1,20 @@ -Tag in flexiber - Rust

Struct flexiber::Tag

source ·
pub struct Tag {
+Tag in flexiber - Rust

Struct flexiber::Tag

source ·
pub struct Tag {
     pub class: Class,
-    pub constructed: bool,
-    pub number: u16,
-}
Expand description

The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid.

-

Fields§

§class: Class§constructed: bool§number: u16

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Attempt to decode this message using the provided decoder.
Parse Self from the provided byte slice.
Formats the value using the given formatter. Read more
Compute the length of this value in bytes when encoded as BER-TLV
Encode this value as BER-TLV using the provided Encoder.
Encode this value to the provided byte slice, returning a sub-slice -containing the encoded message. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
To stick with one Error type, make sure the tag type can somehow -or other be coerced into a BerTag. Read more
Assert that this Tag matches the provided expected tag. Read more
Ergonomic way to get a TaggedValue for a given tag and value
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+ pub constructed: bool, + pub number: u16, +}
Expand description

The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid.

+

Fields§

§class: Class§constructed: bool§number: u16

Implementations§

source§

impl Tag

source

pub const BOOLEAN: Self = _

source

pub const INTEGER: Self = _

source

pub const BIT_STRING: Self = _

source

pub const OCTET_STRING: Self = _

source

pub const NULL: Self = _

source

pub const OBJECT_IDENTIFIER: Self = _

source

pub const UTF8_STRING: Self = _

source

pub const PRINTABLE_STRING: Self = _

source

pub const UTC_TIME: Self = _

source

pub const GENERALIZED_TIME: Self = _

source

pub const SEQUENCE: Self = _

source

pub const SET: Self = _

source

pub fn from(class: Class, constructed: bool, number: u16) -> Self

source

pub const fn universal(number: u16) -> Self

source

pub const fn application(number: u16) -> Self

source

pub const fn context(number: u16) -> Self

source

pub const fn private(number: u16) -> Self

source

pub const fn constructed(self) -> Self

Trait Implementations§

source§

impl Clone for Tag

source§

fn clone(&self) -> Tag

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 Tag

source§

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

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

impl Decodable<'_> for Tag

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

Attempt to decode this message using the provided decoder.
source§

fn from_bytes(bytes: &'a [u8]) -> Result<Self>

Parse Self from the provided byte slice.
source§

impl Display for Tag

source§

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

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

impl Encodable for Tag

source§

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV
source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.
source§

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice +containing the encoded message.
source§

impl PartialEq<Tag> for Tag

source§

fn eq(&self, other: &Tag) -> 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 TagLike for Tag

source§

fn embedding(self) -> Tag

To stick with one Error type, make sure the tag type can somehow +or other be coerced into a BerTag.
source§

fn assert_eq(self, expected: Self) -> Result<Self>

Assert that this Tag matches the provided expected tag. Read more
source§

fn with_value<V>(self, value: V) -> TaggedValue<V, Self>

Ergonomic way to get a TaggedValue for a given tag and value
source§

impl TryFrom<&[u8]> for Tag

§

type Error = Error

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

fn try_from(encoding: &[u8]) -> Result<Self>

Performs the conversion.
source§

impl TryFrom<u8> for Tag

§

type Error = Error

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

fn try_from(encoded_value: u8) -> Result<Self>

Performs the conversion.
source§

impl Copy for Tag

source§

impl Eq for Tag

source§

impl StructuralEq for Tag

source§

impl StructuralPartialEq for Tag

Auto Trait Implementations§

§

impl RefUnwindSafe for Tag

§

impl Send for Tag

§

impl Sync for Tag

§

impl Unpin for Tag

§

impl UnwindSafe for Tag

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/struct.TaggedValue.html b/flexiber/struct.TaggedValue.html index 2ea9ffb..1059ba0 100644 --- a/flexiber/struct.TaggedValue.html +++ b/flexiber/struct.TaggedValue.html @@ -1,16 +1,37 @@ -TaggedValue in flexiber - Rust

Struct flexiber::TaggedValue

source ·
pub struct TaggedValue<V, T = Tag> { /* private fields */ }
Expand description

BER-TLV data object.

-

Implementations§

Create a new tagged slice, checking lengths.

-

Borrow the inner byte slice.

-

Get the length of the inner byte slice.

-

Is the inner byte slice empty?

-

Decode nested values, creating a new Decoder for +TaggedValue in flexiber - Rust

Struct flexiber::TaggedValue

source ·
pub struct TaggedValue<V, T = Tag> { /* private fields */ }
Expand description

BER-TLV data object.

+

Implementations§

source§

impl<V, T> TaggedValue<V, T>where + T: Copy,

source

pub fn new(tag: T, value: V) -> Self

source

pub fn tag(&self) -> T

source§

impl<'a, T> TaggedValue<Slice<'a>, T>where + T: Copy,

source

pub fn from(tag: T, slice: &'a [u8]) -> Result<Self>

Create a new tagged slice, checking lengths.

+
source

pub fn as_bytes(&self) -> &'a [u8]

Borrow the inner byte slice.

+
source

pub fn length(&self) -> Length

Get the length of the inner byte slice.

+
source

pub fn is_empty(&self) -> bool

Is the inner byte slice empty?

+
source

pub fn decode_nested<F, R>(&self, f: F) -> Result<R>where + F: FnOnce(&mut Decoder<'a>) -> Result<R>,

Decode nested values, creating a new Decoder for the data contained in the sequence’s body and passing it to the provided -FnOnce.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Compute the length of this value in bytes when encoded as BER-TLV
Encode this value as BER-TLV using the provided Encoder.
Encode this value to the provided byte slice, returning a sub-slice -containing the encoded message. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+FnOnce.

+

Trait Implementations§

source§

impl<V: Clone, T: Clone> Clone for TaggedValue<V, T>

source§

fn clone(&self) -> TaggedValue<V, T>

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<V: Debug, T: Debug> Debug for TaggedValue<V, T>

source§

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

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

impl<'a, E, T> Encodable for TaggedValue<&'a E, T>where + E: Encodable, + T: Copy + Encodable,

source§

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV
source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.
source§

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice +containing the encoded message.
source§

impl<V: PartialEq, T: PartialEq> PartialEq<TaggedValue<V, T>> for TaggedValue<V, T>

source§

fn eq(&self, other: &TaggedValue<V, 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.
source§

impl<V: Copy, T: Copy> Copy for TaggedValue<V, T>

source§

impl<V: Eq, T: Eq> Eq for TaggedValue<V, T>

source§

impl<V, T> StructuralEq for TaggedValue<V, T>

source§

impl<V, T> StructuralPartialEq for TaggedValue<V, T>

Auto Trait Implementations§

§

impl<V, T> RefUnwindSafe for TaggedValue<V, T>where + T: RefUnwindSafe, + V: RefUnwindSafe,

§

impl<V, T> Send for TaggedValue<V, T>where + T: Send, + V: Send,

§

impl<V, T> Sync for TaggedValue<V, T>where + T: Sync, + V: Sync,

§

impl<V, T> Unpin for TaggedValue<V, T>where + T: Unpin, + V: Unpin,

§

impl<V, T> UnwindSafe for TaggedValue<V, T>where + T: UnwindSafe, + V: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/flexiber/trait.Container.html b/flexiber/trait.Container.html index e012b74..56da403 100644 --- a/flexiber/trait.Container.html +++ b/flexiber/trait.Container.html @@ -1,10 +1,13 @@ -Container in flexiber - Rust

Trait flexiber::Container

source ·
pub trait Container {
-    fn fields<F, T>(&self, f: F) -> Result<T>
    where
        F: FnOnce(&[&dyn Encodable]) -> Result<T>
; -}
Expand description

Multiple encodables in a container.

+Container in flexiber - Rust

Trait flexiber::Container

source ·
pub trait Container {
+    // Required method
+    fn fields<F, T>(&self, f: F) -> Result<T>
+       where F: FnOnce(&[&dyn Encodable]) -> Result<T>;
+}
Expand description

Multiple encodables in a container.

A container implementing Tagged has a blanked implementation of Encodable.

-

Required Methods§

Call the provided function with a slice of Encodable trait objects +

Required Methods§

source

fn fields<F, T>(&self, f: F) -> Result<T>where + F: FnOnce(&[&dyn Encodable]) -> Result<T>,

Call the provided function with a slice of Encodable trait objects representing the fields of this message.

This method uses a callback because structs with fields which aren’t -directly Encodable may need to construct temporary values from +directly Encodable may need to construct temporary values from their fields prior to encoding.

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/flexiber/trait.Decodable.html b/flexiber/trait.Decodable.html index c8d08d1..4d149a7 100644 --- a/flexiber/trait.Decodable.html +++ b/flexiber/trait.Decodable.html @@ -1,12 +1,17 @@ -Decodable in flexiber - Rust

Trait flexiber::Decodable

source ·
pub trait Decodable<'a>: Sized {
+Decodable in flexiber - Rust

Trait flexiber::Decodable

source ·
pub trait Decodable<'a>: Sized {
+    // Required method
     fn decode(decoder: &mut Decoder<'a>) -> Result<Self>;
 
-    fn from_bytes(bytes: &'a [u8]) -> Result<Self> { ... }
-}
Expand description

Decoding trait.

+ // Provided method + fn from_bytes(bytes: &'a [u8]) -> Result<Self> { ... } +}
Expand description

Decoding trait.

Decode out of decoder, which essentially is a slice of bytes.

One way to implement this trait is to implement TryFrom<TaggedSlice<'_>, Error = Error>.

-

Required Methods§

Attempt to decode this message using the provided decoder.

-

Provided Methods§

Parse Self from the provided byte slice.

-

Implementations on Foreign Types§

This implementation is quite gotcha-y, since only one byte is peeked.

+

Required Methods§

source

fn decode(decoder: &mut Decoder<'a>) -> Result<Self>

Attempt to decode this message using the provided decoder.

+

Provided Methods§

source

fn from_bytes(bytes: &'a [u8]) -> Result<Self>

Parse Self from the provided byte slice.

+

Implementations on Foreign Types§

source§

impl Decodable<'_> for [u8; 30]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 22]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 6]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 0]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 29]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 28]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 26]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 13]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 32]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 25]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 1]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 21]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 24]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 27]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 5]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 10]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl<'a, T> Decodable<'a> for Option<T>where + T: Decodable<'a> + Tagged,

This implementation is quite gotcha-y, since only one byte is peeked.

It should evaluate to the desired tag via Tag::try_from(byte)?.

-

Implementors§

\ No newline at end of file +
source§

fn decode(decoder: &mut Decoder<'a>) -> Result<Option<T>>

source§

impl Decodable<'_> for [u8; 4]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 31]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 3]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 20]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 16]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 23]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 15]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 7]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 2]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 11]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 14]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 12]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 17]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 18]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 9]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 8]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

source§

impl Decodable<'_> for [u8; 19]

source§

fn decode(decoder: &mut Decoder<'_>) -> Result<Self>

Implementors§

source§

impl Decodable<'_> for Length

source§

impl Decodable<'_> for SimpleTag

source§

impl Decodable<'_> for Tag

source§

impl<'a, T> Decodable<'a> for TaggedSlice<'a, T>where + T: Decodable<'a> + TagLike,

source§

impl<'a, X> Decodable<'a> for Xwhere + X: TryFrom<TaggedSlice<'a>, Error = Error>,

\ No newline at end of file diff --git a/flexiber/trait.Encodable.html b/flexiber/trait.Encodable.html index 5112c7f..cf84e08 100644 --- a/flexiber/trait.Encodable.html +++ b/flexiber/trait.Encodable.html @@ -1,48 +1,55 @@ -Encodable in flexiber - Rust

Trait flexiber::Encodable

source ·
pub trait Encodable {
+Encodable in flexiber - Rust

Trait flexiber::Encodable

source ·
pub trait Encodable {
+    // Required methods
     fn encoded_length(&self) -> Result<Length>;
-    fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>;
+    fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>;
 
-    fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]> { ... }
-}
Expand description

Encoding trait.

+ // Provided method + fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]> { ... } +}
Expand description

Encoding trait.

Encode into encoder, which essentially is a mutable slice of bytes.

Additionally, the encoded length needs to be known without actually encoding.

-

Required Methods§

Compute the length of this value in bytes when encoded as BER-TLV

-

Encode this value as BER-TLV using the provided Encoder.

-

Provided Methods§

Encode this value to the provided byte slice, returning a sub-slice +

Required Methods§

source

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV

+
source

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+

Provided Methods§

source

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice containing the encoded message.

-

Implementations on Foreign Types§

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Encode this value as BER-TLV using the provided Encoder.

-

Implementors§

\ No newline at end of file +

Implementations on Foreign Types§

source§

impl Encodable for [u8; 19]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 29]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 21]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 3]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 2]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 1]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 4]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 20]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

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

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 23]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for &[u8]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 22]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 14]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 13]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 16]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 12]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 7]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 28]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 27]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 24]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 11]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 26]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 17]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 32]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 30]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 18]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 25]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 15]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 31]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 9]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 8]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 6]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 5]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 0]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

source§

impl Encodable for [u8; 10]

source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.

+
source§

fn encoded_length(&self) -> Result<Length>

Implementors§

source§

impl Encodable for Length

source§

impl Encodable for SimpleTag

source§

impl Encodable for Tag

source§

impl<'a, E, T> Encodable for TaggedValue<&'a E, T>where + E: Encodable, + T: Copy + Encodable,

source§

impl<'a, T> Encodable for TaggedSlice<'a, T>where + T: Copy + Encodable,

source§

impl<TaggedContainer> Encodable for TaggedContainerwhere + TaggedContainer: Tagged + Container,

\ No newline at end of file diff --git a/flexiber/trait.TagLike.html b/flexiber/trait.TagLike.html index 5ad16af..0e453f9 100644 --- a/flexiber/trait.TagLike.html +++ b/flexiber/trait.TagLike.html @@ -1,13 +1,15 @@ -TagLike in flexiber - Rust

Trait flexiber::TagLike

source ·
pub trait TagLike: Copy + PartialEq + Sized {
+TagLike in flexiber - Rust

Trait flexiber::TagLike

source ·
pub trait TagLike: Copy + PartialEq + Sized {
+    // Required method
     fn embedding(self) -> Tag;
 
+    // Provided methods
     fn assert_eq(self, expected: Self) -> Result<Self> { ... }
     fn with_value<V>(self, value: V) -> TaggedValue<V, Self> { ... }
-}
Expand description

This is the common trait that types to be used as tags +}

Expand description

This is the common trait that types to be used as tags are supposed to implement.

-

Required Methods§

To stick with one Error type, make sure the tag type can somehow +

Required Methods§

source

fn embedding(self) -> Tag

To stick with one Error type, make sure the tag type can somehow or other be coerced into a BerTag.

-

Provided Methods§

Assert that this Tag matches the provided expected tag.

-

On mismatch, returns an Error with ErrorKind::UnexpectedTag.

-

Ergonomic way to get a TaggedValue for a given tag and value

-

Implementors§

\ No newline at end of file +

Provided Methods§

source

fn assert_eq(self, expected: Self) -> Result<Self>

Assert that this Tag matches the provided expected tag.

+

On mismatch, returns an Error with ErrorKind::UnexpectedTag.

+
source

fn with_value<V>(self, value: V) -> TaggedValue<V, Self>

Ergonomic way to get a TaggedValue for a given tag and value

+

Implementors§

\ No newline at end of file diff --git a/flexiber/trait.Tagged.html b/flexiber/trait.Tagged.html index 2e01636..5d00541 100644 --- a/flexiber/trait.Tagged.html +++ b/flexiber/trait.Tagged.html @@ -1,6 +1,7 @@ -Tagged in flexiber - Rust

Trait flexiber::Tagged

source ·
pub trait Tagged {
+Tagged in flexiber - Rust

Trait flexiber::Tagged

source ·
pub trait Tagged {
+    // Required method
     fn tag() -> Tag;
-}
Expand description

Types with an associated BER-TLV Tag.

+}
Expand description

Types with an associated BER-TLV Tag.

A tagged type implementing Container has a blanked implementation of Encodable.

-

Required Methods§

The tag

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn tag() -> Tag

The tag

+

Implementors§

\ No newline at end of file diff --git a/flexiber/type.Result.html b/flexiber/type.Result.html index 86e83e8..e609448 100644 --- a/flexiber/type.Result.html +++ b/flexiber/type.Result.html @@ -1,2 +1,7 @@ -Result in flexiber - Rust

Type Definition flexiber::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

Result type.

-

Trait Implementations§

The resulting type after applying the + operator.
Performs the + operation. Read more
\ No newline at end of file +Result in flexiber - Rust

Type Alias flexiber::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

Result type.

+

Aliased Type§

enum Result<T> {
+    Ok(T),
+    Err(Error),
+}

Variants§

§1.0.0

Ok(T)

Contains the success value

+
§1.0.0

Err(Error)

Contains the error value

+

Trait Implementations§

source§

impl Add<Length> for Result<Length>

§

type Output = Result<Length, Error>

The resulting type after applying the + operator.
source§

fn add(self, other: Length) -> Self

Performs the + operation. Read more
\ No newline at end of file diff --git a/flexiber/type.TaggedSlice.html b/flexiber/type.TaggedSlice.html index 6b723e5..6f3d408 100644 --- a/flexiber/type.TaggedSlice.html +++ b/flexiber/type.TaggedSlice.html @@ -1,10 +1,17 @@ -TaggedSlice in flexiber - Rust

Type Definition flexiber::TaggedSlice

source ·
pub type TaggedSlice<'a, T = Tag> = TaggedValue<Slice<'a>, T>;
Expand description

Raw BER-TLV data object TaggedValue<Slice<'_>>.

-

Implementations§

Create a new tagged slice, checking lengths.

-

Borrow the inner byte slice.

-

Get the length of the inner byte slice.

-

Is the inner byte slice empty?

-

Decode nested values, creating a new Decoder for +TaggedSlice in flexiber - Rust

Type Alias flexiber::TaggedSlice

source ·
pub type TaggedSlice<'a, T = Tag> = TaggedValue<Slice<'a>, T>;
Expand description

Raw BER-TLV data object TaggedValue<Slice<'_>>.

+

Aliased Type§

struct TaggedSlice<'a, T = Tag> { /* private fields */ }

Implementations§

source§

impl<'a, T> TaggedSlice<'a, T>where + T: Copy,

source

pub fn from(tag: T, slice: &'a [u8]) -> Result<Self>

Create a new tagged slice, checking lengths.

+
source

pub fn as_bytes(&self) -> &'a [u8]

Borrow the inner byte slice.

+
source

pub fn length(&self) -> Length

Get the length of the inner byte slice.

+
source

pub fn is_empty(&self) -> bool

Is the inner byte slice empty?

+
source

pub fn decode_nested<F, R>(&self, f: F) -> Result<R>where + F: FnOnce(&mut Decoder<'a>) -> Result<R>,

Decode nested values, creating a new Decoder for the data contained in the sequence’s body and passing it to the provided -FnOnce.

-

Trait Implementations§

Attempt to decode this message using the provided decoder.
Parse Self from the provided byte slice.
Compute the length of this value in bytes when encoded as BER-TLV
Encode this value as BER-TLV using the provided Encoder.
Encode this value to the provided byte slice, returning a sub-slice -containing the encoded message. Read more
\ No newline at end of file +FnOnce.

+
source§

impl<V, T> TaggedValue<V, T>where + T: Copy,

source

pub fn new(tag: T, value: V) -> Self

source

pub fn tag(&self) -> T

Trait Implementations§

source§

impl<V: Clone, T: Clone> Clone for TaggedValue<V, T>

source§

fn clone(&self) -> TaggedValue<V, T>

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<V: Debug, T: Debug> Debug for TaggedValue<V, T>

source§

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

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

impl<'a, T> Decodable<'a> for TaggedSlice<'a, T>where + T: Decodable<'a> + TagLike,

source§

fn decode(decoder: &mut Decoder<'a>) -> Result<Self>

Attempt to decode this message using the provided decoder.
source§

fn from_bytes(bytes: &'a [u8]) -> Result<Self>

Parse Self from the provided byte slice.
source§

impl<'a, T> Encodable for TaggedSlice<'a, T>where + T: Copy + Encodable,

source§

fn encoded_length(&self) -> Result<Length>

Compute the length of this value in bytes when encoded as BER-TLV
source§

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>

Encode this value as BER-TLV using the provided Encoder.
source§

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>

Encode this value to the provided byte slice, returning a sub-slice +containing the encoded message.
source§

impl<V: PartialEq, T: PartialEq> PartialEq<TaggedValue<V, T>> for TaggedValue<V, T>

source§

fn eq(&self, other: &TaggedValue<V, 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.
source§

impl<V: Copy, T: Copy> Copy for TaggedValue<V, T>

source§

impl<V: Eq, T: Eq> Eq for TaggedValue<V, T>

source§

impl<V, T> StructuralEq for TaggedValue<V, T>

source§

impl<V, T> StructuralPartialEq for TaggedValue<V, T>

\ No newline at end of file diff --git a/flexiber_derive/all.html b/flexiber_derive/all.html index 3b7dd5b..8073456 100644 --- a/flexiber_derive/all.html +++ b/flexiber_derive/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Derive Macros

\ No newline at end of file +List of all items in this crate

List of all items

Derive Macros

\ No newline at end of file diff --git a/flexiber_derive/derive.Decodable.html b/flexiber_derive/derive.Decodable.html index 482cbcb..1080786 100644 --- a/flexiber_derive/derive.Decodable.html +++ b/flexiber_derive/derive.Decodable.html @@ -1,9 +1,9 @@ -Decodable in flexiber_derive - Rust

Derive Macro flexiber_derive::Decodable

source ·
#[derive(Decodable)]
+Decodable in flexiber_derive - Rust

Derive Macro flexiber_derive::Decodable

source ·
#[derive(Decodable)]
 {
     // Attributes available to this derive:
     #[tlv]
 }
-
Expand description

Derive the Decodable trait on a struct.

+
Expand description

Derive the Decodable trait on a struct.

See toplevel documentation for the flexiber_derive crate for more information about how to use this macro.

-
\ No newline at end of file + \ No newline at end of file diff --git a/flexiber_derive/derive.Encodable.html b/flexiber_derive/derive.Encodable.html index 009128c..1b3c8b8 100644 --- a/flexiber_derive/derive.Encodable.html +++ b/flexiber_derive/derive.Encodable.html @@ -1,9 +1,9 @@ -Encodable in flexiber_derive - Rust

Derive Macro flexiber_derive::Encodable

source ·
#[derive(Encodable)]
+Encodable in flexiber_derive - Rust

Derive Macro flexiber_derive::Encodable

source ·
#[derive(Encodable)]
 {
     // Attributes available to this derive:
     #[tlv]
 }
-
Expand description

Derive the Encodable trait on a struct.

+
Expand description

Derive the Encodable trait on a struct.

See toplevel documentation for the flexiber_derive crate for more information about how to use this macro.

-
\ No newline at end of file + \ No newline at end of file diff --git a/flexiber_derive/index.html b/flexiber_derive/index.html index 4e3b26d..703757d 100644 --- a/flexiber_derive/index.html +++ b/flexiber_derive/index.html @@ -1,5 +1,5 @@ -flexiber_derive - Rust

Crate flexiber_derive

source ·
Expand description

Custom derive support for the flexiber crate

+flexiber_derive - Rust

Crate flexiber_derive

source ·
Expand description

Custom derive support for the flexiber crate

With #[tlv(slice)] set, Encodable should work for fields implementing AsRef<[u8]>, and Decodable should work for fields implementing TryFrom<[u8]>, even if the field is not Decodable or Encodable.

-

Derive Macros

Derive the Decodable trait on a struct.
Derive the Encodable trait on a struct.
\ No newline at end of file +

Derive Macros

\ No newline at end of file diff --git a/flexiber_derive/sidebar-items.js b/flexiber_derive/sidebar-items.js index 4cfa5fc..a69571f 100644 --- a/flexiber_derive/sidebar-items.js +++ b/flexiber_derive/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"derive":[["Decodable","Derive the `Decodable` trait on a struct."],["Encodable","Derive the `Encodable` trait on a struct."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"derive":["Decodable","Encodable"]}; \ No newline at end of file diff --git a/help.html b/help.html index 4fa0015..cc601c2 100644 --- a/help.html +++ b/help.html @@ -1 +1 @@ -Rustdoc help

Rustdoc help

Back
\ No newline at end of file +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index b9bc51c..c21a6be 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl Clone for Statistics"],["impl Clone for DefaultRenderer"],["impl Clone for RipgrepRenderer"]], -"flexiber":[["impl Clone for Error"],["impl Clone for ErrorKind"],["impl Clone for Length"],["impl Clone for SimpleTag"],["impl<'a> Clone for Slice<'a>"],["impl Clone for Class"],["impl Clone for Tag"],["impl<V: Clone, T: Clone> Clone for TaggedValue<V, T>"]], -"log":[["impl Clone for Level"],["impl Clone for LevelFilter"],["impl<'a> Clone for Record<'a>"],["impl<'a> Clone for Metadata<'a>"]], -"proc_macro2":[["impl Clone for TokenStream"],["impl Clone for Span"],["impl Clone for TokenTree"],["impl Clone for Group"],["impl Clone for Delimiter"],["impl Clone for Punct"],["impl Clone for Spacing"],["impl Clone for Ident"],["impl Clone for Literal"],["impl Clone for IntoIter"]], -"syn":[["impl Clone for Underscore"],["impl Clone for Abstract"],["impl Clone for As"],["impl Clone for Async"],["impl Clone for Auto"],["impl Clone for Await"],["impl Clone for Become"],["impl Clone for Box"],["impl Clone for Break"],["impl Clone for Const"],["impl Clone for Continue"],["impl Clone for Crate"],["impl Clone for Default"],["impl Clone for Do"],["impl Clone for Dyn"],["impl Clone for Else"],["impl Clone for Enum"],["impl Clone for Extern"],["impl Clone for Final"],["impl Clone for Fn"],["impl Clone for For"],["impl Clone for If"],["impl Clone for Impl"],["impl Clone for In"],["impl Clone for Let"],["impl Clone for Loop"],["impl Clone for Macro"],["impl Clone for Match"],["impl Clone for Mod"],["impl Clone for Move"],["impl Clone for Mut"],["impl Clone for Override"],["impl Clone for Priv"],["impl Clone for Pub"],["impl Clone for Ref"],["impl Clone for Return"],["impl Clone for SelfType"],["impl Clone for SelfValue"],["impl Clone for Static"],["impl Clone for Struct"],["impl Clone for Super"],["impl Clone for Trait"],["impl Clone for Try"],["impl Clone for Type"],["impl Clone for Typeof"],["impl Clone for Union"],["impl Clone for Unsafe"],["impl Clone for Unsized"],["impl Clone for Use"],["impl Clone for Virtual"],["impl Clone for Where"],["impl Clone for While"],["impl Clone for Yield"],["impl Clone for Add"],["impl Clone for AddEq"],["impl Clone for And"],["impl Clone for AndAnd"],["impl Clone for AndEq"],["impl Clone for At"],["impl Clone for Bang"],["impl Clone for Caret"],["impl Clone for CaretEq"],["impl Clone for Colon"],["impl Clone for Colon2"],["impl Clone for Comma"],["impl Clone for Div"],["impl Clone for DivEq"],["impl Clone for Dollar"],["impl Clone for Dot"],["impl Clone for Dot2"],["impl Clone for Dot3"],["impl Clone for DotDotEq"],["impl Clone for Eq"],["impl Clone for EqEq"],["impl Clone for Ge"],["impl Clone for Gt"],["impl Clone for Le"],["impl Clone for Lt"],["impl Clone for MulEq"],["impl Clone for Ne"],["impl Clone for Or"],["impl Clone for OrEq"],["impl Clone for OrOr"],["impl Clone for Pound"],["impl Clone for Question"],["impl Clone for RArrow"],["impl Clone for LArrow"],["impl Clone for Rem"],["impl Clone for RemEq"],["impl Clone for FatArrow"],["impl Clone for Semi"],["impl Clone for Shl"],["impl Clone for ShlEq"],["impl Clone for Shr"],["impl Clone for ShrEq"],["impl Clone for Star"],["impl Clone for Sub"],["impl Clone for SubEq"],["impl Clone for Tilde"],["impl Clone for Brace"],["impl Clone for Bracket"],["impl Clone for Paren"],["impl Clone for Group"],["impl<'a> Clone for ImplGenerics<'a>"],["impl<'a> Clone for TypeGenerics<'a>"],["impl<'a> Clone for Turbofish<'a>"],["impl Clone for Lifetime"],["impl Clone for LitStr"],["impl Clone for LitByteStr"],["impl Clone for LitByte"],["impl Clone for LitChar"],["impl Clone for LitInt"],["impl Clone for LitFloat"],["impl<'a> Clone for Cursor<'a>"],["impl<T, P> Clone for Punctuated<T, P>where
    T: Clone,
    P: Clone,
"],["impl<'a, T, P> Clone for Pairs<'a, T, P>"],["impl<T, P> Clone for IntoPairs<T, P>where
    T: Clone,
    P: Clone,
"],["impl<T> Clone for IntoIter<T>where
    T: Clone,
"],["impl<'a, T> Clone for Iter<'a, T>"],["impl<T, P> Clone for Pair<T, P>where
    T: Clone,
    P: Clone,
"],["impl Clone for Abi"],["impl Clone for AngleBracketedGenericArguments"],["impl Clone for AttrStyle"],["impl Clone for Attribute"],["impl Clone for BareFnArg"],["impl Clone for BinOp"],["impl Clone for Binding"],["impl Clone for BoundLifetimes"],["impl Clone for ConstParam"],["impl Clone for Constraint"],["impl Clone for Data"],["impl Clone for DataEnum"],["impl Clone for DataStruct"],["impl Clone for DataUnion"],["impl Clone for DeriveInput"],["impl Clone for Expr"],["impl Clone for ExprBinary"],["impl Clone for ExprCall"],["impl Clone for ExprCast"],["impl Clone for ExprField"],["impl Clone for ExprIndex"],["impl Clone for ExprLit"],["impl Clone for ExprParen"],["impl Clone for ExprPath"],["impl Clone for ExprUnary"],["impl Clone for Field"],["impl Clone for Fields"],["impl Clone for FieldsNamed"],["impl Clone for FieldsUnnamed"],["impl Clone for GenericArgument"],["impl Clone for GenericParam"],["impl Clone for Generics"],["impl Clone for Index"],["impl Clone for LifetimeDef"],["impl Clone for Lit"],["impl Clone for LitBool"],["impl Clone for Macro"],["impl Clone for MacroDelimiter"],["impl Clone for Member"],["impl Clone for Meta"],["impl Clone for MetaList"],["impl Clone for MetaNameValue"],["impl Clone for NestedMeta"],["impl Clone for ParenthesizedGenericArguments"],["impl Clone for Path"],["impl Clone for PathArguments"],["impl Clone for PathSegment"],["impl Clone for PredicateEq"],["impl Clone for PredicateLifetime"],["impl Clone for PredicateType"],["impl Clone for QSelf"],["impl Clone for ReturnType"],["impl Clone for TraitBound"],["impl Clone for TraitBoundModifier"],["impl Clone for Type"],["impl Clone for TypeArray"],["impl Clone for TypeBareFn"],["impl Clone for TypeGroup"],["impl Clone for TypeImplTrait"],["impl Clone for TypeInfer"],["impl Clone for TypeMacro"],["impl Clone for TypeNever"],["impl Clone for TypeParam"],["impl Clone for TypeParamBound"],["impl Clone for TypeParen"],["impl Clone for TypePath"],["impl Clone for TypePtr"],["impl Clone for TypeReference"],["impl Clone for TypeSlice"],["impl Clone for TypeTraitObject"],["impl Clone for TypeTuple"],["impl Clone for UnOp"],["impl Clone for Variadic"],["impl Clone for Variant"],["impl Clone for VisCrate"],["impl Clone for VisPublic"],["impl Clone for VisRestricted"],["impl Clone for Visibility"],["impl Clone for WhereClause"],["impl Clone for WherePredicate"],["impl<'c, 'a> Clone for StepCursor<'c, 'a>"],["impl Clone for Error"]], -"synstructure":[["impl Clone for AddBounds"],["impl Clone for BindStyle"],["impl<'a> Clone for BindingInfo<'a>"],["impl<'a> Clone for VariantAst<'a>"],["impl<'a> Clone for VariantInfo<'a>"],["impl<'a> Clone for Structure<'a>"]] +"delog":[["impl Clone for DefaultRenderer"],["impl Clone for Statistics"],["impl Clone for RipgrepRenderer"]], +"flexiber":[["impl Clone for Tag"],["impl Clone for Error"],["impl Clone for ErrorKind"],["impl Clone for SimpleTag"],["impl Clone for Class"],["impl Clone for Length"],["impl<'a> Clone for Slice<'a>"],["impl<V: Clone, T: Clone> Clone for TaggedValue<V, T>"]], +"log":[["impl Clone for LevelFilter"],["impl<'a> Clone for Record<'a>"],["impl<'a> Clone for Metadata<'a>"],["impl Clone for Level"]], +"proc_macro2":[["impl Clone for TokenStream"],["impl Clone for Literal"],["impl Clone for Spacing"],["impl Clone for DelimSpan"],["impl Clone for TokenTree"],["impl Clone for IntoIter"],["impl Clone for Delimiter"],["impl Clone for Punct"],["impl Clone for Span"],["impl Clone for Group"],["impl Clone for Ident"]], +"syn":[["impl Clone for Group"],["impl Clone for BareFnArg"],["impl Clone for LitBool"],["impl Clone for Pound"],["impl Clone for Type"],["impl Clone for LitChar"],["impl Clone for Add"],["impl Clone for AttrStyle"],["impl Clone for OrOr"],["impl Clone for EqEq"],["impl Clone for Constraint"],["impl Clone for AndEq"],["impl Clone for SelfType"],["impl Clone for Lt"],["impl Clone for Index"],["impl Clone for UnOp"],["impl Clone for Box"],["impl Clone for Continue"],["impl Clone for Error"],["impl Clone for Shr"],["impl Clone for PredicateType"],["impl Clone for Unsafe"],["impl Clone for DotDotEq"],["impl Clone for BoundLifetimes"],["impl Clone for Binding"],["impl<'a> Clone for TypeGenerics<'a>"],["impl Clone for While"],["impl Clone for TypeNever"],["impl Clone for TypeReference"],["impl Clone for Rem"],["impl Clone for SubEq"],["impl Clone for Macro"],["impl Clone for MacroDelimiter"],["impl Clone for LitStr"],["impl Clone for PredicateLifetime"],["impl Clone for Impl"],["impl Clone for ExprParen"],["impl Clone for TypeParam"],["impl Clone for Struct"],["impl Clone for Tilde"],["impl<T, P> Clone for IntoPairs<T, P>where\n T: Clone,\n P: Clone,"],["impl Clone for VisRestricted"],["impl Clone for Brace"],["impl<'a> Clone for Cursor<'a>"],["impl Clone for Eq"],["impl Clone for TraitBoundModifier"],["impl Clone for Macro"],["impl Clone for Question"],["impl Clone for Move"],["impl<'a, T> Clone for Iter<'a, T>"],["impl Clone for DivEq"],["impl Clone for ExprBinary"],["impl Clone for RArrow"],["impl Clone for Else"],["impl Clone for Field"],["impl Clone for TypeParamBound"],["impl Clone for Comma"],["impl Clone for Data"],["impl Clone for Auto"],["impl Clone for Priv"],["impl Clone for LifetimeDef"],["impl Clone for CaretEq"],["impl Clone for Mod"],["impl Clone for Dyn"],["impl Clone for Unsized"],["impl Clone for Do"],["impl Clone for LitByteStr"],["impl Clone for MetaList"],["impl<T, P> Clone for Punctuated<T, P>where\n T: Clone,\n P: Clone,"],["impl Clone for Meta"],["impl Clone for VisPublic"],["impl Clone for Bang"],["impl Clone for Extern"],["impl Clone for Where"],["impl Clone for AddEq"],["impl Clone for Path"],["impl Clone for Override"],["impl<T> Clone for IntoIter<T>where\n T: Clone,"],["impl Clone for WhereClause"],["impl Clone for Variadic"],["impl Clone for ExprIndex"],["impl Clone for ConstParam"],["impl Clone for ExprUnary"],["impl<'a, T, P> Clone for Pairs<'a, T, P>"],["impl Clone for OrEq"],["impl Clone for Bracket"],["impl Clone for QSelf"],["impl Clone for Caret"],["impl Clone for Dot2"],["impl Clone for Fields"],["impl Clone for ReturnType"],["impl Clone for Ne"],["impl Clone for GenericParam"],["impl Clone for Let"],["impl Clone for Star"],["impl Clone for LitInt"],["impl Clone for Mut"],["impl Clone for PathArguments"],["impl Clone for In"],["impl Clone for TypeParen"],["impl Clone for DataUnion"],["impl Clone for Div"],["impl Clone for Try"],["impl Clone for Use"],["impl Clone for Sub"],["impl Clone for ShrEq"],["impl Clone for Semi"],["impl Clone for Match"],["impl Clone for TypeTuple"],["impl Clone for ParenthesizedGenericArguments"],["impl<'a> Clone for ImplGenerics<'a>"],["impl Clone for LitByte"],["impl Clone for Static"],["impl Clone for Ref"],["impl Clone for Break"],["impl Clone for NestedMeta"],["impl Clone for Pub"],["impl<T, P> Clone for Pair<T, P>where\n T: Clone,\n P: Clone,"],["impl Clone for Generics"],["impl Clone for Colon2"],["impl Clone for ExprLit"],["impl Clone for TypeImplTrait"],["impl Clone for Become"],["impl Clone for Ge"],["impl Clone for ExprPath"],["impl Clone for GenericArgument"],["impl Clone for Le"],["impl Clone for DataEnum"],["impl<'c, 'a> Clone for StepCursor<'c, 'a>"],["impl Clone for RemEq"],["impl Clone for MetaNameValue"],["impl Clone for Super"],["impl Clone for Abi"],["impl Clone for Async"],["impl Clone for Shl"],["impl Clone for Gt"],["impl Clone for At"],["impl Clone for Enum"],["impl Clone for MulEq"],["impl Clone for FieldsNamed"],["impl Clone for Default"],["impl Clone for Await"],["impl Clone for And"],["impl Clone for Abstract"],["impl Clone for Typeof"],["impl Clone for Member"],["impl Clone for SelfValue"],["impl Clone for TraitBound"],["impl Clone for If"],["impl Clone for FatArrow"],["impl Clone for LitFloat"],["impl Clone for Visibility"],["impl Clone for DataStruct"],["impl Clone for Const"],["impl Clone for TypeTraitObject"],["impl Clone for Colon"],["impl Clone for PathSegment"],["impl Clone for TypeBareFn"],["impl Clone for Paren"],["impl Clone for Trait"],["impl Clone for Expr"],["impl Clone for ExprCast"],["impl Clone for ExprField"],["impl Clone for Attribute"],["impl Clone for Return"],["impl Clone for TypePath"],["impl Clone for As"],["impl Clone for AngleBracketedGenericArguments"],["impl Clone for Dot3"],["impl Clone for TypeArray"],["impl Clone for TypeSlice"],["impl Clone for Union"],["impl Clone for For"],["impl Clone for TypeGroup"],["impl Clone for Type"],["impl Clone for ExprCall"],["impl Clone for TypePtr"],["impl Clone for LArrow"],["impl Clone for FieldsUnnamed"],["impl Clone for VisCrate"],["impl Clone for Virtual"],["impl Clone for ShlEq"],["impl Clone for TypeMacro"],["impl Clone for Fn"],["impl Clone for Underscore"],["impl Clone for Crate"],["impl Clone for Lifetime"],["impl Clone for TypeInfer"],["impl Clone for Dollar"],["impl Clone for BinOp"],["impl Clone for Variant"],["impl Clone for Dot"],["impl Clone for Loop"],["impl Clone for Yield"],["impl Clone for AndAnd"],["impl Clone for WherePredicate"],["impl Clone for Lit"],["impl Clone for Final"],["impl Clone for PredicateEq"],["impl Clone for Or"],["impl<'a> Clone for Turbofish<'a>"],["impl Clone for DeriveInput"]], +"synstructure":[["impl<'a> Clone for VariantInfo<'a>"],["impl Clone for AddBounds"],["impl Clone for BindStyle"],["impl<'a> Clone for BindingInfo<'a>"],["impl<'a> Clone for Structure<'a>"],["impl<'a> Clone for VariantAst<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js index 756390c..6ef0195 100644 --- a/implementors/core/cmp/trait.Eq.js +++ b/implementors/core/cmp/trait.Eq.js @@ -1,7 +1,7 @@ (function() {var implementors = { -"flexiber":[["impl Eq for Error"],["impl Eq for ErrorKind"],["impl Eq for Length"],["impl Eq for SimpleTag"],["impl<'a> Eq for Slice<'a>"],["impl Eq for Class"],["impl Eq for Tag"],["impl<V: Eq, T: Eq> Eq for TaggedValue<V, T>"]], -"log":[["impl Eq for Level"],["impl Eq for LevelFilter"],["impl<'a> Eq for Metadata<'a>"],["impl<'a> Eq for MetadataBuilder<'a>"]], -"proc_macro2":[["impl Eq for Delimiter"],["impl Eq for Spacing"],["impl Eq for Ident"]], -"syn":[["impl Eq for Underscore"],["impl Eq for Abstract"],["impl Eq for As"],["impl Eq for Async"],["impl Eq for Auto"],["impl Eq for Await"],["impl Eq for Become"],["impl Eq for Box"],["impl Eq for Break"],["impl Eq for Const"],["impl Eq for Continue"],["impl Eq for Crate"],["impl Eq for Default"],["impl Eq for Do"],["impl Eq for Dyn"],["impl Eq for Else"],["impl Eq for Enum"],["impl Eq for Extern"],["impl Eq for Final"],["impl Eq for Fn"],["impl Eq for For"],["impl Eq for If"],["impl Eq for Impl"],["impl Eq for In"],["impl Eq for Let"],["impl Eq for Loop"],["impl Eq for Macro"],["impl Eq for Match"],["impl Eq for Mod"],["impl Eq for Move"],["impl Eq for Mut"],["impl Eq for Override"],["impl Eq for Priv"],["impl Eq for Pub"],["impl Eq for Ref"],["impl Eq for Return"],["impl Eq for SelfType"],["impl Eq for SelfValue"],["impl Eq for Static"],["impl Eq for Struct"],["impl Eq for Super"],["impl Eq for Trait"],["impl Eq for Try"],["impl Eq for Type"],["impl Eq for Typeof"],["impl Eq for Union"],["impl Eq for Unsafe"],["impl Eq for Unsized"],["impl Eq for Use"],["impl Eq for Virtual"],["impl Eq for Where"],["impl Eq for While"],["impl Eq for Yield"],["impl Eq for Add"],["impl Eq for AddEq"],["impl Eq for And"],["impl Eq for AndAnd"],["impl Eq for AndEq"],["impl Eq for At"],["impl Eq for Bang"],["impl Eq for Caret"],["impl Eq for CaretEq"],["impl Eq for Colon"],["impl Eq for Colon2"],["impl Eq for Comma"],["impl Eq for Div"],["impl Eq for DivEq"],["impl Eq for Dollar"],["impl Eq for Dot"],["impl Eq for Dot2"],["impl Eq for Dot3"],["impl Eq for DotDotEq"],["impl Eq for Eq"],["impl Eq for EqEq"],["impl Eq for Ge"],["impl Eq for Gt"],["impl Eq for Le"],["impl Eq for Lt"],["impl Eq for MulEq"],["impl Eq for Ne"],["impl Eq for Or"],["impl Eq for OrEq"],["impl Eq for OrOr"],["impl Eq for Pound"],["impl Eq for Question"],["impl Eq for RArrow"],["impl Eq for LArrow"],["impl Eq for Rem"],["impl Eq for RemEq"],["impl Eq for FatArrow"],["impl Eq for Semi"],["impl Eq for Shl"],["impl Eq for ShlEq"],["impl Eq for Shr"],["impl Eq for ShrEq"],["impl Eq for Star"],["impl Eq for Sub"],["impl Eq for SubEq"],["impl Eq for Tilde"],["impl Eq for Brace"],["impl Eq for Bracket"],["impl Eq for Paren"],["impl Eq for Group"],["impl Eq for Member"],["impl Eq for Index"],["impl<'a> Eq for ImplGenerics<'a>"],["impl<'a> Eq for TypeGenerics<'a>"],["impl<'a> Eq for Turbofish<'a>"],["impl Eq for Lifetime"],["impl<'a> Eq for Cursor<'a>"],["impl<T, P> Eq for Punctuated<T, P>where
    T: Eq,
    P: Eq,
"],["impl Eq for Abi"],["impl Eq for AngleBracketedGenericArguments"],["impl Eq for AttrStyle"],["impl Eq for Attribute"],["impl Eq for BareFnArg"],["impl Eq for BinOp"],["impl Eq for Binding"],["impl Eq for BoundLifetimes"],["impl Eq for ConstParam"],["impl Eq for Constraint"],["impl Eq for Data"],["impl Eq for DataEnum"],["impl Eq for DataStruct"],["impl Eq for DataUnion"],["impl Eq for DeriveInput"],["impl Eq for Expr"],["impl Eq for ExprBinary"],["impl Eq for ExprCall"],["impl Eq for ExprCast"],["impl Eq for ExprField"],["impl Eq for ExprIndex"],["impl Eq for ExprLit"],["impl Eq for ExprParen"],["impl Eq for ExprPath"],["impl Eq for ExprUnary"],["impl Eq for Field"],["impl Eq for Fields"],["impl Eq for FieldsNamed"],["impl Eq for FieldsUnnamed"],["impl Eq for GenericArgument"],["impl Eq for GenericParam"],["impl Eq for Generics"],["impl Eq for LifetimeDef"],["impl Eq for Lit"],["impl Eq for LitBool"],["impl Eq for LitByte"],["impl Eq for LitByteStr"],["impl Eq for LitChar"],["impl Eq for LitFloat"],["impl Eq for LitInt"],["impl Eq for LitStr"],["impl Eq for Macro"],["impl Eq for MacroDelimiter"],["impl Eq for Meta"],["impl Eq for MetaList"],["impl Eq for MetaNameValue"],["impl Eq for NestedMeta"],["impl Eq for ParenthesizedGenericArguments"],["impl Eq for Path"],["impl Eq for PathArguments"],["impl Eq for PathSegment"],["impl Eq for PredicateEq"],["impl Eq for PredicateLifetime"],["impl Eq for PredicateType"],["impl Eq for QSelf"],["impl Eq for ReturnType"],["impl Eq for TraitBound"],["impl Eq for TraitBoundModifier"],["impl Eq for Type"],["impl Eq for TypeArray"],["impl Eq for TypeBareFn"],["impl Eq for TypeGroup"],["impl Eq for TypeImplTrait"],["impl Eq for TypeInfer"],["impl Eq for TypeMacro"],["impl Eq for TypeNever"],["impl Eq for TypeParam"],["impl Eq for TypeParamBound"],["impl Eq for TypeParen"],["impl Eq for TypePath"],["impl Eq for TypePtr"],["impl Eq for TypeReference"],["impl Eq for TypeSlice"],["impl Eq for TypeTraitObject"],["impl Eq for TypeTuple"],["impl Eq for UnOp"],["impl Eq for Variadic"],["impl Eq for Variant"],["impl Eq for VisCrate"],["impl Eq for VisPublic"],["impl Eq for VisRestricted"],["impl Eq for Visibility"],["impl Eq for WhereClause"],["impl Eq for WherePredicate"],["impl Eq for Nothing"]], -"synstructure":[["impl Eq for AddBounds"],["impl Eq for BindStyle"],["impl<'a> Eq for BindingInfo<'a>"],["impl<'a> Eq for VariantAst<'a>"],["impl<'a> Eq for VariantInfo<'a>"],["impl<'a> Eq for Structure<'a>"]] +"flexiber":[["impl Eq for SimpleTag"],["impl Eq for Length"],["impl<'a> Eq for Slice<'a>"],["impl Eq for ErrorKind"],["impl<V: Eq, T: Eq> Eq for TaggedValue<V, T>"],["impl Eq for Tag"],["impl Eq for Error"],["impl Eq for Class"]], +"log":[["impl<'a> Eq for Metadata<'a>"],["impl Eq for LevelFilter"],["impl Eq for ParseLevelError"],["impl<'a> Eq for MetadataBuilder<'a>"],["impl Eq for Level"]], +"proc_macro2":[["impl Eq for Spacing"],["impl Eq for Ident"],["impl Eq for Delimiter"]], +"syn":[["impl Eq for PredicateEq"],["impl Eq for Variant"],["impl Eq for ExprPath"],["impl Eq for In"],["impl Eq for Mod"],["impl Eq for Macro"],["impl Eq for Constraint"],["impl Eq for Final"],["impl Eq for TypeSlice"],["impl Eq for PathArguments"],["impl<'a> Eq for Turbofish<'a>"],["impl Eq for Gt"],["impl Eq for AttrStyle"],["impl Eq for LitByte"],["impl Eq for Struct"],["impl Eq for DataUnion"],["impl Eq for Tilde"],["impl Eq for Shl"],["impl Eq for Visibility"],["impl Eq for TypeInfer"],["impl Eq for ExprUnary"],["impl Eq for TypeMacro"],["impl Eq for Dyn"],["impl Eq for TypeParamBound"],["impl Eq for Comma"],["impl Eq for Typeof"],["impl Eq for TypeTraitObject"],["impl Eq for TypeGroup"],["impl Eq for Path"],["impl Eq for DeriveInput"],["impl Eq for Return"],["impl Eq for TraitBound"],["impl Eq for PredicateType"],["impl Eq for Mut"],["impl Eq for MetaList"],["impl Eq for DivEq"],["impl Eq for Caret"],["impl Eq for Macro"],["impl Eq for FatArrow"],["impl Eq for QSelf"],["impl Eq for Ge"],["impl Eq for TypeArray"],["impl Eq for LifetimeDef"],["impl Eq for Where"],["impl Eq for Super"],["impl Eq for PathSegment"],["impl Eq for Become"],["impl Eq for ExprBinary"],["impl Eq for MulEq"],["impl Eq for GenericParam"],["impl Eq for ParenthesizedGenericArguments"],["impl Eq for Const"],["impl Eq for Paren"],["impl Eq for Meta"],["impl Eq for DataEnum"],["impl Eq for GenericArgument"],["impl Eq for TypeImplTrait"],["impl Eq for Default"],["impl Eq for Dot"],["impl Eq for ExprIndex"],["impl Eq for FieldsUnnamed"],["impl Eq for MacroDelimiter"],["impl Eq for AndEq"],["impl Eq for Binding"],["impl Eq for Question"],["impl Eq for TypeParen"],["impl Eq for Colon2"],["impl Eq for LitChar"],["impl Eq for LitByteStr"],["impl Eq for Sub"],["impl Eq for Group"],["impl Eq for Field"],["impl Eq for Dollar"],["impl Eq for Box"],["impl Eq for ReturnType"],["impl Eq for For"],["impl<'a> Eq for Cursor<'a>"],["impl Eq for MetaNameValue"],["impl Eq for Type"],["impl Eq for Override"],["impl Eq for TypePtr"],["impl Eq for Colon"],["impl Eq for DataStruct"],["impl Eq for ShlEq"],["impl Eq for ExprLit"],["impl Eq for Lt"],["impl Eq for Pub"],["impl Eq for BoundLifetimes"],["impl Eq for Async"],["impl Eq for ExprField"],["impl Eq for Do"],["impl Eq for AndAnd"],["impl Eq for Static"],["impl Eq for Attribute"],["impl Eq for Rem"],["impl Eq for Yield"],["impl Eq for Continue"],["impl Eq for Union"],["impl Eq for Crate"],["impl Eq for Variadic"],["impl Eq for UnOp"],["impl Eq for At"],["impl Eq for LitBool"],["impl Eq for TypePath"],["impl Eq for VisPublic"],["impl Eq for ConstParam"],["impl Eq for EqEq"],["impl Eq for OrEq"],["impl Eq for Ref"],["impl Eq for Use"],["impl Eq for Le"],["impl Eq for If"],["impl Eq for TypeNever"],["impl Eq for VisRestricted"],["impl Eq for BareFnArg"],["impl Eq for BinOp"],["impl Eq for TypeBareFn"],["impl Eq for Virtual"],["impl Eq for SelfValue"],["impl Eq for VisCrate"],["impl Eq for Dot3"],["impl Eq for TypeParam"],["impl<'a> Eq for ImplGenerics<'a>"],["impl Eq for Star"],["impl Eq for Bang"],["impl Eq for And"],["impl Eq for Brace"],["impl Eq for Lit"],["impl Eq for TypeReference"],["impl Eq for Shr"],["impl Eq for Unsafe"],["impl Eq for Unsized"],["impl Eq for AngleBracketedGenericArguments"],["impl Eq for Fields"],["impl Eq for CaretEq"],["impl Eq for Div"],["impl Eq for WherePredicate"],["impl Eq for Or"],["impl Eq for Await"],["impl Eq for TraitBoundModifier"],["impl Eq for TypeTuple"],["impl Eq for LitStr"],["impl Eq for Priv"],["impl Eq for AddEq"],["impl Eq for RemEq"],["impl<'a> Eq for TypeGenerics<'a>"],["impl Eq for SubEq"],["impl Eq for Generics"],["impl Eq for DotDotEq"],["impl Eq for FieldsNamed"],["impl Eq for Break"],["impl Eq for Extern"],["impl Eq for Lifetime"],["impl Eq for Auto"],["impl Eq for Nothing"],["impl Eq for Trait"],["impl Eq for Ne"],["impl Eq for While"],["impl Eq for LitFloat"],["impl Eq for LArrow"],["impl Eq for Move"],["impl Eq for ShrEq"],["impl Eq for As"],["impl Eq for Add"],["impl Eq for Else"],["impl Eq for Loop"],["impl Eq for Let"],["impl Eq for ExprParen"],["impl Eq for Index"],["impl Eq for Enum"],["impl Eq for Match"],["impl Eq for Expr"],["impl Eq for Dot2"],["impl Eq for SelfType"],["impl Eq for Underscore"],["impl Eq for Data"],["impl Eq for Semi"],["impl Eq for Abstract"],["impl Eq for Fn"],["impl Eq for Bracket"],["impl Eq for Type"],["impl Eq for Pound"],["impl Eq for WhereClause"],["impl Eq for RArrow"],["impl Eq for PredicateLifetime"],["impl Eq for Abi"],["impl Eq for OrOr"],["impl Eq for Member"],["impl Eq for LitInt"],["impl Eq for ExprCast"],["impl Eq for Eq"],["impl<T, P> Eq for Punctuated<T, P>where\n T: Eq,\n P: Eq,"],["impl Eq for ExprCall"],["impl Eq for Impl"],["impl Eq for Try"],["impl Eq for NestedMeta"]], +"synstructure":[["impl<'a> Eq for Structure<'a>"],["impl Eq for BindStyle"],["impl Eq for AddBounds"],["impl<'a> Eq for VariantInfo<'a>"],["impl<'a> Eq for BindingInfo<'a>"],["impl<'a> Eq for VariantAst<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Ord.js b/implementors/core/cmp/trait.Ord.js index 921d3fc..bddd0a7 100644 --- a/implementors/core/cmp/trait.Ord.js +++ b/implementors/core/cmp/trait.Ord.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"flexiber":[["impl Ord for Length"]], -"log":[["impl Ord for Level"],["impl Ord for LevelFilter"],["impl<'a> Ord for Metadata<'a>"],["impl<'a> Ord for MetadataBuilder<'a>"]], -"proc_macro2":[["impl Ord for Ident"]], -"syn":[["impl Ord for Lifetime"]] +"flexiber":[["impl Ord for Length"]], +"log":[["impl<'a> Ord for Metadata<'a>"],["impl Ord for Level"],["impl<'a> Ord for MetadataBuilder<'a>"],["impl Ord for LevelFilter"]], +"proc_macro2":[["impl Ord for Ident"]], +"syn":[["impl Ord for Lifetime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index 3a4f613..87b395b 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,7 +1,7 @@ (function() {var implementors = { -"flexiber":[["impl PartialEq<Error> for Error"],["impl PartialEq<ErrorKind> for ErrorKind"],["impl PartialEq<Length> for Length"],["impl PartialEq<SimpleTag> for SimpleTag"],["impl<'a> PartialEq<Slice<'a>> for Slice<'a>"],["impl PartialEq<Class> for Class"],["impl PartialEq<Tag> for Tag"],["impl<V: PartialEq, T: PartialEq> PartialEq<TaggedValue<V, T>> for TaggedValue<V, T>"]], -"log":[["impl PartialEq<Level> for Level"],["impl PartialEq<LevelFilter> for Level"],["impl PartialEq<LevelFilter> for LevelFilter"],["impl PartialEq<Level> for LevelFilter"],["impl<'a> PartialEq<Metadata<'a>> for Metadata<'a>"],["impl<'a> PartialEq<MetadataBuilder<'a>> for MetadataBuilder<'a>"],["impl PartialEq<ParseLevelError> for ParseLevelError"]], -"proc_macro2":[["impl PartialEq<Delimiter> for Delimiter"],["impl PartialEq<Spacing> for Spacing"],["impl PartialEq<Ident> for Ident"],["impl<T> PartialEq<T> for Identwhere
    T: ?Sized + AsRef<str>,
"]], -"syn":[["impl PartialEq<Underscore> for Underscore"],["impl PartialEq<Abstract> for Abstract"],["impl PartialEq<As> for As"],["impl PartialEq<Async> for Async"],["impl PartialEq<Auto> for Auto"],["impl PartialEq<Await> for Await"],["impl PartialEq<Become> for Become"],["impl PartialEq<Box> for Box"],["impl PartialEq<Break> for Break"],["impl PartialEq<Const> for Const"],["impl PartialEq<Continue> for Continue"],["impl PartialEq<Crate> for Crate"],["impl PartialEq<Default> for Default"],["impl PartialEq<Do> for Do"],["impl PartialEq<Dyn> for Dyn"],["impl PartialEq<Else> for Else"],["impl PartialEq<Enum> for Enum"],["impl PartialEq<Extern> for Extern"],["impl PartialEq<Final> for Final"],["impl PartialEq<Fn> for Fn"],["impl PartialEq<For> for For"],["impl PartialEq<If> for If"],["impl PartialEq<Impl> for Impl"],["impl PartialEq<In> for In"],["impl PartialEq<Let> for Let"],["impl PartialEq<Loop> for Loop"],["impl PartialEq<Macro> for Macro"],["impl PartialEq<Match> for Match"],["impl PartialEq<Mod> for Mod"],["impl PartialEq<Move> for Move"],["impl PartialEq<Mut> for Mut"],["impl PartialEq<Override> for Override"],["impl PartialEq<Priv> for Priv"],["impl PartialEq<Pub> for Pub"],["impl PartialEq<Ref> for Ref"],["impl PartialEq<Return> for Return"],["impl PartialEq<SelfType> for SelfType"],["impl PartialEq<SelfValue> for SelfValue"],["impl PartialEq<Static> for Static"],["impl PartialEq<Struct> for Struct"],["impl PartialEq<Super> for Super"],["impl PartialEq<Trait> for Trait"],["impl PartialEq<Try> for Try"],["impl PartialEq<Type> for Type"],["impl PartialEq<Typeof> for Typeof"],["impl PartialEq<Union> for Union"],["impl PartialEq<Unsafe> for Unsafe"],["impl PartialEq<Unsized> for Unsized"],["impl PartialEq<Use> for Use"],["impl PartialEq<Virtual> for Virtual"],["impl PartialEq<Where> for Where"],["impl PartialEq<While> for While"],["impl PartialEq<Yield> for Yield"],["impl PartialEq<Add> for Add"],["impl PartialEq<AddEq> for AddEq"],["impl PartialEq<And> for And"],["impl PartialEq<AndAnd> for AndAnd"],["impl PartialEq<AndEq> for AndEq"],["impl PartialEq<At> for At"],["impl PartialEq<Bang> for Bang"],["impl PartialEq<Caret> for Caret"],["impl PartialEq<CaretEq> for CaretEq"],["impl PartialEq<Colon> for Colon"],["impl PartialEq<Colon2> for Colon2"],["impl PartialEq<Comma> for Comma"],["impl PartialEq<Div> for Div"],["impl PartialEq<DivEq> for DivEq"],["impl PartialEq<Dollar> for Dollar"],["impl PartialEq<Dot> for Dot"],["impl PartialEq<Dot2> for Dot2"],["impl PartialEq<Dot3> for Dot3"],["impl PartialEq<DotDotEq> for DotDotEq"],["impl PartialEq<Eq> for Eq"],["impl PartialEq<EqEq> for EqEq"],["impl PartialEq<Ge> for Ge"],["impl PartialEq<Gt> for Gt"],["impl PartialEq<Le> for Le"],["impl PartialEq<Lt> for Lt"],["impl PartialEq<MulEq> for MulEq"],["impl PartialEq<Ne> for Ne"],["impl PartialEq<Or> for Or"],["impl PartialEq<OrEq> for OrEq"],["impl PartialEq<OrOr> for OrOr"],["impl PartialEq<Pound> for Pound"],["impl PartialEq<Question> for Question"],["impl PartialEq<RArrow> for RArrow"],["impl PartialEq<LArrow> for LArrow"],["impl PartialEq<Rem> for Rem"],["impl PartialEq<RemEq> for RemEq"],["impl PartialEq<FatArrow> for FatArrow"],["impl PartialEq<Semi> for Semi"],["impl PartialEq<Shl> for Shl"],["impl PartialEq<ShlEq> for ShlEq"],["impl PartialEq<Shr> for Shr"],["impl PartialEq<ShrEq> for ShrEq"],["impl PartialEq<Star> for Star"],["impl PartialEq<Sub> for Sub"],["impl PartialEq<SubEq> for SubEq"],["impl PartialEq<Tilde> for Tilde"],["impl PartialEq<Brace> for Brace"],["impl PartialEq<Bracket> for Bracket"],["impl PartialEq<Paren> for Paren"],["impl PartialEq<Group> for Group"],["impl PartialEq<Member> for Member"],["impl PartialEq<Index> for Index"],["impl<'a> PartialEq<ImplGenerics<'a>> for ImplGenerics<'a>"],["impl<'a> PartialEq<TypeGenerics<'a>> for TypeGenerics<'a>"],["impl<'a> PartialEq<Turbofish<'a>> for Turbofish<'a>"],["impl PartialEq<Lifetime> for Lifetime"],["impl PartialEq<LitStr> for LitStr"],["impl PartialEq<LitByteStr> for LitByteStr"],["impl PartialEq<LitByte> for LitByte"],["impl PartialEq<LitChar> for LitChar"],["impl PartialEq<LitInt> for LitInt"],["impl PartialEq<LitFloat> for LitFloat"],["impl<'a> PartialEq<Cursor<'a>> for Cursor<'a>"],["impl<T, P> PartialEq<Punctuated<T, P>> for Punctuated<T, P>where
    T: PartialEq,
    P: PartialEq,
"],["impl PartialEq<Abi> for Abi"],["impl PartialEq<AngleBracketedGenericArguments> for AngleBracketedGenericArguments"],["impl PartialEq<AttrStyle> for AttrStyle"],["impl PartialEq<Attribute> for Attribute"],["impl PartialEq<BareFnArg> for BareFnArg"],["impl PartialEq<BinOp> for BinOp"],["impl PartialEq<Binding> for Binding"],["impl PartialEq<BoundLifetimes> for BoundLifetimes"],["impl PartialEq<ConstParam> for ConstParam"],["impl PartialEq<Constraint> for Constraint"],["impl PartialEq<Data> for Data"],["impl PartialEq<DataEnum> for DataEnum"],["impl PartialEq<DataStruct> for DataStruct"],["impl PartialEq<DataUnion> for DataUnion"],["impl PartialEq<DeriveInput> for DeriveInput"],["impl PartialEq<Expr> for Expr"],["impl PartialEq<ExprBinary> for ExprBinary"],["impl PartialEq<ExprCall> for ExprCall"],["impl PartialEq<ExprCast> for ExprCast"],["impl PartialEq<ExprField> for ExprField"],["impl PartialEq<ExprIndex> for ExprIndex"],["impl PartialEq<ExprLit> for ExprLit"],["impl PartialEq<ExprParen> for ExprParen"],["impl PartialEq<ExprPath> for ExprPath"],["impl PartialEq<ExprUnary> for ExprUnary"],["impl PartialEq<Field> for Field"],["impl PartialEq<Fields> for Fields"],["impl PartialEq<FieldsNamed> for FieldsNamed"],["impl PartialEq<FieldsUnnamed> for FieldsUnnamed"],["impl PartialEq<GenericArgument> for GenericArgument"],["impl PartialEq<GenericParam> for GenericParam"],["impl PartialEq<Generics> for Generics"],["impl PartialEq<LifetimeDef> for LifetimeDef"],["impl PartialEq<Lit> for Lit"],["impl PartialEq<LitBool> for LitBool"],["impl PartialEq<Macro> for Macro"],["impl PartialEq<MacroDelimiter> for MacroDelimiter"],["impl PartialEq<Meta> for Meta"],["impl PartialEq<MetaList> for MetaList"],["impl PartialEq<MetaNameValue> for MetaNameValue"],["impl PartialEq<NestedMeta> for NestedMeta"],["impl PartialEq<ParenthesizedGenericArguments> for ParenthesizedGenericArguments"],["impl PartialEq<Path> for Path"],["impl PartialEq<PathArguments> for PathArguments"],["impl PartialEq<PathSegment> for PathSegment"],["impl PartialEq<PredicateEq> for PredicateEq"],["impl PartialEq<PredicateLifetime> for PredicateLifetime"],["impl PartialEq<PredicateType> for PredicateType"],["impl PartialEq<QSelf> for QSelf"],["impl PartialEq<ReturnType> for ReturnType"],["impl PartialEq<TraitBound> for TraitBound"],["impl PartialEq<TraitBoundModifier> for TraitBoundModifier"],["impl PartialEq<Type> for Type"],["impl PartialEq<TypeArray> for TypeArray"],["impl PartialEq<TypeBareFn> for TypeBareFn"],["impl PartialEq<TypeGroup> for TypeGroup"],["impl PartialEq<TypeImplTrait> for TypeImplTrait"],["impl PartialEq<TypeInfer> for TypeInfer"],["impl PartialEq<TypeMacro> for TypeMacro"],["impl PartialEq<TypeNever> for TypeNever"],["impl PartialEq<TypeParam> for TypeParam"],["impl PartialEq<TypeParamBound> for TypeParamBound"],["impl PartialEq<TypeParen> for TypeParen"],["impl PartialEq<TypePath> for TypePath"],["impl PartialEq<TypePtr> for TypePtr"],["impl PartialEq<TypeReference> for TypeReference"],["impl PartialEq<TypeSlice> for TypeSlice"],["impl PartialEq<TypeTraitObject> for TypeTraitObject"],["impl PartialEq<TypeTuple> for TypeTuple"],["impl PartialEq<UnOp> for UnOp"],["impl PartialEq<Variadic> for Variadic"],["impl PartialEq<Variant> for Variant"],["impl PartialEq<VisCrate> for VisCrate"],["impl PartialEq<VisPublic> for VisPublic"],["impl PartialEq<VisRestricted> for VisRestricted"],["impl PartialEq<Visibility> for Visibility"],["impl PartialEq<WhereClause> for WhereClause"],["impl PartialEq<WherePredicate> for WherePredicate"],["impl PartialEq<Nothing> for Nothing"]], -"synstructure":[["impl PartialEq<AddBounds> for AddBounds"],["impl PartialEq<BindStyle> for BindStyle"],["impl<'a> PartialEq<BindingInfo<'a>> for BindingInfo<'a>"],["impl<'a> PartialEq<VariantAst<'a>> for VariantAst<'a>"],["impl<'a> PartialEq<VariantInfo<'a>> for VariantInfo<'a>"],["impl<'a> PartialEq<Structure<'a>> for Structure<'a>"]] +"flexiber":[["impl PartialEq<Tag> for Tag"],["impl PartialEq<Class> for Class"],["impl<'a> PartialEq<Slice<'a>> for Slice<'a>"],["impl PartialEq<Length> for Length"],["impl PartialEq<Error> for Error"],["impl PartialEq<SimpleTag> for SimpleTag"],["impl PartialEq<ErrorKind> for ErrorKind"],["impl<V: PartialEq, T: PartialEq> PartialEq<TaggedValue<V, T>> for TaggedValue<V, T>"]], +"log":[["impl PartialEq<LevelFilter> for LevelFilter"],["impl PartialEq<LevelFilter> for Level"],["impl<'a> PartialEq<MetadataBuilder<'a>> for MetadataBuilder<'a>"],["impl PartialEq<Level> for Level"],["impl<'a> PartialEq<Metadata<'a>> for Metadata<'a>"],["impl PartialEq<ParseLevelError> for ParseLevelError"],["impl PartialEq<Level> for LevelFilter"]], +"proc_macro2":[["impl<T> PartialEq<T> for Identwhere\n T: ?Sized + AsRef<str>,"],["impl PartialEq<Ident> for Ident"],["impl PartialEq<Delimiter> for Delimiter"],["impl PartialEq<Spacing> for Spacing"]], +"syn":[["impl PartialEq<Do> for Do"],["impl PartialEq<Shl> for Shl"],["impl PartialEq<ExprCast> for ExprCast"],["impl<'a> PartialEq<TypeGenerics<'a>> for TypeGenerics<'a>"],["impl PartialEq<Lt> for Lt"],["impl PartialEq<TypeParam> for TypeParam"],["impl PartialEq<Box> for Box"],["impl PartialEq<Where> for Where"],["impl PartialEq<VisCrate> for VisCrate"],["impl PartialEq<LitByteStr> for LitByteStr"],["impl PartialEq<Le> for Le"],["impl PartialEq<Visibility> for Visibility"],["impl PartialEq<NestedMeta> for NestedMeta"],["impl PartialEq<OrOr> for OrOr"],["impl PartialEq<Meta> for Meta"],["impl PartialEq<GenericParam> for GenericParam"],["impl PartialEq<As> for As"],["impl PartialEq<QSelf> for QSelf"],["impl PartialEq<Super> for Super"],["impl PartialEq<TypeGroup> for TypeGroup"],["impl PartialEq<TypeBareFn> for TypeBareFn"],["impl PartialEq<Use> for Use"],["impl PartialEq<Enum> for Enum"],["impl PartialEq<Type> for Type"],["impl PartialEq<Dot> for Dot"],["impl PartialEq<Priv> for Priv"],["impl PartialEq<WherePredicate> for WherePredicate"],["impl PartialEq<Break> for Break"],["impl PartialEq<LitStr> for LitStr"],["impl PartialEq<Continue> for Continue"],["impl PartialEq<ParenthesizedGenericArguments> for ParenthesizedGenericArguments"],["impl PartialEq<MetaList> for MetaList"],["impl PartialEq<ExprField> for ExprField"],["impl PartialEq<Index> for Index"],["impl PartialEq<UnOp> for UnOp"],["impl PartialEq<BoundLifetimes> for BoundLifetimes"],["impl PartialEq<And> for And"],["impl PartialEq<CaretEq> for CaretEq"],["impl PartialEq<DataEnum> for DataEnum"],["impl PartialEq<Attribute> for Attribute"],["impl PartialEq<TypeTuple> for TypeTuple"],["impl PartialEq<For> for For"],["impl PartialEq<If> for If"],["impl PartialEq<OrEq> for OrEq"],["impl PartialEq<Brace> for Brace"],["impl PartialEq<DeriveInput> for DeriveInput"],["impl PartialEq<PathArguments> for PathArguments"],["impl PartialEq<Impl> for Impl"],["impl PartialEq<Rem> for Rem"],["impl PartialEq<PathSegment> for PathSegment"],["impl PartialEq<TypeTraitObject> for TypeTraitObject"],["impl PartialEq<Try> for Try"],["impl PartialEq<Pound> for Pound"],["impl PartialEq<Variant> for Variant"],["impl PartialEq<DataUnion> for DataUnion"],["impl PartialEq<ShlEq> for ShlEq"],["impl PartialEq<Move> for Move"],["impl PartialEq<EqEq> for EqEq"],["impl PartialEq<PredicateType> for PredicateType"],["impl PartialEq<SelfValue> for SelfValue"],["impl PartialEq<Paren> for Paren"],["impl PartialEq<Dot3> for Dot3"],["impl PartialEq<Become> for Become"],["impl PartialEq<LitFloat> for LitFloat"],["impl PartialEq<Comma> for Comma"],["impl PartialEq<At> for At"],["impl PartialEq<Gt> for Gt"],["impl PartialEq<Constraint> for Constraint"],["impl PartialEq<Semi> for Semi"],["impl PartialEq<ExprLit> for ExprLit"],["impl PartialEq<ReturnType> for ReturnType"],["impl PartialEq<Field> for Field"],["impl PartialEq<RArrow> for RArrow"],["impl PartialEq<Add> for Add"],["impl PartialEq<Ne> for Ne"],["impl PartialEq<Variadic> for Variadic"],["impl PartialEq<AngleBracketedGenericArguments> for AngleBracketedGenericArguments"],["impl PartialEq<ExprCall> for ExprCall"],["impl PartialEq<Dollar> for Dollar"],["impl PartialEq<Yield> for Yield"],["impl PartialEq<Lit> for Lit"],["impl PartialEq<Typeof> for Typeof"],["impl PartialEq<ExprUnary> for ExprUnary"],["impl PartialEq<BareFnArg> for BareFnArg"],["impl PartialEq<LitByte> for LitByte"],["impl PartialEq<Union> for Union"],["impl PartialEq<ExprPath> for ExprPath"],["impl PartialEq<TypeMacro> for TypeMacro"],["impl PartialEq<Unsized> for Unsized"],["impl PartialEq<TypeSlice> for TypeSlice"],["impl PartialEq<DivEq> for DivEq"],["impl PartialEq<AndAnd> for AndAnd"],["impl PartialEq<Shr> for Shr"],["impl PartialEq<Or> for Or"],["impl PartialEq<Colon> for Colon"],["impl PartialEq<DotDotEq> for DotDotEq"],["impl PartialEq<TypeReference> for TypeReference"],["impl PartialEq<While> for While"],["impl PartialEq<Ge> for Ge"],["impl PartialEq<Path> for Path"],["impl PartialEq<LitInt> for LitInt"],["impl PartialEq<MacroDelimiter> for MacroDelimiter"],["impl PartialEq<Generics> for Generics"],["impl PartialEq<In> for In"],["impl PartialEq<Star> for Star"],["impl<'a> PartialEq<Cursor<'a>> for Cursor<'a>"],["impl PartialEq<TypeParen> for TypeParen"],["impl PartialEq<PredicateEq> for PredicateEq"],["impl PartialEq<Group> for Group"],["impl PartialEq<LArrow> for LArrow"],["impl PartialEq<FieldsNamed> for FieldsNamed"],["impl PartialEq<ExprBinary> for ExprBinary"],["impl PartialEq<Auto> for Auto"],["impl<'a> PartialEq<ImplGenerics<'a>> for ImplGenerics<'a>"],["impl PartialEq<Bang> for Bang"],["impl PartialEq<Await> for Await"],["impl PartialEq<Trait> for Trait"],["impl PartialEq<VisPublic> for VisPublic"],["impl PartialEq<Else> for Else"],["impl PartialEq<SelfType> for SelfType"],["impl PartialEq<MulEq> for MulEq"],["impl PartialEq<Mut> for Mut"],["impl PartialEq<FatArrow> for FatArrow"],["impl PartialEq<Macro> for Macro"],["impl PartialEq<DataStruct> for DataStruct"],["impl PartialEq<Abstract> for Abstract"],["impl PartialEq<Binding> for Binding"],["impl PartialEq<Match> for Match"],["impl PartialEq<Mod> for Mod"],["impl PartialEq<BinOp> for BinOp"],["impl PartialEq<Static> for Static"],["impl PartialEq<Data> for Data"],["impl PartialEq<ConstParam> for ConstParam"],["impl PartialEq<Async> for Async"],["impl PartialEq<Let> for Let"],["impl PartialEq<Bracket> for Bracket"],["impl PartialEq<WhereClause> for WhereClause"],["impl PartialEq<Struct> for Struct"],["impl PartialEq<Member> for Member"],["impl PartialEq<TraitBound> for TraitBound"],["impl PartialEq<TypeInfer> for TypeInfer"],["impl PartialEq<TraitBoundModifier> for TraitBoundModifier"],["impl PartialEq<Sub> for Sub"],["impl PartialEq<TypeImplTrait> for TypeImplTrait"],["impl PartialEq<Abi> for Abi"],["impl<'a> PartialEq<Turbofish<'a>> for Turbofish<'a>"],["impl PartialEq<ShrEq> for ShrEq"],["impl PartialEq<Const> for Const"],["impl PartialEq<Eq> for Eq"],["impl PartialEq<MetaNameValue> for MetaNameValue"],["impl<T, P> PartialEq<Punctuated<T, P>> for Punctuated<T, P>where\n T: PartialEq,\n P: PartialEq,"],["impl PartialEq<Unsafe> for Unsafe"],["impl PartialEq<FieldsUnnamed> for FieldsUnnamed"],["impl PartialEq<Default> for Default"],["impl PartialEq<Final> for Final"],["impl PartialEq<AttrStyle> for AttrStyle"],["impl PartialEq<PredicateLifetime> for PredicateLifetime"],["impl PartialEq<Ref> for Ref"],["impl PartialEq<TypeParamBound> for TypeParamBound"],["impl PartialEq<AddEq> for AddEq"],["impl PartialEq<Nothing> for Nothing"],["impl PartialEq<Crate> for Crate"],["impl PartialEq<RemEq> for RemEq"],["impl PartialEq<Colon2> for Colon2"],["impl PartialEq<TypeNever> for TypeNever"],["impl PartialEq<ExprParen> for ExprParen"],["impl PartialEq<Underscore> for Underscore"],["impl PartialEq<Expr> for Expr"],["impl PartialEq<LitChar> for LitChar"],["impl PartialEq<Return> for Return"],["impl PartialEq<TypePath> for TypePath"],["impl PartialEq<LitBool> for LitBool"],["impl PartialEq<GenericArgument> for GenericArgument"],["impl PartialEq<Caret> for Caret"],["impl PartialEq<Loop> for Loop"],["impl PartialEq<Dot2> for Dot2"],["impl PartialEq<Override> for Override"],["impl PartialEq<Virtual> for Virtual"],["impl PartialEq<Div> for Div"],["impl PartialEq<VisRestricted> for VisRestricted"],["impl PartialEq<Dyn> for Dyn"],["impl PartialEq<TypeArray> for TypeArray"],["impl PartialEq<LifetimeDef> for LifetimeDef"],["impl PartialEq<SubEq> for SubEq"],["impl PartialEq<Question> for Question"],["impl PartialEq<Fn> for Fn"],["impl PartialEq<Tilde> for Tilde"],["impl PartialEq<Extern> for Extern"],["impl PartialEq<Lifetime> for Lifetime"],["impl PartialEq<AndEq> for AndEq"],["impl PartialEq<Fields> for Fields"],["impl PartialEq<TypePtr> for TypePtr"],["impl PartialEq<Pub> for Pub"],["impl PartialEq<Type> for Type"],["impl PartialEq<Macro> for Macro"],["impl PartialEq<ExprIndex> for ExprIndex"]], +"synstructure":[["impl<'a> PartialEq<BindingInfo<'a>> for BindingInfo<'a>"],["impl PartialEq<BindStyle> for BindStyle"],["impl<'a> PartialEq<VariantAst<'a>> for VariantAst<'a>"],["impl<'a> PartialEq<VariantInfo<'a>> for VariantInfo<'a>"],["impl<'a> PartialEq<Structure<'a>> for Structure<'a>"],["impl PartialEq<AddBounds> for AddBounds"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialOrd.js b/implementors/core/cmp/trait.PartialOrd.js index 0dddd54..9c8d87d 100644 --- a/implementors/core/cmp/trait.PartialOrd.js +++ b/implementors/core/cmp/trait.PartialOrd.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"flexiber":[["impl PartialOrd<Length> for Length"]], -"log":[["impl PartialOrd<Level> for Level"],["impl PartialOrd<LevelFilter> for Level"],["impl PartialOrd<LevelFilter> for LevelFilter"],["impl PartialOrd<Level> for LevelFilter"],["impl<'a> PartialOrd<Metadata<'a>> for Metadata<'a>"],["impl<'a> PartialOrd<MetadataBuilder<'a>> for MetadataBuilder<'a>"]], -"proc_macro2":[["impl PartialOrd<Ident> for Ident"]], -"syn":[["impl PartialOrd<Lifetime> for Lifetime"],["impl<'a> PartialOrd<Cursor<'a>> for Cursor<'a>"]] +"flexiber":[["impl PartialOrd<Length> for Length"]], +"log":[["impl<'a> PartialOrd<Metadata<'a>> for Metadata<'a>"],["impl PartialOrd<Level> for LevelFilter"],["impl<'a> PartialOrd<MetadataBuilder<'a>> for MetadataBuilder<'a>"],["impl PartialOrd<LevelFilter> for Level"],["impl PartialOrd<Level> for Level"],["impl PartialOrd<LevelFilter> for LevelFilter"]], +"proc_macro2":[["impl PartialOrd<Ident> for Ident"]], +"syn":[["impl<'a> PartialOrd<Cursor<'a>> for Cursor<'a>"],["impl PartialOrd<Lifetime> for Lifetime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.AsRef.js b/implementors/core/convert/trait.AsRef.js index 4c99397..7f802d8 100644 --- a/implementors/core/convert/trait.AsRef.js +++ b/implementors/core/convert/trait.AsRef.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"flexiber":[["impl AsRef<[u8]> for Slice<'_>"]] +"flexiber":[["impl AsRef<[u8]> for Slice<'_>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index ba7ed9e..95ab421 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"flexiber":[["impl<'a> From<&'a [u8]> for Decoder<'a>"],["impl From<ErrorKind> for Error"],["impl From<Infallible> for Error"],["impl From<u8> for Length"],["impl From<u16> for Length"],["impl From<Length> for u16"],["impl From<Length> for usize"]], -"proc_macro2":[["impl From<Span> for Span"],["impl From<TokenStream> for TokenStream"],["impl From<TokenStream> for TokenStream"],["impl From<TokenTree> for TokenStream"],["impl From<Group> for TokenTree"],["impl From<Ident> for TokenTree"],["impl From<Punct> for TokenTree"],["impl From<Literal> for TokenTree"]], -"syn":[["impl From<SelfValue> for Ident"],["impl From<SelfType> for Ident"],["impl From<Super> for Ident"],["impl From<Crate> for Ident"],["impl From<Extern> for Ident"],["impl From<Underscore> for Ident"],["impl From<Path> for Meta"],["impl From<MetaList> for Meta"],["impl From<MetaNameValue> for Meta"],["impl From<Meta> for NestedMeta"],["impl From<Lit> for NestedMeta"],["impl From<FieldsNamed> for Fields"],["impl From<FieldsUnnamed> for Fields"],["impl From<VisPublic> for Visibility"],["impl From<VisCrate> for Visibility"],["impl From<VisRestricted> for Visibility"],["impl From<ExprArray> for Expr"],["impl From<ExprAssign> for Expr"],["impl From<ExprAssignOp> for Expr"],["impl From<ExprAsync> for Expr"],["impl From<ExprAwait> for Expr"],["impl From<ExprBinary> for Expr"],["impl From<ExprBlock> for Expr"],["impl From<ExprBox> for Expr"],["impl From<ExprBreak> for Expr"],["impl From<ExprCall> for Expr"],["impl From<ExprCast> for Expr"],["impl From<ExprClosure> for Expr"],["impl From<ExprContinue> for Expr"],["impl From<ExprField> for Expr"],["impl From<ExprForLoop> for Expr"],["impl From<ExprGroup> for Expr"],["impl From<ExprIf> for Expr"],["impl From<ExprIndex> for Expr"],["impl From<ExprLet> for Expr"],["impl From<ExprLit> for Expr"],["impl From<ExprLoop> for Expr"],["impl From<ExprMacro> for Expr"],["impl From<ExprMatch> for Expr"],["impl From<ExprMethodCall> for Expr"],["impl From<ExprParen> for Expr"],["impl From<ExprPath> for Expr"],["impl From<ExprRange> for Expr"],["impl From<ExprReference> for Expr"],["impl From<ExprRepeat> for Expr"],["impl From<ExprReturn> for Expr"],["impl From<ExprStruct> for Expr"],["impl From<ExprTry> for Expr"],["impl From<ExprTryBlock> for Expr"],["impl From<ExprTuple> for Expr"],["impl From<ExprType> for Expr"],["impl From<ExprUnary> for Expr"],["impl From<ExprUnsafe> for Expr"],["impl From<ExprWhile> for Expr"],["impl From<ExprYield> for Expr"],["impl From<Ident> for Member"],["impl From<Index> for Member"],["impl From<usize> for Member"],["impl From<usize> for Index"],["impl From<TypeParam> for GenericParam"],["impl From<LifetimeDef> for GenericParam"],["impl From<ConstParam> for GenericParam"],["impl From<Ident> for TypeParam"],["impl From<TraitBound> for TypeParamBound"],["impl From<Lifetime> for TypeParamBound"],["impl From<PredicateType> for WherePredicate"],["impl From<PredicateLifetime> for WherePredicate"],["impl From<PredicateEq> for WherePredicate"],["impl From<LitStr> for Lit"],["impl From<LitByteStr> for Lit"],["impl From<LitByte> for Lit"],["impl From<LitChar> for Lit"],["impl From<LitInt> for Lit"],["impl From<LitFloat> for Lit"],["impl From<LitBool> for Lit"],["impl From<Literal> for LitInt"],["impl From<Literal> for LitFloat"],["impl From<DataStruct> for Data"],["impl From<DataEnum> for Data"],["impl From<DataUnion> for Data"],["impl From<TypeArray> for Type"],["impl From<TypeBareFn> for Type"],["impl From<TypeGroup> for Type"],["impl From<TypeImplTrait> for Type"],["impl From<TypeInfer> for Type"],["impl From<TypeMacro> for Type"],["impl From<TypeNever> for Type"],["impl From<TypeParen> for Type"],["impl From<TypePath> for Type"],["impl From<TypePtr> for Type"],["impl From<TypeReference> for Type"],["impl From<TypeSlice> for Type"],["impl From<TypeTraitObject> for Type"],["impl From<TypeTuple> for Type"],["impl<T> From<T> for Pathwhere
    T: Into<PathSegment>,
"],["impl<T> From<T> for PathSegmentwhere
    T: Into<Ident>,
"],["impl From<LexError> for Error"]] +"flexiber":[["impl From<Length> for u16"],["impl From<u8> for Length"],["impl<'a> From<&'a [u8]> for Decoder<'a>"],["impl From<ErrorKind> for Error"],["impl From<u16> for Length"],["impl From<Length> for usize"],["impl From<Infallible> for Error"]], +"proc_macro2":[["impl From<TokenTree> for TokenStream"],["impl From<TokenStream> for TokenStream"],["impl From<Group> for TokenTree"],["impl From<Span> for Span"],["impl From<Punct> for TokenTree"],["impl From<Literal> for TokenTree"],["impl From<TokenStream> for TokenStream"],["impl From<Ident> for TokenTree"]], +"syn":[["impl From<usize> for Member"],["impl From<LitBool> for Lit"],["impl From<LitByte> for Lit"],["impl From<ExprCall> for Expr"],["impl From<ExprTuple> for Expr"],["impl From<MetaList> for Meta"],["impl From<ExprBinary> for Expr"],["impl From<DataUnion> for Data"],["impl From<ExprIf> for Expr"],["impl From<ExprAsync> for Expr"],["impl From<PredicateType> for WherePredicate"],["impl From<ExprAssign> for Expr"],["impl From<ExprTryBlock> for Expr"],["impl<T> From<T> for PathSegmentwhere\n T: Into<Ident>,"],["impl From<ExprType> for Expr"],["impl From<Path> for Meta"],["impl From<TypeImplTrait> for Type"],["impl From<ExprUnary> for Expr"],["impl From<TypeNever> for Type"],["impl From<ExprLet> for Expr"],["impl From<LexError> for Error"],["impl From<ExprCast> for Expr"],["impl From<ExprMatch> for Expr"],["impl From<ExprBreak> for Expr"],["impl From<Index> for Member"],["impl From<Underscore> for Ident"],["impl From<TypePtr> for Type"],["impl From<TypeArray> for Type"],["impl From<ConstParam> for GenericParam"],["impl From<ExprArray> for Expr"],["impl From<ExprStruct> for Expr"],["impl From<LifetimeDef> for GenericParam"],["impl From<TypeTuple> for Type"],["impl From<TypeReference> for Type"],["impl From<Literal> for LitInt"],["impl From<Lit> for NestedMeta"],["impl From<ExprWhile> for Expr"],["impl From<ExprRepeat> for Expr"],["impl From<ExprField> for Expr"],["impl From<Literal> for LitFloat"],["impl From<TypeParam> for GenericParam"],["impl From<SelfValue> for Ident"],["impl From<ExprRange> for Expr"],["impl From<Ident> for Member"],["impl From<ExprReference> for Expr"],["impl From<FieldsUnnamed> for Fields"],["impl From<ExprGroup> for Expr"],["impl From<ExprContinue> for Expr"],["impl From<ExprIndex> for Expr"],["impl From<TypeBareFn> for Type"],["impl From<TypeTraitObject> for Type"],["impl From<ExprClosure> for Expr"],["impl From<LitFloat> for Lit"],["impl From<ExprBox> for Expr"],["impl From<ExprReturn> for Expr"],["impl From<TraitBound> for TypeParamBound"],["impl From<usize> for Index"],["impl From<ExprBlock> for Expr"],["impl From<MetaNameValue> for Meta"],["impl From<TypeGroup> for Type"],["impl From<Meta> for NestedMeta"],["impl From<TypeParen> for Type"],["impl From<ExprMacro> for Expr"],["impl From<ExprTry> for Expr"],["impl From<ExprLoop> for Expr"],["impl From<LitInt> for Lit"],["impl From<Super> for Ident"],["impl From<ExprYield> for Expr"],["impl From<ExprMethodCall> for Expr"],["impl From<ExprPath> for Expr"],["impl From<ExprAwait> for Expr"],["impl From<LitByteStr> for Lit"],["impl From<Extern> for Ident"],["impl From<ExprAssignOp> for Expr"],["impl From<ExprLit> for Expr"],["impl<T> From<T> for Pathwhere\n T: Into<PathSegment>,"],["impl From<Crate> for Ident"],["impl From<DataStruct> for Data"],["impl From<TypeInfer> for Type"],["impl From<ExprUnsafe> for Expr"],["impl From<ExprParen> for Expr"],["impl From<PredicateLifetime> for WherePredicate"],["impl From<Ident> for TypeParam"],["impl From<SelfType> for Ident"],["impl From<LitChar> for Lit"],["impl From<TypePath> for Type"],["impl From<TypeMacro> for Type"],["impl From<VisRestricted> for Visibility"],["impl From<ExprForLoop> for Expr"],["impl From<LitStr> for Lit"],["impl From<VisCrate> for Visibility"],["impl From<Lifetime> for TypeParamBound"],["impl From<TypeSlice> for Type"],["impl From<PredicateEq> for WherePredicate"],["impl From<DataEnum> for Data"],["impl From<VisPublic> for Visibility"],["impl From<FieldsNamed> for Fields"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.TryFrom.js b/implementors/core/convert/trait.TryFrom.js index 2b069c0..f865f94 100644 --- a/implementors/core/convert/trait.TryFrom.js +++ b/implementors/core/convert/trait.TryFrom.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"flexiber":[["impl<'a> TryFrom<&'a [&'a (dyn Encodable + 'a)]> for Length"],["impl TryFrom<usize> for Length"],["impl TryFrom<u8> for SimpleTag"],["impl TryFrom<u8> for Class"],["impl TryFrom<&[u8]> for Tag"],["impl TryFrom<u8> for Tag"]] +"flexiber":[["impl<'a> TryFrom<&'a [&'a dyn Encodable]> for Length"],["impl TryFrom<u8> for SimpleTag"],["impl TryFrom<u8> for Class"],["impl TryFrom<&[u8]> for Tag"],["impl TryFrom<usize> for Length"],["impl TryFrom<u8> for Tag"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 15947f8..82c35d8 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,5 +1,6 @@ (function() {var implementors = { -"flexiber":[["impl Default for Length"]], -"proc_macro2":[["impl Default for TokenStream"]], -"syn":[["impl Default for Underscore"],["impl Default for Abstract"],["impl Default for As"],["impl Default for Async"],["impl Default for Auto"],["impl Default for Await"],["impl Default for Become"],["impl Default for Box"],["impl Default for Break"],["impl Default for Const"],["impl Default for Continue"],["impl Default for Crate"],["impl Default for Default"],["impl Default for Do"],["impl Default for Dyn"],["impl Default for Else"],["impl Default for Enum"],["impl Default for Extern"],["impl Default for Final"],["impl Default for Fn"],["impl Default for For"],["impl Default for If"],["impl Default for Impl"],["impl Default for In"],["impl Default for Let"],["impl Default for Loop"],["impl Default for Macro"],["impl Default for Match"],["impl Default for Mod"],["impl Default for Move"],["impl Default for Mut"],["impl Default for Override"],["impl Default for Priv"],["impl Default for Pub"],["impl Default for Ref"],["impl Default for Return"],["impl Default for SelfType"],["impl Default for SelfValue"],["impl Default for Static"],["impl Default for Struct"],["impl Default for Super"],["impl Default for Trait"],["impl Default for Try"],["impl Default for Type"],["impl Default for Typeof"],["impl Default for Union"],["impl Default for Unsafe"],["impl Default for Unsized"],["impl Default for Use"],["impl Default for Virtual"],["impl Default for Where"],["impl Default for While"],["impl Default for Yield"],["impl Default for Add"],["impl Default for AddEq"],["impl Default for And"],["impl Default for AndAnd"],["impl Default for AndEq"],["impl Default for At"],["impl Default for Bang"],["impl Default for Caret"],["impl Default for CaretEq"],["impl Default for Colon"],["impl Default for Colon2"],["impl Default for Comma"],["impl Default for Div"],["impl Default for DivEq"],["impl Default for Dollar"],["impl Default for Dot"],["impl Default for Dot2"],["impl Default for Dot3"],["impl Default for DotDotEq"],["impl Default for Eq"],["impl Default for EqEq"],["impl Default for Ge"],["impl Default for Gt"],["impl Default for Le"],["impl Default for Lt"],["impl Default for MulEq"],["impl Default for Ne"],["impl Default for Or"],["impl Default for OrEq"],["impl Default for OrOr"],["impl Default for Pound"],["impl Default for Question"],["impl Default for RArrow"],["impl Default for LArrow"],["impl Default for Rem"],["impl Default for RemEq"],["impl Default for FatArrow"],["impl Default for Semi"],["impl Default for Shl"],["impl Default for ShlEq"],["impl Default for Shr"],["impl Default for ShrEq"],["impl Default for Star"],["impl Default for Sub"],["impl Default for SubEq"],["impl Default for Tilde"],["impl Default for Brace"],["impl Default for Bracket"],["impl Default for Paren"],["impl Default for Group"],["impl Default for Generics"],["impl Default for BoundLifetimes"],["impl Default for PathArguments"],["impl<T, P> Default for Punctuated<T, P>"]] +"flexiber":[["impl Default for Length"]], +"log":[["impl<'a> Default for RecordBuilder<'a>"],["impl<'a> Default for MetadataBuilder<'a>"]], +"proc_macro2":[["impl Default for TokenStream"]], +"syn":[["impl Default for Pub"],["impl Default for Auto"],["impl Default for OrEq"],["impl Default for Dot"],["impl Default for Union"],["impl Default for Priv"],["impl Default for Dollar"],["impl Default for Le"],["impl Default for Eq"],["impl Default for Semi"],["impl Default for OrOr"],["impl Default for For"],["impl Default for SelfType"],["impl Default for Enum"],["impl Default for Mut"],["impl Default for Dyn"],["impl Default for Break"],["impl Default for MulEq"],["impl Default for AndAnd"],["impl Default for Override"],["impl Default for Static"],["impl Default for Bracket"],["impl Default for Default"],["impl Default for Ne"],["impl Default for Virtual"],["impl Default for Where"],["impl Default for FatArrow"],["impl Default for Shl"],["impl Default for Abstract"],["impl Default for Const"],["impl Default for Crate"],["impl Default for Return"],["impl Default for Continue"],["impl Default for RemEq"],["impl<T, P> Default for Punctuated<T, P>"],["impl Default for BoundLifetimes"],["impl Default for Struct"],["impl Default for As"],["impl Default for Ge"],["impl Default for Colon"],["impl Default for Ref"],["impl Default for Add"],["impl Default for Typeof"],["impl Default for Await"],["impl Default for Match"],["impl Default for CaretEq"],["impl Default for Do"],["impl Default for Unsafe"],["impl Default for Try"],["impl Default for Loop"],["impl Default for DotDotEq"],["impl Default for SelfValue"],["impl Default for Type"],["impl Default for SubEq"],["impl Default for AddEq"],["impl Default for Unsized"],["impl Default for Fn"],["impl Default for If"],["impl Default for RArrow"],["impl Default for Bang"],["impl Default for Else"],["impl Default for EqEq"],["impl Default for Box"],["impl Default for Yield"],["impl Default for AndEq"],["impl Default for Async"],["impl Default for In"],["impl Default for Use"],["impl Default for Trait"],["impl Default for Super"],["impl Default for Final"],["impl Default for Underscore"],["impl Default for Extern"],["impl Default for Macro"],["impl Default for While"],["impl Default for Or"],["impl Default for Colon2"],["impl Default for DivEq"],["impl Default for Generics"],["impl Default for Group"],["impl Default for Let"],["impl Default for Sub"],["impl Default for Star"],["impl Default for Rem"],["impl Default for Question"],["impl Default for Mod"],["impl Default for Tilde"],["impl Default for LArrow"],["impl Default for Become"],["impl Default for Pound"],["impl Default for Brace"],["impl Default for Caret"],["impl Default for ShlEq"],["impl Default for ShrEq"],["impl Default for Paren"],["impl Default for Gt"],["impl Default for PathArguments"],["impl Default for And"],["impl Default for At"],["impl Default for Impl"],["impl Default for Move"],["impl Default for Div"],["impl Default for Shr"],["impl Default for Lt"],["impl Default for Dot2"],["impl Default for Dot3"],["impl Default for Comma"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/error/trait.Error.js b/implementors/core/error/trait.Error.js index 5ff6088..a81b9f8 100644 --- a/implementors/core/error/trait.Error.js +++ b/implementors/core/error/trait.Error.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"proc_macro2":[["impl Error for LexError"]], -"syn":[["impl Error for Error"]] +"proc_macro2":[["impl Error for LexError"]], +"syn":[["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/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 761f2c3..dd9bdcf 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl<T, S, U> Debug for HexStr<'_, T, U, S>where
    T: AsRef<[u8]> + ?Sized,
    U: Unsigned,
    S: Separator,
"],["impl Debug for Statistics"]], -"flexiber":[["impl<'a> Debug for Decoder<'a>"],["impl<'a> Debug for Encoder<'a>"],["impl Debug for Error"],["impl Debug for ErrorKind"],["impl Debug for Length"],["impl<'a> Debug for Slice<'a>"],["impl Debug for Class"],["impl Debug for Tag"],["impl<V: Debug, T: Debug> Debug for TaggedValue<V, T>"]], -"log":[["impl Debug for Level"],["impl Debug for LevelFilter"],["impl<'a> Debug for Record<'a>"],["impl<'a> Debug for RecordBuilder<'a>"],["impl<'a> Debug for Metadata<'a>"],["impl<'a> Debug for MetadataBuilder<'a>"],["impl Debug for SetLoggerError"],["impl Debug for ParseLevelError"]], -"proc_macro2":[["impl Debug for TokenStream"],["impl Debug for LexError"],["impl Debug for Span"],["impl Debug for TokenTree"],["impl Debug for Delimiter"],["impl Debug for Group"],["impl Debug for Spacing"],["impl Debug for Punct"],["impl Debug for Ident"],["impl Debug for Literal"],["impl Debug for IntoIter"]], -"syn":[["impl Debug for Underscore"],["impl Debug for Abstract"],["impl Debug for As"],["impl Debug for Async"],["impl Debug for Auto"],["impl Debug for Await"],["impl Debug for Become"],["impl Debug for Box"],["impl Debug for Break"],["impl Debug for Const"],["impl Debug for Continue"],["impl Debug for Crate"],["impl Debug for Default"],["impl Debug for Do"],["impl Debug for Dyn"],["impl Debug for Else"],["impl Debug for Enum"],["impl Debug for Extern"],["impl Debug for Final"],["impl Debug for Fn"],["impl Debug for For"],["impl Debug for If"],["impl Debug for Impl"],["impl Debug for In"],["impl Debug for Let"],["impl Debug for Loop"],["impl Debug for Macro"],["impl Debug for Match"],["impl Debug for Mod"],["impl Debug for Move"],["impl Debug for Mut"],["impl Debug for Override"],["impl Debug for Priv"],["impl Debug for Pub"],["impl Debug for Ref"],["impl Debug for Return"],["impl Debug for SelfType"],["impl Debug for SelfValue"],["impl Debug for Static"],["impl Debug for Struct"],["impl Debug for Super"],["impl Debug for Trait"],["impl Debug for Try"],["impl Debug for Type"],["impl Debug for Typeof"],["impl Debug for Union"],["impl Debug for Unsafe"],["impl Debug for Unsized"],["impl Debug for Use"],["impl Debug for Virtual"],["impl Debug for Where"],["impl Debug for While"],["impl Debug for Yield"],["impl Debug for Add"],["impl Debug for AddEq"],["impl Debug for And"],["impl Debug for AndAnd"],["impl Debug for AndEq"],["impl Debug for At"],["impl Debug for Bang"],["impl Debug for Caret"],["impl Debug for CaretEq"],["impl Debug for Colon"],["impl Debug for Colon2"],["impl Debug for Comma"],["impl Debug for Div"],["impl Debug for DivEq"],["impl Debug for Dollar"],["impl Debug for Dot"],["impl Debug for Dot2"],["impl Debug for Dot3"],["impl Debug for DotDotEq"],["impl Debug for Eq"],["impl Debug for EqEq"],["impl Debug for Ge"],["impl Debug for Gt"],["impl Debug for Le"],["impl Debug for Lt"],["impl Debug for MulEq"],["impl Debug for Ne"],["impl Debug for Or"],["impl Debug for OrEq"],["impl Debug for OrOr"],["impl Debug for Pound"],["impl Debug for Question"],["impl Debug for RArrow"],["impl Debug for LArrow"],["impl Debug for Rem"],["impl Debug for RemEq"],["impl Debug for FatArrow"],["impl Debug for Semi"],["impl Debug for Shl"],["impl Debug for ShlEq"],["impl Debug for Shr"],["impl Debug for ShrEq"],["impl Debug for Star"],["impl Debug for Sub"],["impl Debug for SubEq"],["impl Debug for Tilde"],["impl Debug for Brace"],["impl Debug for Bracket"],["impl Debug for Paren"],["impl Debug for Group"],["impl<'a> Debug for ImplGenerics<'a>"],["impl<'a> Debug for TypeGenerics<'a>"],["impl<'a> Debug for Turbofish<'a>"],["impl Debug for LitStr"],["impl Debug for LitByteStr"],["impl Debug for LitByte"],["impl Debug for LitChar"],["impl Debug for LitInt"],["impl Debug for LitFloat"],["impl Debug for LitBool"],["impl<T: Debug, P: Debug> Debug for Punctuated<T, P>"],["impl Debug for Abi"],["impl Debug for AngleBracketedGenericArguments"],["impl Debug for AttrStyle"],["impl Debug for Attribute"],["impl Debug for BareFnArg"],["impl Debug for BinOp"],["impl Debug for Binding"],["impl Debug for BoundLifetimes"],["impl Debug for ConstParam"],["impl Debug for Constraint"],["impl Debug for Data"],["impl Debug for DataEnum"],["impl Debug for DataStruct"],["impl Debug for DataUnion"],["impl Debug for DeriveInput"],["impl Debug for Expr"],["impl Debug for ExprBinary"],["impl Debug for ExprCall"],["impl Debug for ExprCast"],["impl Debug for ExprField"],["impl Debug for ExprIndex"],["impl Debug for ExprLit"],["impl Debug for ExprParen"],["impl Debug for ExprPath"],["impl Debug for ExprUnary"],["impl Debug for Field"],["impl Debug for Fields"],["impl Debug for FieldsNamed"],["impl Debug for FieldsUnnamed"],["impl Debug for GenericArgument"],["impl Debug for GenericParam"],["impl Debug for Generics"],["impl Debug for Index"],["impl Debug for Lifetime"],["impl Debug for LifetimeDef"],["impl Debug for Lit"],["impl Debug for Macro"],["impl Debug for MacroDelimiter"],["impl Debug for Member"],["impl Debug for Meta"],["impl Debug for MetaList"],["impl Debug for MetaNameValue"],["impl Debug for NestedMeta"],["impl Debug for ParenthesizedGenericArguments"],["impl Debug for Path"],["impl Debug for PathArguments"],["impl Debug for PathSegment"],["impl Debug for PredicateEq"],["impl Debug for PredicateLifetime"],["impl Debug for PredicateType"],["impl Debug for QSelf"],["impl Debug for ReturnType"],["impl Debug for TraitBound"],["impl Debug for TraitBoundModifier"],["impl Debug for Type"],["impl Debug for TypeArray"],["impl Debug for TypeBareFn"],["impl Debug for TypeGroup"],["impl Debug for TypeImplTrait"],["impl Debug for TypeInfer"],["impl Debug for TypeMacro"],["impl Debug for TypeNever"],["impl Debug for TypeParam"],["impl Debug for TypeParamBound"],["impl Debug for TypeParen"],["impl Debug for TypePath"],["impl Debug for TypePtr"],["impl Debug for TypeReference"],["impl Debug for TypeSlice"],["impl Debug for TypeTraitObject"],["impl Debug for TypeTuple"],["impl Debug for UnOp"],["impl Debug for Variadic"],["impl Debug for Variant"],["impl Debug for VisCrate"],["impl Debug for VisPublic"],["impl Debug for VisRestricted"],["impl Debug for Visibility"],["impl Debug for WhereClause"],["impl Debug for WherePredicate"],["impl<'a> Debug for ParseBuffer<'a>"],["impl Debug for Nothing"],["impl Debug for Error"]], -"synstructure":[["impl Debug for AddBounds"],["impl Debug for BindStyle"],["impl<'a> Debug for BindingInfo<'a>"],["impl<'a> Debug for VariantAst<'a>"],["impl<'a> Debug for VariantInfo<'a>"],["impl<'a> Debug for Structure<'a>"]] +"delog":[["impl<T, S, U> Debug for HexStr<'_, T, U, S>where\n T: AsRef<[u8]> + ?Sized,\n U: Unsigned,\n S: Separator,"],["impl Debug for Statistics"]], +"flexiber":[["impl Debug for Tag"],["impl<'a> Debug for Decoder<'a>"],["impl<'a> Debug for Encoder<'a>"],["impl Debug for Length"],["impl<V: Debug, T: Debug> Debug for TaggedValue<V, T>"],["impl Debug for Class"],["impl Debug for Error"],["impl Debug for ErrorKind"],["impl<'a> Debug for Slice<'a>"]], +"log":[["impl Debug for SetLoggerError"],["impl Debug for ParseLevelError"],["impl<'a> Debug for MetadataBuilder<'a>"],["impl Debug for Level"],["impl<'a> Debug for RecordBuilder<'a>"],["impl Debug for LevelFilter"],["impl<'a> Debug for Metadata<'a>"],["impl<'a> Debug for Record<'a>"]], +"proc_macro2":[["impl Debug for Group"],["impl Debug for TokenTree"],["impl Debug for TokenStream"],["impl Debug for IntoIter"],["impl Debug for Span"],["impl Debug for Punct"],["impl Debug for Ident"],["impl Debug for Literal"],["impl Debug for Spacing"],["impl Debug for DelimSpan"],["impl Debug for Delimiter"],["impl Debug for LexError"]], +"syn":[["impl Debug for Dollar"],["impl Debug for TypeNever"],["impl Debug for Ge"],["impl Debug for Rem"],["impl Debug for AngleBracketedGenericArguments"],["impl Debug for QSelf"],["impl Debug for Return"],["impl Debug for Type"],["impl Debug for Visibility"],["impl Debug for Priv"],["impl Debug for NestedMeta"],["impl Debug for Star"],["impl<'a> Debug for ParseBuffer<'a>"],["impl Debug for Path"],["impl Debug for ExprIndex"],["impl Debug for Match"],["impl Debug for Macro"],["impl Debug for Virtual"],["impl Debug for Try"],["impl Debug for DataUnion"],["impl Debug for ReturnType"],["impl Debug for Macro"],["impl Debug for TypeBareFn"],["impl Debug for TypeGroup"],["impl Debug for TypeParen"],["impl Debug for PathArguments"],["impl Debug for Caret"],["impl Debug for Variadic"],["impl Debug for Override"],["impl Debug for Variant"],["impl Debug for PredicateLifetime"],["impl Debug for Const"],["impl Debug for Crate"],["impl<'a> Debug for Turbofish<'a>"],["impl Debug for Error"],["impl Debug for TypePath"],["impl Debug for Static"],["impl Debug for LitFloat"],["impl Debug for Ref"],["impl Debug for Union"],["impl Debug for Super"],["impl Debug for Enum"],["impl Debug for Lt"],["impl Debug for Abi"],["impl Debug for Dyn"],["impl Debug for Yield"],["impl Debug for TypeReference"],["impl Debug for Typeof"],["impl Debug for BareFnArg"],["impl Debug for WhereClause"],["impl Debug for VisRestricted"],["impl Debug for Bracket"],["impl Debug for Tilde"],["impl Debug for TypeParamBound"],["impl Debug for Fields"],["impl<T: Debug, P: Debug> Debug for Punctuated<T, P>"],["impl Debug for Attribute"],["impl Debug for TraitBound"],["impl Debug for Paren"],["impl Debug for SelfType"],["impl Debug for Colon"],["impl Debug for LitChar"],["impl Debug for MulEq"],["impl Debug for PathSegment"],["impl Debug for TypeTuple"],["impl Debug for DeriveInput"],["impl Debug for Abstract"],["impl Debug for TypeImplTrait"],["impl Debug for GenericParam"],["impl Debug for Bang"],["impl Debug for VisPublic"],["impl Debug for Where"],["impl Debug for Div"],["impl Debug for MetaNameValue"],["impl Debug for Data"],["impl Debug for Comma"],["impl Debug for Extern"],["impl Debug for ExprParen"],["impl Debug for Auto"],["impl Debug for Become"],["impl Debug for Default"],["impl<'a> Debug for TypeGenerics<'a>"],["impl Debug for MacroDelimiter"],["impl Debug for RArrow"],["impl Debug for RemEq"],["impl Debug for ShrEq"],["impl Debug for ExprCall"],["impl Debug for Box"],["impl Debug for TypePtr"],["impl Debug for DotDotEq"],["impl Debug for Continue"],["impl<'a> Debug for ImplGenerics<'a>"],["impl Debug for In"],["impl Debug for DataStruct"],["impl Debug for DataEnum"],["impl Debug for Mut"],["impl Debug for Group"],["impl Debug for BinOp"],["impl Debug for Member"],["impl Debug for As"],["impl Debug for Brace"],["impl Debug for Shl"],["impl Debug for Le"],["impl Debug for PredicateEq"],["impl Debug for Shr"],["impl Debug for PredicateType"],["impl Debug for FieldsUnnamed"],["impl Debug for GenericArgument"],["impl Debug for Lit"],["impl Debug for LitByteStr"],["impl Debug for CaretEq"],["impl Debug for Loop"],["impl Debug for LitBool"],["impl Debug for Let"],["impl Debug for AttrStyle"],["impl Debug for Unsafe"],["impl Debug for DivEq"],["impl Debug for Unsized"],["impl Debug for Field"],["impl Debug for ConstParam"],["impl Debug for Async"],["impl Debug for ParenthesizedGenericArguments"],["impl Debug for Colon2"],["impl Debug for FatArrow"],["impl Debug for Generics"],["impl Debug for Mod"],["impl Debug for Fn"],["impl Debug for EqEq"],["impl Debug for Else"],["impl Debug for TypeArray"],["impl Debug for AddEq"],["impl Debug for Use"],["impl Debug for Pound"],["impl Debug for Semi"],["impl Debug for Pub"],["impl Debug for Expr"],["impl Debug for LitInt"],["impl Debug for Add"],["impl Debug for Trait"],["impl Debug for Eq"],["impl Debug for Sub"],["impl Debug for Do"],["impl Debug for AndAnd"],["impl Debug for TypeParam"],["impl Debug for FieldsNamed"],["impl Debug for Gt"],["impl Debug for TypeSlice"],["impl Debug for Question"],["impl Debug for TypeInfer"],["impl Debug for ExprLit"],["impl Debug for Impl"],["impl Debug for ShlEq"],["impl Debug for Underscore"],["impl Debug for ExprBinary"],["impl Debug for Binding"],["impl Debug for Nothing"],["impl Debug for If"],["impl Debug for Or"],["impl Debug for LArrow"],["impl Debug for While"],["impl Debug for For"],["impl Debug for ExprField"],["impl Debug for Break"],["impl Debug for OrEq"],["impl Debug for Type"],["impl Debug for AndEq"],["impl Debug for Move"],["impl Debug for Dot3"],["impl Debug for TypeMacro"],["impl Debug for SelfValue"],["impl Debug for LitByte"],["impl Debug for SubEq"],["impl Debug for TypeTraitObject"],["impl Debug for LifetimeDef"],["impl Debug for Await"],["impl Debug for And"],["impl Debug for LitStr"],["impl Debug for Struct"],["impl Debug for Ne"],["impl Debug for ExprCast"],["impl Debug for ExprUnary"],["impl Debug for Dot2"],["impl Debug for VisCrate"],["impl Debug for Meta"],["impl Debug for WherePredicate"],["impl Debug for Final"],["impl Debug for UnOp"],["impl Debug for Dot"],["impl Debug for MetaList"],["impl Debug for TraitBoundModifier"],["impl Debug for BoundLifetimes"],["impl Debug for At"],["impl Debug for OrOr"],["impl Debug for ExprPath"],["impl Debug for Index"],["impl Debug for Constraint"],["impl Debug for Lifetime"]], +"synstructure":[["impl Debug for BindStyle"],["impl<'a> Debug for Structure<'a>"],["impl Debug for AddBounds"],["impl<'a> Debug for BindingInfo<'a>"],["impl<'a> Debug for VariantAst<'a>"],["impl<'a> Debug for VariantInfo<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index d871d28..d959688 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,7 +1,7 @@ (function() {var implementors = { -"delog":[["impl<T, U, S> Display for HexStr<'_, T, U, S>where
    T: AsRef<[u8]> + ?Sized,
    U: Unsigned,
    S: Separator,
"]], -"flexiber":[["impl Display for Error"],["impl Display for ErrorKind"],["impl Display for Length"],["impl Display for Tag"]], -"log":[["impl Display for Level"],["impl Display for LevelFilter"],["impl Display for SetLoggerError"],["impl Display for ParseLevelError"]], -"proc_macro2":[["impl Display for TokenStream"],["impl Display for LexError"],["impl Display for TokenTree"],["impl Display for Group"],["impl Display for Punct"],["impl Display for Ident"],["impl Display for Literal"]], -"syn":[["impl Display for Lifetime"],["impl Display for LitInt"],["impl Display for LitFloat"],["impl<'a> Display for ParseBuffer<'a>"],["impl Display for Error"]] +"delog":[["impl<T, U, S> Display for HexStr<'_, T, U, S>where\n T: AsRef<[u8]> + ?Sized,\n U: Unsigned,\n S: Separator,"]], +"flexiber":[["impl Display for Tag"],["impl Display for Error"],["impl Display for Length"],["impl Display for ErrorKind"]], +"log":[["impl Display for Level"],["impl Display for LevelFilter"],["impl Display for ParseLevelError"],["impl Display for SetLoggerError"]], +"proc_macro2":[["impl Display for Literal"],["impl Display for TokenTree"],["impl Display for Punct"],["impl Display for Ident"],["impl Display for TokenStream"],["impl Display for LexError"],["impl Display for Group"]], +"syn":[["impl Display for LitInt"],["impl Display for Lifetime"],["impl<'a> Display for ParseBuffer<'a>"],["impl Display for Error"],["impl Display for LitFloat"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.LowerHex.js b/implementors/core/fmt/trait.LowerHex.js index c50e545..8d40b35 100644 --- a/implementors/core/fmt/trait.LowerHex.js +++ b/implementors/core/fmt/trait.LowerHex.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"delog":[["impl<'a, T, U, S> LowerHex for HexStr<'a, T, U, S>where
    T: AsRef<[u8]> + ?Sized,
    U: Unsigned,
    S: Separator,
"]] +"delog":[["impl<'a, T, U, S> LowerHex for HexStr<'a, T, U, S>where\n T: AsRef<[u8]> + ?Sized,\n U: Unsigned,\n S: Separator,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.UpperHex.js b/implementors/core/fmt/trait.UpperHex.js index 6fc77e2..f3df264 100644 --- a/implementors/core/fmt/trait.UpperHex.js +++ b/implementors/core/fmt/trait.UpperHex.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"delog":[["impl<'a, T, U, S> UpperHex for HexStr<'a, T, U, S>where
    T: AsRef<[u8]> + ?Sized,
    U: Unsigned,
    S: Separator,
"]] +"delog":[["impl<'a, T, U, S> UpperHex for HexStr<'a, T, U, S>where\n T: AsRef<[u8]> + ?Sized,\n U: Unsigned,\n S: Separator,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js index 64fd7bc..320f550 100644 --- a/implementors/core/hash/trait.Hash.js +++ b/implementors/core/hash/trait.Hash.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"log":[["impl Hash for Level"],["impl Hash for LevelFilter"],["impl<'a> Hash for Metadata<'a>"],["impl<'a> Hash for MetadataBuilder<'a>"]], -"proc_macro2":[["impl Hash for Ident"]], -"syn":[["impl Hash for Underscore"],["impl Hash for Abstract"],["impl Hash for As"],["impl Hash for Async"],["impl Hash for Auto"],["impl Hash for Await"],["impl Hash for Become"],["impl Hash for Box"],["impl Hash for Break"],["impl Hash for Const"],["impl Hash for Continue"],["impl Hash for Crate"],["impl Hash for Default"],["impl Hash for Do"],["impl Hash for Dyn"],["impl Hash for Else"],["impl Hash for Enum"],["impl Hash for Extern"],["impl Hash for Final"],["impl Hash for Fn"],["impl Hash for For"],["impl Hash for If"],["impl Hash for Impl"],["impl Hash for In"],["impl Hash for Let"],["impl Hash for Loop"],["impl Hash for Macro"],["impl Hash for Match"],["impl Hash for Mod"],["impl Hash for Move"],["impl Hash for Mut"],["impl Hash for Override"],["impl Hash for Priv"],["impl Hash for Pub"],["impl Hash for Ref"],["impl Hash for Return"],["impl Hash for SelfType"],["impl Hash for SelfValue"],["impl Hash for Static"],["impl Hash for Struct"],["impl Hash for Super"],["impl Hash for Trait"],["impl Hash for Try"],["impl Hash for Type"],["impl Hash for Typeof"],["impl Hash for Union"],["impl Hash for Unsafe"],["impl Hash for Unsized"],["impl Hash for Use"],["impl Hash for Virtual"],["impl Hash for Where"],["impl Hash for While"],["impl Hash for Yield"],["impl Hash for Add"],["impl Hash for AddEq"],["impl Hash for And"],["impl Hash for AndAnd"],["impl Hash for AndEq"],["impl Hash for At"],["impl Hash for Bang"],["impl Hash for Caret"],["impl Hash for CaretEq"],["impl Hash for Colon"],["impl Hash for Colon2"],["impl Hash for Comma"],["impl Hash for Div"],["impl Hash for DivEq"],["impl Hash for Dollar"],["impl Hash for Dot"],["impl Hash for Dot2"],["impl Hash for Dot3"],["impl Hash for DotDotEq"],["impl Hash for Eq"],["impl Hash for EqEq"],["impl Hash for Ge"],["impl Hash for Gt"],["impl Hash for Le"],["impl Hash for Lt"],["impl Hash for MulEq"],["impl Hash for Ne"],["impl Hash for Or"],["impl Hash for OrEq"],["impl Hash for OrOr"],["impl Hash for Pound"],["impl Hash for Question"],["impl Hash for RArrow"],["impl Hash for LArrow"],["impl Hash for Rem"],["impl Hash for RemEq"],["impl Hash for FatArrow"],["impl Hash for Semi"],["impl Hash for Shl"],["impl Hash for ShlEq"],["impl Hash for Shr"],["impl Hash for ShrEq"],["impl Hash for Star"],["impl Hash for Sub"],["impl Hash for SubEq"],["impl Hash for Tilde"],["impl Hash for Brace"],["impl Hash for Bracket"],["impl Hash for Paren"],["impl Hash for Group"],["impl Hash for Member"],["impl Hash for Index"],["impl<'a> Hash for ImplGenerics<'a>"],["impl<'a> Hash for TypeGenerics<'a>"],["impl<'a> Hash for Turbofish<'a>"],["impl Hash for Lifetime"],["impl Hash for LitStr"],["impl Hash for LitByteStr"],["impl Hash for LitByte"],["impl Hash for LitChar"],["impl Hash for LitInt"],["impl Hash for LitFloat"],["impl<T, P> Hash for Punctuated<T, P>where
    T: Hash,
    P: Hash,
"],["impl Hash for Abi"],["impl Hash for AngleBracketedGenericArguments"],["impl Hash for AttrStyle"],["impl Hash for Attribute"],["impl Hash for BareFnArg"],["impl Hash for BinOp"],["impl Hash for Binding"],["impl Hash for BoundLifetimes"],["impl Hash for ConstParam"],["impl Hash for Constraint"],["impl Hash for Data"],["impl Hash for DataEnum"],["impl Hash for DataStruct"],["impl Hash for DataUnion"],["impl Hash for DeriveInput"],["impl Hash for Expr"],["impl Hash for ExprBinary"],["impl Hash for ExprCall"],["impl Hash for ExprCast"],["impl Hash for ExprField"],["impl Hash for ExprIndex"],["impl Hash for ExprLit"],["impl Hash for ExprParen"],["impl Hash for ExprPath"],["impl Hash for ExprUnary"],["impl Hash for Field"],["impl Hash for Fields"],["impl Hash for FieldsNamed"],["impl Hash for FieldsUnnamed"],["impl Hash for GenericArgument"],["impl Hash for GenericParam"],["impl Hash for Generics"],["impl Hash for LifetimeDef"],["impl Hash for Lit"],["impl Hash for LitBool"],["impl Hash for Macro"],["impl Hash for MacroDelimiter"],["impl Hash for Meta"],["impl Hash for MetaList"],["impl Hash for MetaNameValue"],["impl Hash for NestedMeta"],["impl Hash for ParenthesizedGenericArguments"],["impl Hash for Path"],["impl Hash for PathArguments"],["impl Hash for PathSegment"],["impl Hash for PredicateEq"],["impl Hash for PredicateLifetime"],["impl Hash for PredicateType"],["impl Hash for QSelf"],["impl Hash for ReturnType"],["impl Hash for TraitBound"],["impl Hash for TraitBoundModifier"],["impl Hash for Type"],["impl Hash for TypeArray"],["impl Hash for TypeBareFn"],["impl Hash for TypeGroup"],["impl Hash for TypeImplTrait"],["impl Hash for TypeInfer"],["impl Hash for TypeMacro"],["impl Hash for TypeNever"],["impl Hash for TypeParam"],["impl Hash for TypeParamBound"],["impl Hash for TypeParen"],["impl Hash for TypePath"],["impl Hash for TypePtr"],["impl Hash for TypeReference"],["impl Hash for TypeSlice"],["impl Hash for TypeTraitObject"],["impl Hash for TypeTuple"],["impl Hash for UnOp"],["impl Hash for Variadic"],["impl Hash for Variant"],["impl Hash for VisCrate"],["impl Hash for VisPublic"],["impl Hash for VisRestricted"],["impl Hash for Visibility"],["impl Hash for WhereClause"],["impl Hash for WherePredicate"],["impl Hash for Nothing"]], -"synstructure":[["impl Hash for AddBounds"],["impl Hash for BindStyle"],["impl<'a> Hash for BindingInfo<'a>"],["impl<'a> Hash for VariantAst<'a>"],["impl<'a> Hash for VariantInfo<'a>"],["impl<'a> Hash for Structure<'a>"]] +"log":[["impl Hash for Level"],["impl<'a> Hash for MetadataBuilder<'a>"],["impl Hash for LevelFilter"],["impl<'a> Hash for Metadata<'a>"]], +"proc_macro2":[["impl Hash for Ident"]], +"syn":[["impl Hash for Gt"],["impl Hash for MulEq"],["impl Hash for ShrEq"],["impl Hash for Or"],["impl<'a> Hash for Turbofish<'a>"],["impl Hash for Auto"],["impl Hash for UnOp"],["impl Hash for ReturnType"],["impl Hash for TypeInfer"],["impl Hash for PredicateLifetime"],["impl Hash for WherePredicate"],["impl Hash for Attribute"],["impl Hash for VisPublic"],["impl Hash for Match"],["impl Hash for Await"],["impl Hash for If"],["impl Hash for Virtual"],["impl Hash for Return"],["impl Hash for Unsized"],["impl Hash for ExprCast"],["impl Hash for LitStr"],["impl Hash for AndEq"],["impl Hash for TraitBound"],["impl Hash for TypePtr"],["impl Hash for While"],["impl Hash for TypeParamBound"],["impl Hash for Const"],["impl Hash for PredicateEq"],["impl Hash for Pub"],["impl Hash for ExprIndex"],["impl Hash for Ne"],["impl Hash for LitByteStr"],["impl Hash for Do"],["impl Hash for Super"],["impl Hash for OrEq"],["impl Hash for Mod"],["impl Hash for Index"],["impl Hash for TypeGroup"],["impl Hash for MetaList"],["impl Hash for SelfType"],["impl Hash for Static"],["impl Hash for Become"],["impl Hash for GenericParam"],["impl Hash for Mut"],["impl Hash for Colon2"],["impl Hash for Path"],["impl Hash for Member"],["impl Hash for Dyn"],["impl Hash for TypeReference"],["impl Hash for FieldsUnnamed"],["impl Hash for Ge"],["impl Hash for ExprPath"],["impl Hash for AndAnd"],["impl Hash for Le"],["impl Hash for Let"],["impl Hash for TypeImplTrait"],["impl Hash for GenericArgument"],["impl Hash for Abi"],["impl<'a> Hash for ImplGenerics<'a>"],["impl Hash for Async"],["impl Hash for Abstract"],["impl Hash for DataEnum"],["impl Hash for Bang"],["impl Hash for NestedMeta"],["impl Hash for MetaNameValue"],["impl Hash for DataStruct"],["impl Hash for Crate"],["impl Hash for Binding"],["impl Hash for Group"],["impl Hash for ExprParen"],["impl<T, P> Hash for Punctuated<T, P>where\n T: Hash,\n P: Hash,"],["impl<'a> Hash for TypeGenerics<'a>"],["impl Hash for Yield"],["impl Hash for EqEq"],["impl Hash for LifetimeDef"],["impl Hash for PathSegment"],["impl Hash for Shr"],["impl Hash for FatArrow"],["impl Hash for Break"],["impl Hash for Fields"],["impl Hash for BoundLifetimes"],["impl Hash for Colon"],["impl Hash for Data"],["impl Hash for VisRestricted"],["impl Hash for ConstParam"],["impl Hash for TypeNever"],["impl Hash for AttrStyle"],["impl Hash for Enum"],["impl Hash for DeriveInput"],["impl Hash for ExprBinary"],["impl Hash for FieldsNamed"],["impl Hash for In"],["impl Hash for Semi"],["impl Hash for AngleBracketedGenericArguments"],["impl Hash for Dot2"],["impl Hash for Struct"],["impl Hash for TypeBareFn"],["impl Hash for TypeTuple"],["impl Hash for BareFnArg"],["impl Hash for ExprCall"],["impl Hash for Constraint"],["impl Hash for Default"],["impl Hash for Extern"],["impl Hash for AddEq"],["impl Hash for And"],["impl Hash for OrOr"],["impl Hash for Div"],["impl Hash for MacroDelimiter"],["impl Hash for Continue"],["impl Hash for TypeSlice"],["impl Hash for Try"],["impl Hash for Eq"],["impl Hash for Dot3"],["impl Hash for Where"],["impl Hash for For"],["impl Hash for PredicateType"],["impl Hash for Macro"],["impl Hash for Loop"],["impl Hash for Pound"],["impl Hash for Lt"],["impl Hash for Ref"],["impl Hash for ExprUnary"],["impl Hash for Star"],["impl Hash for Generics"],["impl Hash for Brace"],["impl Hash for BinOp"],["impl Hash for WhereClause"],["impl Hash for Dollar"],["impl Hash for ParenthesizedGenericArguments"],["impl Hash for Sub"],["impl Hash for Comma"],["impl Hash for Final"],["impl Hash for Type"],["impl Hash for DotDotEq"],["impl Hash for SubEq"],["impl Hash for LArrow"],["impl Hash for Fn"],["impl Hash for Type"],["impl Hash for Typeof"],["impl Hash for ShlEq"],["impl Hash for CaretEq"],["impl Hash for LitInt"],["impl Hash for Unsafe"],["impl Hash for Dot"],["impl Hash for Variadic"],["impl Hash for Impl"],["impl Hash for Lit"],["impl Hash for TraitBoundModifier"],["impl Hash for Nothing"],["impl Hash for Add"],["impl Hash for Field"],["impl Hash for Move"],["impl Hash for Lifetime"],["impl Hash for Union"],["impl Hash for TypeMacro"],["impl Hash for Override"],["impl Hash for Caret"],["impl Hash for DataUnion"],["impl Hash for RemEq"],["impl Hash for TypeArray"],["impl Hash for Visibility"],["impl Hash for Meta"],["impl Hash for Else"],["impl Hash for SelfValue"],["impl Hash for Question"],["impl Hash for Expr"],["impl Hash for TypeParam"],["impl Hash for QSelf"],["impl Hash for Variant"],["impl Hash for RArrow"],["impl Hash for ExprField"],["impl Hash for Bracket"],["impl Hash for VisCrate"],["impl Hash for DivEq"],["impl Hash for Use"],["impl Hash for Paren"],["impl Hash for At"],["impl Hash for As"],["impl Hash for Rem"],["impl Hash for Priv"],["impl Hash for LitByte"],["impl Hash for Underscore"],["impl Hash for ExprLit"],["impl Hash for Shl"],["impl Hash for Box"],["impl Hash for Tilde"],["impl Hash for Trait"],["impl Hash for Macro"],["impl Hash for TypePath"],["impl Hash for TypeTraitObject"],["impl Hash for LitFloat"],["impl Hash for LitChar"],["impl Hash for PathArguments"],["impl Hash for TypeParen"],["impl Hash for LitBool"]], +"synstructure":[["impl Hash for BindStyle"],["impl<'a> Hash for VariantAst<'a>"],["impl<'a> Hash for VariantInfo<'a>"],["impl<'a> Hash for Structure<'a>"],["impl<'a> Hash for BindingInfo<'a>"],["impl Hash for AddBounds"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/collect/trait.Extend.js b/implementors/core/iter/traits/collect/trait.Extend.js index dad6494..cac055d 100644 --- a/implementors/core/iter/traits/collect/trait.Extend.js +++ b/implementors/core/iter/traits/collect/trait.Extend.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"proc_macro2":[["impl Extend<TokenTree> for TokenStream"],["impl Extend<TokenStream> for TokenStream"]], -"syn":[["impl<T, P> Extend<T> for Punctuated<T, P>where
    P: Default,
"],["impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>"],["impl Extend<Error> for Error"]] +"proc_macro2":[["impl Extend<TokenTree> for TokenStream"],["impl Extend<TokenStream> for TokenStream"]], +"syn":[["impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>"],["impl<T, P> Extend<T> for Punctuated<T, P>where\n P: Default,"],["impl Extend<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/implementors/core/iter/traits/collect/trait.FromIterator.js b/implementors/core/iter/traits/collect/trait.FromIterator.js index ef84b6a..b002816 100644 --- a/implementors/core/iter/traits/collect/trait.FromIterator.js +++ b/implementors/core/iter/traits/collect/trait.FromIterator.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"proc_macro2":[["impl FromIterator<TokenTree> for TokenStream"],["impl FromIterator<TokenStream> for TokenStream"]], -"syn":[["impl<T, P> FromIterator<T> for Punctuated<T, P>where
    P: Default,
"],["impl<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>"]] +"proc_macro2":[["impl FromIterator<TokenStream> for TokenStream"],["impl FromIterator<TokenTree> for TokenStream"]], +"syn":[["impl<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>"],["impl<T, P> FromIterator<T> for Punctuated<T, P>where\n P: Default,"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/collect/trait.IntoIterator.js b/implementors/core/iter/traits/collect/trait.IntoIterator.js index 3c424d7..83bf501 100644 --- a/implementors/core/iter/traits/collect/trait.IntoIterator.js +++ b/implementors/core/iter/traits/collect/trait.IntoIterator.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"proc_macro2":[["impl IntoIterator for TokenStream"]], -"syn":[["impl IntoIterator for Fields"],["impl<'a> IntoIterator for &'a Fields"],["impl<'a> IntoIterator for &'a mut Fields"],["impl<T, P> IntoIterator for Punctuated<T, P>"],["impl<'a, T, P> IntoIterator for &'a Punctuated<T, P>"],["impl<'a, T, P> IntoIterator for &'a mut Punctuated<T, P>"],["impl IntoIterator for Error"],["impl<'a> IntoIterator for &'a Error"]] +"proc_macro2":[["impl IntoIterator for TokenStream"]], +"syn":[["impl<'a> IntoIterator for &'a Error"],["impl<'a> IntoIterator for &'a mut Fields"],["impl<'a, T, P> IntoIterator for &'a Punctuated<T, P>"],["impl IntoIterator for Fields"],["impl<T, P> IntoIterator for Punctuated<T, P>"],["impl<'a, T, P> IntoIterator for &'a mut Punctuated<T, P>"],["impl IntoIterator for Error"],["impl<'a> IntoIterator for &'a Fields"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js b/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js index 6ea5c4e..f1e1094 100644 --- a/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js +++ b/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl<'a, T, P> DoubleEndedIterator for Pairs<'a, T, P>"],["impl<'a, T, P> DoubleEndedIterator for PairsMut<'a, T, P>"],["impl<T, P> DoubleEndedIterator for IntoPairs<T, P>"],["impl<T> DoubleEndedIterator for IntoIter<T>"],["impl<'a, T> DoubleEndedIterator for Iter<'a, T>"],["impl<'a, T> DoubleEndedIterator for IterMut<'a, T>"]] +"syn":[["impl<'a, T, P> DoubleEndedIterator for PairsMut<'a, T, P>"],["impl<'a, T> DoubleEndedIterator for Iter<'a, T>"],["impl<T> DoubleEndedIterator for IntoIter<T>"],["impl<T, P> DoubleEndedIterator for IntoPairs<T, P>"],["impl<'a, T> DoubleEndedIterator for IterMut<'a, T>"],["impl<'a, T, P> DoubleEndedIterator for Pairs<'a, T, P>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/exact_size/trait.ExactSizeIterator.js b/implementors/core/iter/traits/exact_size/trait.ExactSizeIterator.js index e36c450..9d0b477 100644 --- a/implementors/core/iter/traits/exact_size/trait.ExactSizeIterator.js +++ b/implementors/core/iter/traits/exact_size/trait.ExactSizeIterator.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl<'a, T, P> ExactSizeIterator for Pairs<'a, T, P>"],["impl<'a, T, P> ExactSizeIterator for PairsMut<'a, T, P>"],["impl<T, P> ExactSizeIterator for IntoPairs<T, P>"],["impl<T> ExactSizeIterator for IntoIter<T>"],["impl<'a, T> ExactSizeIterator for Iter<'a, T>"],["impl<'a, T> ExactSizeIterator for IterMut<'a, T>"]] +"syn":[["impl<'a, T> ExactSizeIterator for Iter<'a, T>"],["impl<'a, T, P> ExactSizeIterator for PairsMut<'a, T, P>"],["impl<T> ExactSizeIterator for IntoIter<T>"],["impl<T, P> ExactSizeIterator for IntoPairs<T, P>"],["impl<'a, T, P> ExactSizeIterator for Pairs<'a, T, P>"],["impl<'a, T> ExactSizeIterator for IterMut<'a, T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/iterator/trait.Iterator.js b/implementors/core/iter/traits/iterator/trait.Iterator.js index 8af58d4..b5ad8eb 100644 --- a/implementors/core/iter/traits/iterator/trait.Iterator.js +++ b/implementors/core/iter/traits/iterator/trait.Iterator.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"proc_macro2":[["impl Iterator for IntoIter"]], -"syn":[["impl<'a, T, P> Iterator for Pairs<'a, T, P>"],["impl<'a, T, P> Iterator for PairsMut<'a, T, P>"],["impl<T, P> Iterator for IntoPairs<T, P>"],["impl<T> Iterator for IntoIter<T>"],["impl<'a, T> Iterator for Iter<'a, T>"],["impl<'a, T> Iterator for IterMut<'a, T>"]] +"proc_macro2":[["impl Iterator for IntoIter"]], +"syn":[["impl<T> Iterator for IntoIter<T>"],["impl<'a, T, P> Iterator for Pairs<'a, T, P>"],["impl<'a, T, P> Iterator for PairsMut<'a, T, P>"],["impl<'a, T> Iterator for Iter<'a, T>"],["impl<'a, T> Iterator for IterMut<'a, T>"],["impl<T, P> Iterator for IntoPairs<T, P>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js index 489f79a..2e7e290 100644 --- a/implementors/core/marker/trait.Copy.js +++ b/implementors/core/marker/trait.Copy.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl Copy for Statistics"],["impl Copy for DefaultRenderer"],["impl Copy for RipgrepRenderer"]], -"flexiber":[["impl Copy for Error"],["impl Copy for ErrorKind"],["impl Copy for Length"],["impl Copy for SimpleTag"],["impl<'a> Copy for Slice<'a>"],["impl Copy for Class"],["impl Copy for Tag"],["impl<V: Copy, T: Copy> Copy for TaggedValue<V, T>"]], -"log":[["impl Copy for Level"],["impl Copy for LevelFilter"]], -"proc_macro2":[["impl Copy for Span"],["impl Copy for Delimiter"],["impl Copy for Spacing"]], -"syn":[["impl Copy for Underscore"],["impl Copy for Abstract"],["impl Copy for As"],["impl Copy for Async"],["impl Copy for Auto"],["impl Copy for Await"],["impl Copy for Become"],["impl Copy for Box"],["impl Copy for Break"],["impl Copy for Const"],["impl Copy for Continue"],["impl Copy for Crate"],["impl Copy for Default"],["impl Copy for Do"],["impl Copy for Dyn"],["impl Copy for Else"],["impl Copy for Enum"],["impl Copy for Extern"],["impl Copy for Final"],["impl Copy for Fn"],["impl Copy for For"],["impl Copy for If"],["impl Copy for Impl"],["impl Copy for In"],["impl Copy for Let"],["impl Copy for Loop"],["impl Copy for Macro"],["impl Copy for Match"],["impl Copy for Mod"],["impl Copy for Move"],["impl Copy for Mut"],["impl Copy for Override"],["impl Copy for Priv"],["impl Copy for Pub"],["impl Copy for Ref"],["impl Copy for Return"],["impl Copy for SelfType"],["impl Copy for SelfValue"],["impl Copy for Static"],["impl Copy for Struct"],["impl Copy for Super"],["impl Copy for Trait"],["impl Copy for Try"],["impl Copy for Type"],["impl Copy for Typeof"],["impl Copy for Union"],["impl Copy for Unsafe"],["impl Copy for Unsized"],["impl Copy for Use"],["impl Copy for Virtual"],["impl Copy for Where"],["impl Copy for While"],["impl Copy for Yield"],["impl Copy for Add"],["impl Copy for AddEq"],["impl Copy for And"],["impl Copy for AndAnd"],["impl Copy for AndEq"],["impl Copy for At"],["impl Copy for Bang"],["impl Copy for Caret"],["impl Copy for CaretEq"],["impl Copy for Colon"],["impl Copy for Colon2"],["impl Copy for Comma"],["impl Copy for Div"],["impl Copy for DivEq"],["impl Copy for Dollar"],["impl Copy for Dot"],["impl Copy for Dot2"],["impl Copy for Dot3"],["impl Copy for DotDotEq"],["impl Copy for Eq"],["impl Copy for EqEq"],["impl Copy for Ge"],["impl Copy for Gt"],["impl Copy for Le"],["impl Copy for Lt"],["impl Copy for MulEq"],["impl Copy for Ne"],["impl Copy for Or"],["impl Copy for OrEq"],["impl Copy for OrOr"],["impl Copy for Pound"],["impl Copy for Question"],["impl Copy for RArrow"],["impl Copy for LArrow"],["impl Copy for Rem"],["impl Copy for RemEq"],["impl Copy for FatArrow"],["impl Copy for Semi"],["impl Copy for Shl"],["impl Copy for ShlEq"],["impl Copy for Shr"],["impl Copy for ShrEq"],["impl Copy for Star"],["impl Copy for Sub"],["impl Copy for SubEq"],["impl Copy for Tilde"],["impl Copy for Brace"],["impl Copy for Bracket"],["impl Copy for Paren"],["impl Copy for Group"],["impl<'a> Copy for Cursor<'a>"],["impl Copy for AttrStyle"],["impl Copy for BinOp"],["impl Copy for TraitBoundModifier"],["impl Copy for UnOp"],["impl<'c, 'a> Copy for StepCursor<'c, 'a>"]], -"synstructure":[["impl Copy for AddBounds"],["impl Copy for BindStyle"],["impl<'a> Copy for VariantAst<'a>"]] +"delog":[["impl Copy for Statistics"],["impl Copy for RipgrepRenderer"],["impl Copy for DefaultRenderer"]], +"flexiber":[["impl Copy for ErrorKind"],["impl Copy for Tag"],["impl Copy for Class"],["impl Copy for Length"],["impl<V: Copy, T: Copy> Copy for TaggedValue<V, T>"],["impl Copy for SimpleTag"],["impl Copy for Error"],["impl<'a> Copy for Slice<'a>"]], +"log":[["impl Copy for Level"],["impl Copy for LevelFilter"]], +"proc_macro2":[["impl Copy for Spacing"],["impl Copy for Span"],["impl Copy for DelimSpan"],["impl Copy for Delimiter"]], +"syn":[["impl Copy for ShrEq"],["impl Copy for Box"],["impl Copy for Ge"],["impl Copy for Comma"],["impl Copy for Else"],["impl Copy for SelfType"],["impl Copy for MulEq"],["impl Copy for Colon"],["impl Copy for At"],["impl Copy for Let"],["impl Copy for Lt"],["impl Copy for Caret"],["impl Copy for For"],["impl Copy for Sub"],["impl Copy for As"],["impl Copy for Macro"],["impl Copy for Unsafe"],["impl Copy for Static"],["impl Copy for Where"],["impl Copy for Dot2"],["impl Copy for Virtual"],["impl Copy for If"],["impl Copy for Pound"],["impl Copy for SubEq"],["impl Copy for Tilde"],["impl<'a> Copy for Cursor<'a>"],["impl Copy for Shr"],["impl Copy for Ref"],["impl Copy for While"],["impl Copy for AddEq"],["impl Copy for Await"],["impl Copy for Enum"],["impl Copy for Become"],["impl Copy for Struct"],["impl Copy for AndEq"],["impl Copy for And"],["impl Copy for Colon2"],["impl Copy for Dot"],["impl Copy for Abstract"],["impl Copy for UnOp"],["impl Copy for RArrow"],["impl Copy for OrOr"],["impl Copy for Dollar"],["impl Copy for Async"],["impl Copy for Le"],["impl Copy for ShlEq"],["impl Copy for Yield"],["impl Copy for Paren"],["impl Copy for Continue"],["impl Copy for Dyn"],["impl Copy for Bang"],["impl Copy for Use"],["impl Copy for AndAnd"],["impl Copy for Mut"],["impl Copy for DotDotEq"],["impl Copy for RemEq"],["impl Copy for Mod"],["impl Copy for SelfValue"],["impl Copy for LArrow"],["impl Copy for Unsized"],["impl Copy for DivEq"],["impl Copy for Loop"],["impl Copy for OrEq"],["impl Copy for Break"],["impl Copy for Brace"],["impl Copy for In"],["impl Copy for Ne"],["impl Copy for FatArrow"],["impl Copy for Or"],["impl Copy for Move"],["impl Copy for Override"],["impl Copy for Fn"],["impl Copy for Bracket"],["impl Copy for Gt"],["impl Copy for Type"],["impl Copy for Question"],["impl Copy for Impl"],["impl Copy for Group"],["impl Copy for BinOp"],["impl Copy for Div"],["impl Copy for Underscore"],["impl Copy for Union"],["impl Copy for Extern"],["impl Copy for Final"],["impl<'c, 'a> Copy for StepCursor<'c, 'a>"],["impl Copy for Dot3"],["impl Copy for Shl"],["impl Copy for AttrStyle"],["impl Copy for Star"],["impl Copy for Priv"],["impl Copy for Try"],["impl Copy for Default"],["impl Copy for Auto"],["impl Copy for Super"],["impl Copy for Const"],["impl Copy for Semi"],["impl Copy for Pub"],["impl Copy for Trait"],["impl Copy for EqEq"],["impl Copy for Rem"],["impl Copy for CaretEq"],["impl Copy for Eq"],["impl Copy for TraitBoundModifier"],["impl Copy for Crate"],["impl Copy for Typeof"],["impl Copy for Do"],["impl Copy for Return"],["impl Copy for Add"],["impl Copy for Match"]], +"synstructure":[["impl Copy for BindStyle"],["impl<'a> Copy for VariantAst<'a>"],["impl Copy for AddBounds"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index c2cce14..55bcbe9 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl Freeze for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Freeze for HexStr<'a, T, U, S>",1,["delog::hex::HexStr"]],["impl Freeze for Statistics",1,["delog::logger::Statistics"]],["impl Freeze for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl Freeze for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], -"flexiber":[["impl<'a> Freeze for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Freeze for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Freeze for Error",1,["flexiber::error::Error"]],["impl Freeze for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Freeze for Length",1,["flexiber::length::Length"]],["impl Freeze for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Freeze for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Freeze for Class",1,["flexiber::tag::Class"]],["impl Freeze for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Freeze for TaggedValue<V, T>where
    T: Freeze,
    V: Freeze,
",1,["flexiber::tagged::TaggedValue"]]], +"delog":[["impl Freeze for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Freeze for HexStr<'a, T, U, S>",1,["delog::hex::HexStr"]],["impl Freeze for Statistics",1,["delog::logger::Statistics"]],["impl Freeze for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl Freeze for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], +"flexiber":[["impl<'a> Freeze for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Freeze for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Freeze for Error",1,["flexiber::error::Error"]],["impl Freeze for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Freeze for Length",1,["flexiber::length::Length"]],["impl Freeze for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Freeze for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Freeze for Class",1,["flexiber::tag::Class"]],["impl Freeze for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Freeze for TaggedValue<V, T>where\n T: Freeze,\n V: Freeze,",1,["flexiber::tagged::TaggedValue"]]], "log":[["impl Freeze for Level",1,["log::Level"]],["impl Freeze for LevelFilter",1,["log::LevelFilter"]],["impl<'a> Freeze for Record<'a>",1,["log::Record"]],["impl<'a> Freeze for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Freeze for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Freeze for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Freeze for SetLoggerError",1,["log::SetLoggerError"]],["impl Freeze for ParseLevelError",1,["log::ParseLevelError"]]], -"proc_macro2":[["impl Freeze for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl Freeze for TokenStream",1,["proc_macro2::TokenStream"]],["impl Freeze for LexError",1,["proc_macro2::LexError"]],["impl Freeze for Span",1,["proc_macro2::Span"]],["impl Freeze for TokenTree",1,["proc_macro2::TokenTree"]],["impl Freeze for Group",1,["proc_macro2::Group"]],["impl Freeze for Delimiter",1,["proc_macro2::Delimiter"]],["impl Freeze for Punct",1,["proc_macro2::Punct"]],["impl Freeze for Spacing",1,["proc_macro2::Spacing"]],["impl Freeze for Ident",1,["proc_macro2::Ident"]],["impl Freeze for Literal",1,["proc_macro2::Literal"]]], -"syn":[["impl Freeze for Underscore",1,["syn::token::Underscore"]],["impl Freeze for Abstract",1,["syn::token::Abstract"]],["impl Freeze for As",1,["syn::token::As"]],["impl Freeze for Async",1,["syn::token::Async"]],["impl Freeze for Auto",1,["syn::token::Auto"]],["impl Freeze for Await",1,["syn::token::Await"]],["impl Freeze for Become",1,["syn::token::Become"]],["impl Freeze for Box",1,["syn::token::Box"]],["impl Freeze for Break",1,["syn::token::Break"]],["impl Freeze for Const",1,["syn::token::Const"]],["impl Freeze for Continue",1,["syn::token::Continue"]],["impl Freeze for Crate",1,["syn::token::Crate"]],["impl Freeze for Default",1,["syn::token::Default"]],["impl Freeze for Do",1,["syn::token::Do"]],["impl Freeze for Dyn",1,["syn::token::Dyn"]],["impl Freeze for Else",1,["syn::token::Else"]],["impl Freeze for Enum",1,["syn::token::Enum"]],["impl Freeze for Extern",1,["syn::token::Extern"]],["impl Freeze for Final",1,["syn::token::Final"]],["impl Freeze for Fn",1,["syn::token::Fn"]],["impl Freeze for For",1,["syn::token::For"]],["impl Freeze for If",1,["syn::token::If"]],["impl Freeze for Impl",1,["syn::token::Impl"]],["impl Freeze for In",1,["syn::token::In"]],["impl Freeze for Let",1,["syn::token::Let"]],["impl Freeze for Loop",1,["syn::token::Loop"]],["impl Freeze for Macro",1,["syn::token::Macro"]],["impl Freeze for Match",1,["syn::token::Match"]],["impl Freeze for Mod",1,["syn::token::Mod"]],["impl Freeze for Move",1,["syn::token::Move"]],["impl Freeze for Mut",1,["syn::token::Mut"]],["impl Freeze for Override",1,["syn::token::Override"]],["impl Freeze for Priv",1,["syn::token::Priv"]],["impl Freeze for Pub",1,["syn::token::Pub"]],["impl Freeze for Ref",1,["syn::token::Ref"]],["impl Freeze for Return",1,["syn::token::Return"]],["impl Freeze for SelfType",1,["syn::token::SelfType"]],["impl Freeze for SelfValue",1,["syn::token::SelfValue"]],["impl Freeze for Static",1,["syn::token::Static"]],["impl Freeze for Struct",1,["syn::token::Struct"]],["impl Freeze for Super",1,["syn::token::Super"]],["impl Freeze for Trait",1,["syn::token::Trait"]],["impl Freeze for Try",1,["syn::token::Try"]],["impl Freeze for Type",1,["syn::token::Type"]],["impl Freeze for Typeof",1,["syn::token::Typeof"]],["impl Freeze for Union",1,["syn::token::Union"]],["impl Freeze for Unsafe",1,["syn::token::Unsafe"]],["impl Freeze for Unsized",1,["syn::token::Unsized"]],["impl Freeze for Use",1,["syn::token::Use"]],["impl Freeze for Virtual",1,["syn::token::Virtual"]],["impl Freeze for Where",1,["syn::token::Where"]],["impl Freeze for While",1,["syn::token::While"]],["impl Freeze for Yield",1,["syn::token::Yield"]],["impl Freeze for Add",1,["syn::token::Add"]],["impl Freeze for AddEq",1,["syn::token::AddEq"]],["impl Freeze for And",1,["syn::token::And"]],["impl Freeze for AndAnd",1,["syn::token::AndAnd"]],["impl Freeze for AndEq",1,["syn::token::AndEq"]],["impl Freeze for At",1,["syn::token::At"]],["impl Freeze for Bang",1,["syn::token::Bang"]],["impl Freeze for Caret",1,["syn::token::Caret"]],["impl Freeze for CaretEq",1,["syn::token::CaretEq"]],["impl Freeze for Colon",1,["syn::token::Colon"]],["impl Freeze for Colon2",1,["syn::token::Colon2"]],["impl Freeze for Comma",1,["syn::token::Comma"]],["impl Freeze for Div",1,["syn::token::Div"]],["impl Freeze for DivEq",1,["syn::token::DivEq"]],["impl Freeze for Dollar",1,["syn::token::Dollar"]],["impl Freeze for Dot",1,["syn::token::Dot"]],["impl Freeze for Dot2",1,["syn::token::Dot2"]],["impl Freeze for Dot3",1,["syn::token::Dot3"]],["impl Freeze for DotDotEq",1,["syn::token::DotDotEq"]],["impl Freeze for Eq",1,["syn::token::Eq"]],["impl Freeze for EqEq",1,["syn::token::EqEq"]],["impl Freeze for Ge",1,["syn::token::Ge"]],["impl Freeze for Gt",1,["syn::token::Gt"]],["impl Freeze for Le",1,["syn::token::Le"]],["impl Freeze for Lt",1,["syn::token::Lt"]],["impl Freeze for MulEq",1,["syn::token::MulEq"]],["impl Freeze for Ne",1,["syn::token::Ne"]],["impl Freeze for Or",1,["syn::token::Or"]],["impl Freeze for OrEq",1,["syn::token::OrEq"]],["impl Freeze for OrOr",1,["syn::token::OrOr"]],["impl Freeze for Pound",1,["syn::token::Pound"]],["impl Freeze for Question",1,["syn::token::Question"]],["impl Freeze for RArrow",1,["syn::token::RArrow"]],["impl Freeze for LArrow",1,["syn::token::LArrow"]],["impl Freeze for Rem",1,["syn::token::Rem"]],["impl Freeze for RemEq",1,["syn::token::RemEq"]],["impl Freeze for FatArrow",1,["syn::token::FatArrow"]],["impl Freeze for Semi",1,["syn::token::Semi"]],["impl Freeze for Shl",1,["syn::token::Shl"]],["impl Freeze for ShlEq",1,["syn::token::ShlEq"]],["impl Freeze for Shr",1,["syn::token::Shr"]],["impl Freeze for ShrEq",1,["syn::token::ShrEq"]],["impl Freeze for Star",1,["syn::token::Star"]],["impl Freeze for Sub",1,["syn::token::Sub"]],["impl Freeze for SubEq",1,["syn::token::SubEq"]],["impl Freeze for Tilde",1,["syn::token::Tilde"]],["impl Freeze for Brace",1,["syn::token::Brace"]],["impl Freeze for Bracket",1,["syn::token::Bracket"]],["impl Freeze for Paren",1,["syn::token::Paren"]],["impl Freeze for Group",1,["syn::token::Group"]],["impl Freeze for Attribute",1,["syn::attr::Attribute"]],["impl Freeze for AttrStyle",1,["syn::attr::AttrStyle"]],["impl Freeze for Meta",1,["syn::attr::Meta"]],["impl Freeze for MetaList",1,["syn::attr::MetaList"]],["impl Freeze for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl Freeze for NestedMeta",1,["syn::attr::NestedMeta"]],["impl Freeze for Variant",1,["syn::data::Variant"]],["impl Freeze for Fields",1,["syn::data::Fields"]],["impl Freeze for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl Freeze for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl Freeze for Field",1,["syn::data::Field"]],["impl Freeze for Visibility",1,["syn::data::Visibility"]],["impl Freeze for VisPublic",1,["syn::data::VisPublic"]],["impl Freeze for VisCrate",1,["syn::data::VisCrate"]],["impl Freeze for VisRestricted",1,["syn::data::VisRestricted"]],["impl Freeze for Expr",1,["syn::expr::Expr"]],["impl Freeze for ExprArray",1,["syn::expr::ExprArray"]],["impl Freeze for ExprAssign",1,["syn::expr::ExprAssign"]],["impl Freeze for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl Freeze for ExprAsync",1,["syn::expr::ExprAsync"]],["impl Freeze for ExprAwait",1,["syn::expr::ExprAwait"]],["impl Freeze for ExprBinary",1,["syn::expr::ExprBinary"]],["impl Freeze for ExprBlock",1,["syn::expr::ExprBlock"]],["impl Freeze for ExprBox",1,["syn::expr::ExprBox"]],["impl Freeze for ExprBreak",1,["syn::expr::ExprBreak"]],["impl Freeze for ExprCall",1,["syn::expr::ExprCall"]],["impl Freeze for ExprCast",1,["syn::expr::ExprCast"]],["impl Freeze for ExprClosure",1,["syn::expr::ExprClosure"]],["impl Freeze for ExprContinue",1,["syn::expr::ExprContinue"]],["impl Freeze for ExprField",1,["syn::expr::ExprField"]],["impl Freeze for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl Freeze for ExprGroup",1,["syn::expr::ExprGroup"]],["impl Freeze for ExprIf",1,["syn::expr::ExprIf"]],["impl Freeze for ExprIndex",1,["syn::expr::ExprIndex"]],["impl Freeze for ExprLet",1,["syn::expr::ExprLet"]],["impl Freeze for ExprLit",1,["syn::expr::ExprLit"]],["impl Freeze for ExprLoop",1,["syn::expr::ExprLoop"]],["impl Freeze for ExprMacro",1,["syn::expr::ExprMacro"]],["impl Freeze for ExprMatch",1,["syn::expr::ExprMatch"]],["impl Freeze for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl Freeze for ExprParen",1,["syn::expr::ExprParen"]],["impl Freeze for ExprPath",1,["syn::expr::ExprPath"]],["impl Freeze for ExprRange",1,["syn::expr::ExprRange"]],["impl Freeze for ExprReference",1,["syn::expr::ExprReference"]],["impl Freeze for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl Freeze for ExprReturn",1,["syn::expr::ExprReturn"]],["impl Freeze for ExprStruct",1,["syn::expr::ExprStruct"]],["impl Freeze for ExprTry",1,["syn::expr::ExprTry"]],["impl Freeze for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl Freeze for ExprTuple",1,["syn::expr::ExprTuple"]],["impl Freeze for ExprType",1,["syn::expr::ExprType"]],["impl Freeze for ExprUnary",1,["syn::expr::ExprUnary"]],["impl Freeze for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl Freeze for ExprWhile",1,["syn::expr::ExprWhile"]],["impl Freeze for ExprYield",1,["syn::expr::ExprYield"]],["impl Freeze for Member",1,["syn::expr::Member"]],["impl Freeze for Index",1,["syn::expr::Index"]],["impl Freeze for Generics",1,["syn::generics::Generics"]],["impl Freeze for GenericParam",1,["syn::generics::GenericParam"]],["impl Freeze for TypeParam",1,["syn::generics::TypeParam"]],["impl Freeze for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl Freeze for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> Freeze for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> Freeze for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> Freeze for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl Freeze for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl Freeze for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl Freeze for TraitBound",1,["syn::generics::TraitBound"]],["impl Freeze for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl Freeze for WhereClause",1,["syn::generics::WhereClause"]],["impl Freeze for WherePredicate",1,["syn::generics::WherePredicate"]],["impl Freeze for PredicateType",1,["syn::generics::PredicateType"]],["impl Freeze for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl Freeze for PredicateEq",1,["syn::generics::PredicateEq"]],["impl Freeze for Lifetime",1,["syn::lifetime::Lifetime"]],["impl Freeze for Lit",1,["syn::lit::Lit"]],["impl Freeze for LitStr",1,["syn::lit::LitStr"]],["impl Freeze for LitByteStr",1,["syn::lit::LitByteStr"]],["impl Freeze for LitByte",1,["syn::lit::LitByte"]],["impl Freeze for LitChar",1,["syn::lit::LitChar"]],["impl Freeze for LitInt",1,["syn::lit::LitInt"]],["impl Freeze for LitFloat",1,["syn::lit::LitFloat"]],["impl Freeze for LitBool",1,["syn::lit::LitBool"]],["impl Freeze for StrStyle",1,["syn::lit::StrStyle"]],["impl Freeze for Macro",1,["syn::mac::Macro"]],["impl Freeze for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl Freeze for DeriveInput",1,["syn::derive::DeriveInput"]],["impl Freeze for Data",1,["syn::derive::Data"]],["impl Freeze for DataStruct",1,["syn::derive::DataStruct"]],["impl Freeze for DataEnum",1,["syn::derive::DataEnum"]],["impl Freeze for DataUnion",1,["syn::derive::DataUnion"]],["impl Freeze for BinOp",1,["syn::op::BinOp"]],["impl Freeze for UnOp",1,["syn::op::UnOp"]],["impl Freeze for Type",1,["syn::ty::Type"]],["impl Freeze for TypeArray",1,["syn::ty::TypeArray"]],["impl Freeze for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl Freeze for TypeGroup",1,["syn::ty::TypeGroup"]],["impl Freeze for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl Freeze for TypeInfer",1,["syn::ty::TypeInfer"]],["impl Freeze for TypeMacro",1,["syn::ty::TypeMacro"]],["impl Freeze for TypeNever",1,["syn::ty::TypeNever"]],["impl Freeze for TypeParen",1,["syn::ty::TypeParen"]],["impl Freeze for TypePath",1,["syn::ty::TypePath"]],["impl Freeze for TypePtr",1,["syn::ty::TypePtr"]],["impl Freeze for TypeReference",1,["syn::ty::TypeReference"]],["impl Freeze for TypeSlice",1,["syn::ty::TypeSlice"]],["impl Freeze for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl Freeze for TypeTuple",1,["syn::ty::TypeTuple"]],["impl Freeze for Abi",1,["syn::ty::Abi"]],["impl Freeze for BareFnArg",1,["syn::ty::BareFnArg"]],["impl Freeze for Variadic",1,["syn::ty::Variadic"]],["impl Freeze for ReturnType",1,["syn::ty::ReturnType"]],["impl Freeze for Path",1,["syn::path::Path"]],["impl Freeze for PathSegment",1,["syn::path::PathSegment"]],["impl Freeze for PathArguments",1,["syn::path::PathArguments"]],["impl Freeze for GenericArgument",1,["syn::path::GenericArgument"]],["impl Freeze for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl Freeze for Binding",1,["syn::path::Binding"]],["impl Freeze for Constraint",1,["syn::path::Constraint"]],["impl Freeze for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl Freeze for QSelf",1,["syn::path::QSelf"]],["impl Freeze for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> Freeze for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Freeze for Punctuated<T, P>",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Freeze for Pairs<'a, T, P>",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Freeze for PairsMut<'a, T, P>",1,["syn::punctuated::PairsMut"]],["impl<T, P> Freeze for IntoPairs<T, P>where
    T: Freeze,
",1,["syn::punctuated::IntoPairs"]],["impl<T> Freeze for IntoIter<T>",1,["syn::punctuated::IntoIter"]],["impl<'a, T> Freeze for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> Freeze for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Freeze for Pair<T, P>where
    P: Freeze,
    T: Freeze,
",1,["syn::punctuated::Pair"]],["impl<'a> !Freeze for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Freeze for Error",1,["syn::error::Error"]],["impl<'a> !Freeze for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> Freeze for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Freeze for Nothing",1,["syn::parse::Nothing"]]], +"proc_macro2":[["impl Freeze for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl Freeze for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl Freeze for TokenStream",1,["proc_macro2::TokenStream"]],["impl Freeze for LexError",1,["proc_macro2::LexError"]],["impl Freeze for Span",1,["proc_macro2::Span"]],["impl Freeze for TokenTree",1,["proc_macro2::TokenTree"]],["impl Freeze for Group",1,["proc_macro2::Group"]],["impl Freeze for Delimiter",1,["proc_macro2::Delimiter"]],["impl Freeze for Punct",1,["proc_macro2::Punct"]],["impl Freeze for Spacing",1,["proc_macro2::Spacing"]],["impl Freeze for Ident",1,["proc_macro2::Ident"]],["impl Freeze for Literal",1,["proc_macro2::Literal"]]], +"syn":[["impl Freeze for Underscore",1,["syn::token::Underscore"]],["impl Freeze for Abstract",1,["syn::token::Abstract"]],["impl Freeze for As",1,["syn::token::As"]],["impl Freeze for Async",1,["syn::token::Async"]],["impl Freeze for Auto",1,["syn::token::Auto"]],["impl Freeze for Await",1,["syn::token::Await"]],["impl Freeze for Become",1,["syn::token::Become"]],["impl Freeze for Box",1,["syn::token::Box"]],["impl Freeze for Break",1,["syn::token::Break"]],["impl Freeze for Const",1,["syn::token::Const"]],["impl Freeze for Continue",1,["syn::token::Continue"]],["impl Freeze for Crate",1,["syn::token::Crate"]],["impl Freeze for Default",1,["syn::token::Default"]],["impl Freeze for Do",1,["syn::token::Do"]],["impl Freeze for Dyn",1,["syn::token::Dyn"]],["impl Freeze for Else",1,["syn::token::Else"]],["impl Freeze for Enum",1,["syn::token::Enum"]],["impl Freeze for Extern",1,["syn::token::Extern"]],["impl Freeze for Final",1,["syn::token::Final"]],["impl Freeze for Fn",1,["syn::token::Fn"]],["impl Freeze for For",1,["syn::token::For"]],["impl Freeze for If",1,["syn::token::If"]],["impl Freeze for Impl",1,["syn::token::Impl"]],["impl Freeze for In",1,["syn::token::In"]],["impl Freeze for Let",1,["syn::token::Let"]],["impl Freeze for Loop",1,["syn::token::Loop"]],["impl Freeze for Macro",1,["syn::token::Macro"]],["impl Freeze for Match",1,["syn::token::Match"]],["impl Freeze for Mod",1,["syn::token::Mod"]],["impl Freeze for Move",1,["syn::token::Move"]],["impl Freeze for Mut",1,["syn::token::Mut"]],["impl Freeze for Override",1,["syn::token::Override"]],["impl Freeze for Priv",1,["syn::token::Priv"]],["impl Freeze for Pub",1,["syn::token::Pub"]],["impl Freeze for Ref",1,["syn::token::Ref"]],["impl Freeze for Return",1,["syn::token::Return"]],["impl Freeze for SelfType",1,["syn::token::SelfType"]],["impl Freeze for SelfValue",1,["syn::token::SelfValue"]],["impl Freeze for Static",1,["syn::token::Static"]],["impl Freeze for Struct",1,["syn::token::Struct"]],["impl Freeze for Super",1,["syn::token::Super"]],["impl Freeze for Trait",1,["syn::token::Trait"]],["impl Freeze for Try",1,["syn::token::Try"]],["impl Freeze for Type",1,["syn::token::Type"]],["impl Freeze for Typeof",1,["syn::token::Typeof"]],["impl Freeze for Union",1,["syn::token::Union"]],["impl Freeze for Unsafe",1,["syn::token::Unsafe"]],["impl Freeze for Unsized",1,["syn::token::Unsized"]],["impl Freeze for Use",1,["syn::token::Use"]],["impl Freeze for Virtual",1,["syn::token::Virtual"]],["impl Freeze for Where",1,["syn::token::Where"]],["impl Freeze for While",1,["syn::token::While"]],["impl Freeze for Yield",1,["syn::token::Yield"]],["impl Freeze for Add",1,["syn::token::Add"]],["impl Freeze for AddEq",1,["syn::token::AddEq"]],["impl Freeze for And",1,["syn::token::And"]],["impl Freeze for AndAnd",1,["syn::token::AndAnd"]],["impl Freeze for AndEq",1,["syn::token::AndEq"]],["impl Freeze for At",1,["syn::token::At"]],["impl Freeze for Bang",1,["syn::token::Bang"]],["impl Freeze for Caret",1,["syn::token::Caret"]],["impl Freeze for CaretEq",1,["syn::token::CaretEq"]],["impl Freeze for Colon",1,["syn::token::Colon"]],["impl Freeze for Colon2",1,["syn::token::Colon2"]],["impl Freeze for Comma",1,["syn::token::Comma"]],["impl Freeze for Div",1,["syn::token::Div"]],["impl Freeze for DivEq",1,["syn::token::DivEq"]],["impl Freeze for Dollar",1,["syn::token::Dollar"]],["impl Freeze for Dot",1,["syn::token::Dot"]],["impl Freeze for Dot2",1,["syn::token::Dot2"]],["impl Freeze for Dot3",1,["syn::token::Dot3"]],["impl Freeze for DotDotEq",1,["syn::token::DotDotEq"]],["impl Freeze for Eq",1,["syn::token::Eq"]],["impl Freeze for EqEq",1,["syn::token::EqEq"]],["impl Freeze for Ge",1,["syn::token::Ge"]],["impl Freeze for Gt",1,["syn::token::Gt"]],["impl Freeze for Le",1,["syn::token::Le"]],["impl Freeze for Lt",1,["syn::token::Lt"]],["impl Freeze for MulEq",1,["syn::token::MulEq"]],["impl Freeze for Ne",1,["syn::token::Ne"]],["impl Freeze for Or",1,["syn::token::Or"]],["impl Freeze for OrEq",1,["syn::token::OrEq"]],["impl Freeze for OrOr",1,["syn::token::OrOr"]],["impl Freeze for Pound",1,["syn::token::Pound"]],["impl Freeze for Question",1,["syn::token::Question"]],["impl Freeze for RArrow",1,["syn::token::RArrow"]],["impl Freeze for LArrow",1,["syn::token::LArrow"]],["impl Freeze for Rem",1,["syn::token::Rem"]],["impl Freeze for RemEq",1,["syn::token::RemEq"]],["impl Freeze for FatArrow",1,["syn::token::FatArrow"]],["impl Freeze for Semi",1,["syn::token::Semi"]],["impl Freeze for Shl",1,["syn::token::Shl"]],["impl Freeze for ShlEq",1,["syn::token::ShlEq"]],["impl Freeze for Shr",1,["syn::token::Shr"]],["impl Freeze for ShrEq",1,["syn::token::ShrEq"]],["impl Freeze for Star",1,["syn::token::Star"]],["impl Freeze for Sub",1,["syn::token::Sub"]],["impl Freeze for SubEq",1,["syn::token::SubEq"]],["impl Freeze for Tilde",1,["syn::token::Tilde"]],["impl Freeze for Brace",1,["syn::token::Brace"]],["impl Freeze for Bracket",1,["syn::token::Bracket"]],["impl Freeze for Paren",1,["syn::token::Paren"]],["impl Freeze for Group",1,["syn::token::Group"]],["impl Freeze for Attribute",1,["syn::attr::Attribute"]],["impl Freeze for AttrStyle",1,["syn::attr::AttrStyle"]],["impl Freeze for Meta",1,["syn::attr::Meta"]],["impl Freeze for MetaList",1,["syn::attr::MetaList"]],["impl Freeze for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl Freeze for NestedMeta",1,["syn::attr::NestedMeta"]],["impl Freeze for Variant",1,["syn::data::Variant"]],["impl Freeze for Fields",1,["syn::data::Fields"]],["impl Freeze for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl Freeze for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl Freeze for Field",1,["syn::data::Field"]],["impl Freeze for Visibility",1,["syn::data::Visibility"]],["impl Freeze for VisPublic",1,["syn::data::VisPublic"]],["impl Freeze for VisCrate",1,["syn::data::VisCrate"]],["impl Freeze for VisRestricted",1,["syn::data::VisRestricted"]],["impl Freeze for Expr",1,["syn::expr::Expr"]],["impl Freeze for ExprArray",1,["syn::expr::ExprArray"]],["impl Freeze for ExprAssign",1,["syn::expr::ExprAssign"]],["impl Freeze for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl Freeze for ExprAsync",1,["syn::expr::ExprAsync"]],["impl Freeze for ExprAwait",1,["syn::expr::ExprAwait"]],["impl Freeze for ExprBinary",1,["syn::expr::ExprBinary"]],["impl Freeze for ExprBlock",1,["syn::expr::ExprBlock"]],["impl Freeze for ExprBox",1,["syn::expr::ExprBox"]],["impl Freeze for ExprBreak",1,["syn::expr::ExprBreak"]],["impl Freeze for ExprCall",1,["syn::expr::ExprCall"]],["impl Freeze for ExprCast",1,["syn::expr::ExprCast"]],["impl Freeze for ExprClosure",1,["syn::expr::ExprClosure"]],["impl Freeze for ExprContinue",1,["syn::expr::ExprContinue"]],["impl Freeze for ExprField",1,["syn::expr::ExprField"]],["impl Freeze for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl Freeze for ExprGroup",1,["syn::expr::ExprGroup"]],["impl Freeze for ExprIf",1,["syn::expr::ExprIf"]],["impl Freeze for ExprIndex",1,["syn::expr::ExprIndex"]],["impl Freeze for ExprLet",1,["syn::expr::ExprLet"]],["impl Freeze for ExprLit",1,["syn::expr::ExprLit"]],["impl Freeze for ExprLoop",1,["syn::expr::ExprLoop"]],["impl Freeze for ExprMacro",1,["syn::expr::ExprMacro"]],["impl Freeze for ExprMatch",1,["syn::expr::ExprMatch"]],["impl Freeze for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl Freeze for ExprParen",1,["syn::expr::ExprParen"]],["impl Freeze for ExprPath",1,["syn::expr::ExprPath"]],["impl Freeze for ExprRange",1,["syn::expr::ExprRange"]],["impl Freeze for ExprReference",1,["syn::expr::ExprReference"]],["impl Freeze for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl Freeze for ExprReturn",1,["syn::expr::ExprReturn"]],["impl Freeze for ExprStruct",1,["syn::expr::ExprStruct"]],["impl Freeze for ExprTry",1,["syn::expr::ExprTry"]],["impl Freeze for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl Freeze for ExprTuple",1,["syn::expr::ExprTuple"]],["impl Freeze for ExprType",1,["syn::expr::ExprType"]],["impl Freeze for ExprUnary",1,["syn::expr::ExprUnary"]],["impl Freeze for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl Freeze for ExprWhile",1,["syn::expr::ExprWhile"]],["impl Freeze for ExprYield",1,["syn::expr::ExprYield"]],["impl Freeze for Member",1,["syn::expr::Member"]],["impl Freeze for Index",1,["syn::expr::Index"]],["impl Freeze for Generics",1,["syn::generics::Generics"]],["impl Freeze for GenericParam",1,["syn::generics::GenericParam"]],["impl Freeze for TypeParam",1,["syn::generics::TypeParam"]],["impl Freeze for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl Freeze for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> Freeze for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> Freeze for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> Freeze for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl Freeze for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl Freeze for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl Freeze for TraitBound",1,["syn::generics::TraitBound"]],["impl Freeze for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl Freeze for WhereClause",1,["syn::generics::WhereClause"]],["impl Freeze for WherePredicate",1,["syn::generics::WherePredicate"]],["impl Freeze for PredicateType",1,["syn::generics::PredicateType"]],["impl Freeze for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl Freeze for PredicateEq",1,["syn::generics::PredicateEq"]],["impl Freeze for Lifetime",1,["syn::lifetime::Lifetime"]],["impl Freeze for Lit",1,["syn::lit::Lit"]],["impl Freeze for LitStr",1,["syn::lit::LitStr"]],["impl Freeze for LitByteStr",1,["syn::lit::LitByteStr"]],["impl Freeze for LitByte",1,["syn::lit::LitByte"]],["impl Freeze for LitChar",1,["syn::lit::LitChar"]],["impl Freeze for LitInt",1,["syn::lit::LitInt"]],["impl Freeze for LitFloat",1,["syn::lit::LitFloat"]],["impl Freeze for LitBool",1,["syn::lit::LitBool"]],["impl Freeze for StrStyle",1,["syn::lit::StrStyle"]],["impl Freeze for Macro",1,["syn::mac::Macro"]],["impl Freeze for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl Freeze for DeriveInput",1,["syn::derive::DeriveInput"]],["impl Freeze for Data",1,["syn::derive::Data"]],["impl Freeze for DataStruct",1,["syn::derive::DataStruct"]],["impl Freeze for DataEnum",1,["syn::derive::DataEnum"]],["impl Freeze for DataUnion",1,["syn::derive::DataUnion"]],["impl Freeze for BinOp",1,["syn::op::BinOp"]],["impl Freeze for UnOp",1,["syn::op::UnOp"]],["impl Freeze for Type",1,["syn::ty::Type"]],["impl Freeze for TypeArray",1,["syn::ty::TypeArray"]],["impl Freeze for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl Freeze for TypeGroup",1,["syn::ty::TypeGroup"]],["impl Freeze for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl Freeze for TypeInfer",1,["syn::ty::TypeInfer"]],["impl Freeze for TypeMacro",1,["syn::ty::TypeMacro"]],["impl Freeze for TypeNever",1,["syn::ty::TypeNever"]],["impl Freeze for TypeParen",1,["syn::ty::TypeParen"]],["impl Freeze for TypePath",1,["syn::ty::TypePath"]],["impl Freeze for TypePtr",1,["syn::ty::TypePtr"]],["impl Freeze for TypeReference",1,["syn::ty::TypeReference"]],["impl Freeze for TypeSlice",1,["syn::ty::TypeSlice"]],["impl Freeze for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl Freeze for TypeTuple",1,["syn::ty::TypeTuple"]],["impl Freeze for Abi",1,["syn::ty::Abi"]],["impl Freeze for BareFnArg",1,["syn::ty::BareFnArg"]],["impl Freeze for Variadic",1,["syn::ty::Variadic"]],["impl Freeze for ReturnType",1,["syn::ty::ReturnType"]],["impl Freeze for Path",1,["syn::path::Path"]],["impl Freeze for PathSegment",1,["syn::path::PathSegment"]],["impl Freeze for PathArguments",1,["syn::path::PathArguments"]],["impl Freeze for GenericArgument",1,["syn::path::GenericArgument"]],["impl Freeze for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl Freeze for Binding",1,["syn::path::Binding"]],["impl Freeze for Constraint",1,["syn::path::Constraint"]],["impl Freeze for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl Freeze for QSelf",1,["syn::path::QSelf"]],["impl Freeze for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> Freeze for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Freeze for Punctuated<T, P>",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Freeze for Pairs<'a, T, P>",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Freeze for PairsMut<'a, T, P>",1,["syn::punctuated::PairsMut"]],["impl<T, P> Freeze for IntoPairs<T, P>where\n T: Freeze,",1,["syn::punctuated::IntoPairs"]],["impl<T> Freeze for IntoIter<T>",1,["syn::punctuated::IntoIter"]],["impl<'a, T> Freeze for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> Freeze for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Freeze for Pair<T, P>where\n P: Freeze,\n T: Freeze,",1,["syn::punctuated::Pair"]],["impl<'a> !Freeze for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Freeze for Error",1,["syn::error::Error"]],["impl<'a> !Freeze for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> Freeze for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Freeze for Nothing",1,["syn::parse::Nothing"]]], "synstructure":[["impl Freeze for AddBounds",1,["synstructure::AddBounds"]],["impl Freeze for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> Freeze for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> Freeze for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> Freeze for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> Freeze for Structure<'a>",1,["synstructure::Structure"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index c89308c..7dbf556 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl Send for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Send for HexStr<'a, T, U, S>where
    S: Send,
    T: Sync,
    U: Send,
",1,["delog::hex::HexStr"]],["impl Send for Statistics",1,["delog::logger::Statistics"]],["impl Send for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]],["impl Send for DefaultRenderer"]], -"flexiber":[["impl<'a> Send for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Send for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Send for Error",1,["flexiber::error::Error"]],["impl Send for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Send for Length",1,["flexiber::length::Length"]],["impl Send for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Send for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Send for Class",1,["flexiber::tag::Class"]],["impl Send for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Send for TaggedValue<V, T>where
    T: Send,
    V: Send,
",1,["flexiber::tagged::TaggedValue"]]], -"log":[["impl Send for Level",1,["log::Level"]],["impl Send for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !Send for Record<'a>",1,["log::Record"]],["impl<'a> !Send for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Send for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Send for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Send for SetLoggerError",1,["log::SetLoggerError"]],["impl Send for ParseLevelError",1,["log::ParseLevelError"]]], -"proc_macro2":[["impl !Send for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl !Send for TokenStream",1,["proc_macro2::TokenStream"]],["impl !Send for LexError",1,["proc_macro2::LexError"]],["impl !Send for Span",1,["proc_macro2::Span"]],["impl !Send for TokenTree",1,["proc_macro2::TokenTree"]],["impl !Send for Group",1,["proc_macro2::Group"]],["impl Send for Delimiter",1,["proc_macro2::Delimiter"]],["impl !Send for Punct",1,["proc_macro2::Punct"]],["impl Send for Spacing",1,["proc_macro2::Spacing"]],["impl !Send for Ident",1,["proc_macro2::Ident"]],["impl !Send for Literal",1,["proc_macro2::Literal"]]], -"syn":[["impl !Send for Underscore",1,["syn::token::Underscore"]],["impl !Send for Abstract",1,["syn::token::Abstract"]],["impl !Send for As",1,["syn::token::As"]],["impl !Send for Async",1,["syn::token::Async"]],["impl !Send for Auto",1,["syn::token::Auto"]],["impl !Send for Await",1,["syn::token::Await"]],["impl !Send for Become",1,["syn::token::Become"]],["impl !Send for Box",1,["syn::token::Box"]],["impl !Send for Break",1,["syn::token::Break"]],["impl !Send for Const",1,["syn::token::Const"]],["impl !Send for Continue",1,["syn::token::Continue"]],["impl !Send for Crate",1,["syn::token::Crate"]],["impl !Send for Default",1,["syn::token::Default"]],["impl !Send for Do",1,["syn::token::Do"]],["impl !Send for Dyn",1,["syn::token::Dyn"]],["impl !Send for Else",1,["syn::token::Else"]],["impl !Send for Enum",1,["syn::token::Enum"]],["impl !Send for Extern",1,["syn::token::Extern"]],["impl !Send for Final",1,["syn::token::Final"]],["impl !Send for Fn",1,["syn::token::Fn"]],["impl !Send for For",1,["syn::token::For"]],["impl !Send for If",1,["syn::token::If"]],["impl !Send for Impl",1,["syn::token::Impl"]],["impl !Send for In",1,["syn::token::In"]],["impl !Send for Let",1,["syn::token::Let"]],["impl !Send for Loop",1,["syn::token::Loop"]],["impl !Send for Macro",1,["syn::token::Macro"]],["impl !Send for Match",1,["syn::token::Match"]],["impl !Send for Mod",1,["syn::token::Mod"]],["impl !Send for Move",1,["syn::token::Move"]],["impl !Send for Mut",1,["syn::token::Mut"]],["impl !Send for Override",1,["syn::token::Override"]],["impl !Send for Priv",1,["syn::token::Priv"]],["impl !Send for Pub",1,["syn::token::Pub"]],["impl !Send for Ref",1,["syn::token::Ref"]],["impl !Send for Return",1,["syn::token::Return"]],["impl !Send for SelfType",1,["syn::token::SelfType"]],["impl !Send for SelfValue",1,["syn::token::SelfValue"]],["impl !Send for Static",1,["syn::token::Static"]],["impl !Send for Struct",1,["syn::token::Struct"]],["impl !Send for Super",1,["syn::token::Super"]],["impl !Send for Trait",1,["syn::token::Trait"]],["impl !Send for Try",1,["syn::token::Try"]],["impl !Send for Type",1,["syn::token::Type"]],["impl !Send for Typeof",1,["syn::token::Typeof"]],["impl !Send for Union",1,["syn::token::Union"]],["impl !Send for Unsafe",1,["syn::token::Unsafe"]],["impl !Send for Unsized",1,["syn::token::Unsized"]],["impl !Send for Use",1,["syn::token::Use"]],["impl !Send for Virtual",1,["syn::token::Virtual"]],["impl !Send for Where",1,["syn::token::Where"]],["impl !Send for While",1,["syn::token::While"]],["impl !Send for Yield",1,["syn::token::Yield"]],["impl !Send for Add",1,["syn::token::Add"]],["impl !Send for AddEq",1,["syn::token::AddEq"]],["impl !Send for And",1,["syn::token::And"]],["impl !Send for AndAnd",1,["syn::token::AndAnd"]],["impl !Send for AndEq",1,["syn::token::AndEq"]],["impl !Send for At",1,["syn::token::At"]],["impl !Send for Bang",1,["syn::token::Bang"]],["impl !Send for Caret",1,["syn::token::Caret"]],["impl !Send for CaretEq",1,["syn::token::CaretEq"]],["impl !Send for Colon",1,["syn::token::Colon"]],["impl !Send for Colon2",1,["syn::token::Colon2"]],["impl !Send for Comma",1,["syn::token::Comma"]],["impl !Send for Div",1,["syn::token::Div"]],["impl !Send for DivEq",1,["syn::token::DivEq"]],["impl !Send for Dollar",1,["syn::token::Dollar"]],["impl !Send for Dot",1,["syn::token::Dot"]],["impl !Send for Dot2",1,["syn::token::Dot2"]],["impl !Send for Dot3",1,["syn::token::Dot3"]],["impl !Send for DotDotEq",1,["syn::token::DotDotEq"]],["impl !Send for Eq",1,["syn::token::Eq"]],["impl !Send for EqEq",1,["syn::token::EqEq"]],["impl !Send for Ge",1,["syn::token::Ge"]],["impl !Send for Gt",1,["syn::token::Gt"]],["impl !Send for Le",1,["syn::token::Le"]],["impl !Send for Lt",1,["syn::token::Lt"]],["impl !Send for MulEq",1,["syn::token::MulEq"]],["impl !Send for Ne",1,["syn::token::Ne"]],["impl !Send for Or",1,["syn::token::Or"]],["impl !Send for OrEq",1,["syn::token::OrEq"]],["impl !Send for OrOr",1,["syn::token::OrOr"]],["impl !Send for Pound",1,["syn::token::Pound"]],["impl !Send for Question",1,["syn::token::Question"]],["impl !Send for RArrow",1,["syn::token::RArrow"]],["impl !Send for LArrow",1,["syn::token::LArrow"]],["impl !Send for Rem",1,["syn::token::Rem"]],["impl !Send for RemEq",1,["syn::token::RemEq"]],["impl !Send for FatArrow",1,["syn::token::FatArrow"]],["impl !Send for Semi",1,["syn::token::Semi"]],["impl !Send for Shl",1,["syn::token::Shl"]],["impl !Send for ShlEq",1,["syn::token::ShlEq"]],["impl !Send for Shr",1,["syn::token::Shr"]],["impl !Send for ShrEq",1,["syn::token::ShrEq"]],["impl !Send for Star",1,["syn::token::Star"]],["impl !Send for Sub",1,["syn::token::Sub"]],["impl !Send for SubEq",1,["syn::token::SubEq"]],["impl !Send for Tilde",1,["syn::token::Tilde"]],["impl !Send for Brace",1,["syn::token::Brace"]],["impl !Send for Bracket",1,["syn::token::Bracket"]],["impl !Send for Paren",1,["syn::token::Paren"]],["impl !Send for Group",1,["syn::token::Group"]],["impl !Send for Attribute",1,["syn::attr::Attribute"]],["impl !Send for AttrStyle",1,["syn::attr::AttrStyle"]],["impl !Send for Meta",1,["syn::attr::Meta"]],["impl !Send for MetaList",1,["syn::attr::MetaList"]],["impl !Send for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl !Send for NestedMeta",1,["syn::attr::NestedMeta"]],["impl !Send for Variant",1,["syn::data::Variant"]],["impl !Send for Fields",1,["syn::data::Fields"]],["impl !Send for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl !Send for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl !Send for Field",1,["syn::data::Field"]],["impl !Send for Visibility",1,["syn::data::Visibility"]],["impl !Send for VisPublic",1,["syn::data::VisPublic"]],["impl !Send for VisCrate",1,["syn::data::VisCrate"]],["impl !Send for VisRestricted",1,["syn::data::VisRestricted"]],["impl !Send for Expr",1,["syn::expr::Expr"]],["impl !Send for ExprArray",1,["syn::expr::ExprArray"]],["impl !Send for ExprAssign",1,["syn::expr::ExprAssign"]],["impl !Send for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl !Send for ExprAsync",1,["syn::expr::ExprAsync"]],["impl !Send for ExprAwait",1,["syn::expr::ExprAwait"]],["impl !Send for ExprBinary",1,["syn::expr::ExprBinary"]],["impl !Send for ExprBlock",1,["syn::expr::ExprBlock"]],["impl !Send for ExprBox",1,["syn::expr::ExprBox"]],["impl !Send for ExprBreak",1,["syn::expr::ExprBreak"]],["impl !Send for ExprCall",1,["syn::expr::ExprCall"]],["impl !Send for ExprCast",1,["syn::expr::ExprCast"]],["impl !Send for ExprClosure",1,["syn::expr::ExprClosure"]],["impl !Send for ExprContinue",1,["syn::expr::ExprContinue"]],["impl !Send for ExprField",1,["syn::expr::ExprField"]],["impl !Send for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl !Send for ExprGroup",1,["syn::expr::ExprGroup"]],["impl !Send for ExprIf",1,["syn::expr::ExprIf"]],["impl !Send for ExprIndex",1,["syn::expr::ExprIndex"]],["impl !Send for ExprLet",1,["syn::expr::ExprLet"]],["impl !Send for ExprLit",1,["syn::expr::ExprLit"]],["impl !Send for ExprLoop",1,["syn::expr::ExprLoop"]],["impl !Send for ExprMacro",1,["syn::expr::ExprMacro"]],["impl !Send for ExprMatch",1,["syn::expr::ExprMatch"]],["impl !Send for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl !Send for ExprParen",1,["syn::expr::ExprParen"]],["impl !Send for ExprPath",1,["syn::expr::ExprPath"]],["impl !Send for ExprRange",1,["syn::expr::ExprRange"]],["impl !Send for ExprReference",1,["syn::expr::ExprReference"]],["impl !Send for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl !Send for ExprReturn",1,["syn::expr::ExprReturn"]],["impl !Send for ExprStruct",1,["syn::expr::ExprStruct"]],["impl !Send for ExprTry",1,["syn::expr::ExprTry"]],["impl !Send for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl !Send for ExprTuple",1,["syn::expr::ExprTuple"]],["impl !Send for ExprType",1,["syn::expr::ExprType"]],["impl !Send for ExprUnary",1,["syn::expr::ExprUnary"]],["impl !Send for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl !Send for ExprWhile",1,["syn::expr::ExprWhile"]],["impl !Send for ExprYield",1,["syn::expr::ExprYield"]],["impl !Send for Member",1,["syn::expr::Member"]],["impl !Send for Index",1,["syn::expr::Index"]],["impl !Send for Generics",1,["syn::generics::Generics"]],["impl !Send for GenericParam",1,["syn::generics::GenericParam"]],["impl !Send for TypeParam",1,["syn::generics::TypeParam"]],["impl !Send for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl !Send for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> !Send for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> !Send for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> !Send for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl !Send for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl !Send for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl !Send for TraitBound",1,["syn::generics::TraitBound"]],["impl !Send for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl !Send for WhereClause",1,["syn::generics::WhereClause"]],["impl !Send for WherePredicate",1,["syn::generics::WherePredicate"]],["impl !Send for PredicateType",1,["syn::generics::PredicateType"]],["impl !Send for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl !Send for PredicateEq",1,["syn::generics::PredicateEq"]],["impl !Send for Lifetime",1,["syn::lifetime::Lifetime"]],["impl !Send for Lit",1,["syn::lit::Lit"]],["impl !Send for LitStr",1,["syn::lit::LitStr"]],["impl !Send for LitByteStr",1,["syn::lit::LitByteStr"]],["impl !Send for LitByte",1,["syn::lit::LitByte"]],["impl !Send for LitChar",1,["syn::lit::LitChar"]],["impl !Send for LitInt",1,["syn::lit::LitInt"]],["impl !Send for LitFloat",1,["syn::lit::LitFloat"]],["impl !Send for LitBool",1,["syn::lit::LitBool"]],["impl Send for StrStyle",1,["syn::lit::StrStyle"]],["impl !Send for Macro",1,["syn::mac::Macro"]],["impl !Send for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl !Send for DeriveInput",1,["syn::derive::DeriveInput"]],["impl !Send for Data",1,["syn::derive::Data"]],["impl !Send for DataStruct",1,["syn::derive::DataStruct"]],["impl !Send for DataEnum",1,["syn::derive::DataEnum"]],["impl !Send for DataUnion",1,["syn::derive::DataUnion"]],["impl !Send for BinOp",1,["syn::op::BinOp"]],["impl !Send for UnOp",1,["syn::op::UnOp"]],["impl !Send for Type",1,["syn::ty::Type"]],["impl !Send for TypeArray",1,["syn::ty::TypeArray"]],["impl !Send for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl !Send for TypeGroup",1,["syn::ty::TypeGroup"]],["impl !Send for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl !Send for TypeInfer",1,["syn::ty::TypeInfer"]],["impl !Send for TypeMacro",1,["syn::ty::TypeMacro"]],["impl !Send for TypeNever",1,["syn::ty::TypeNever"]],["impl !Send for TypeParen",1,["syn::ty::TypeParen"]],["impl !Send for TypePath",1,["syn::ty::TypePath"]],["impl !Send for TypePtr",1,["syn::ty::TypePtr"]],["impl !Send for TypeReference",1,["syn::ty::TypeReference"]],["impl !Send for TypeSlice",1,["syn::ty::TypeSlice"]],["impl !Send for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl !Send for TypeTuple",1,["syn::ty::TypeTuple"]],["impl !Send for Abi",1,["syn::ty::Abi"]],["impl !Send for BareFnArg",1,["syn::ty::BareFnArg"]],["impl !Send for Variadic",1,["syn::ty::Variadic"]],["impl !Send for ReturnType",1,["syn::ty::ReturnType"]],["impl !Send for Path",1,["syn::path::Path"]],["impl !Send for PathSegment",1,["syn::path::PathSegment"]],["impl !Send for PathArguments",1,["syn::path::PathArguments"]],["impl !Send for GenericArgument",1,["syn::path::GenericArgument"]],["impl !Send for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl !Send for Binding",1,["syn::path::Binding"]],["impl !Send for Constraint",1,["syn::path::Constraint"]],["impl !Send for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl !Send for QSelf",1,["syn::path::QSelf"]],["impl !Send for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> !Send for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Send for Punctuated<T, P>where
    P: Send,
    T: Send,
",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Send for Pairs<'a, T, P>where
    P: Sync,
    T: Sync,
",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Send for PairsMut<'a, T, P>where
    P: Send,
    T: Send,
",1,["syn::punctuated::PairsMut"]],["impl<T, P> Send for IntoPairs<T, P>where
    P: Send,
    T: Send,
",1,["syn::punctuated::IntoPairs"]],["impl<T> Send for IntoIter<T>where
    T: Send,
",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !Send for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !Send for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Send for Pair<T, P>where
    P: Send,
    T: Send,
",1,["syn::punctuated::Pair"]],["impl<'a> !Send for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Send for Error",1,["syn::error::Error"]],["impl<'a> !Send for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> !Send for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Send for Nothing",1,["syn::parse::Nothing"]]], -"synstructure":[["impl Send for AddBounds",1,["synstructure::AddBounds"]],["impl Send for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> !Send for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> !Send for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> !Send for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> !Send for Structure<'a>",1,["synstructure::Structure"]]] +"delog":[["impl Send for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Send for HexStr<'a, T, U, S>where\n S: Send,\n T: Sync,\n U: Send,",1,["delog::hex::HexStr"]],["impl Send for Statistics",1,["delog::logger::Statistics"]],["impl Send for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]],["impl Send for DefaultRenderer"]], +"flexiber":[["impl<'a> Send for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Send for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Send for Error",1,["flexiber::error::Error"]],["impl Send for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Send for Length",1,["flexiber::length::Length"]],["impl Send for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Send for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Send for Class",1,["flexiber::tag::Class"]],["impl Send for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Send for TaggedValue<V, T>where\n T: Send,\n V: Send,",1,["flexiber::tagged::TaggedValue"]]], +"log":[["impl Send for Level",1,["log::Level"]],["impl Send for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !Send for Record<'a>",1,["log::Record"]],["impl<'a> !Send for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Send for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Send for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Send for SetLoggerError",1,["log::SetLoggerError"]],["impl Send for ParseLevelError",1,["log::ParseLevelError"]]], +"proc_macro2":[["impl !Send for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl !Send for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl !Send for TokenStream",1,["proc_macro2::TokenStream"]],["impl !Send for LexError",1,["proc_macro2::LexError"]],["impl !Send for Span",1,["proc_macro2::Span"]],["impl !Send for TokenTree",1,["proc_macro2::TokenTree"]],["impl !Send for Group",1,["proc_macro2::Group"]],["impl Send for Delimiter",1,["proc_macro2::Delimiter"]],["impl !Send for Punct",1,["proc_macro2::Punct"]],["impl Send for Spacing",1,["proc_macro2::Spacing"]],["impl !Send for Ident",1,["proc_macro2::Ident"]],["impl !Send for Literal",1,["proc_macro2::Literal"]]], +"syn":[["impl !Send for Underscore",1,["syn::token::Underscore"]],["impl !Send for Abstract",1,["syn::token::Abstract"]],["impl !Send for As",1,["syn::token::As"]],["impl !Send for Async",1,["syn::token::Async"]],["impl !Send for Auto",1,["syn::token::Auto"]],["impl !Send for Await",1,["syn::token::Await"]],["impl !Send for Become",1,["syn::token::Become"]],["impl !Send for Box",1,["syn::token::Box"]],["impl !Send for Break",1,["syn::token::Break"]],["impl !Send for Const",1,["syn::token::Const"]],["impl !Send for Continue",1,["syn::token::Continue"]],["impl !Send for Crate",1,["syn::token::Crate"]],["impl !Send for Default",1,["syn::token::Default"]],["impl !Send for Do",1,["syn::token::Do"]],["impl !Send for Dyn",1,["syn::token::Dyn"]],["impl !Send for Else",1,["syn::token::Else"]],["impl !Send for Enum",1,["syn::token::Enum"]],["impl !Send for Extern",1,["syn::token::Extern"]],["impl !Send for Final",1,["syn::token::Final"]],["impl !Send for Fn",1,["syn::token::Fn"]],["impl !Send for For",1,["syn::token::For"]],["impl !Send for If",1,["syn::token::If"]],["impl !Send for Impl",1,["syn::token::Impl"]],["impl !Send for In",1,["syn::token::In"]],["impl !Send for Let",1,["syn::token::Let"]],["impl !Send for Loop",1,["syn::token::Loop"]],["impl !Send for Macro",1,["syn::token::Macro"]],["impl !Send for Match",1,["syn::token::Match"]],["impl !Send for Mod",1,["syn::token::Mod"]],["impl !Send for Move",1,["syn::token::Move"]],["impl !Send for Mut",1,["syn::token::Mut"]],["impl !Send for Override",1,["syn::token::Override"]],["impl !Send for Priv",1,["syn::token::Priv"]],["impl !Send for Pub",1,["syn::token::Pub"]],["impl !Send for Ref",1,["syn::token::Ref"]],["impl !Send for Return",1,["syn::token::Return"]],["impl !Send for SelfType",1,["syn::token::SelfType"]],["impl !Send for SelfValue",1,["syn::token::SelfValue"]],["impl !Send for Static",1,["syn::token::Static"]],["impl !Send for Struct",1,["syn::token::Struct"]],["impl !Send for Super",1,["syn::token::Super"]],["impl !Send for Trait",1,["syn::token::Trait"]],["impl !Send for Try",1,["syn::token::Try"]],["impl !Send for Type",1,["syn::token::Type"]],["impl !Send for Typeof",1,["syn::token::Typeof"]],["impl !Send for Union",1,["syn::token::Union"]],["impl !Send for Unsafe",1,["syn::token::Unsafe"]],["impl !Send for Unsized",1,["syn::token::Unsized"]],["impl !Send for Use",1,["syn::token::Use"]],["impl !Send for Virtual",1,["syn::token::Virtual"]],["impl !Send for Where",1,["syn::token::Where"]],["impl !Send for While",1,["syn::token::While"]],["impl !Send for Yield",1,["syn::token::Yield"]],["impl !Send for Add",1,["syn::token::Add"]],["impl !Send for AddEq",1,["syn::token::AddEq"]],["impl !Send for And",1,["syn::token::And"]],["impl !Send for AndAnd",1,["syn::token::AndAnd"]],["impl !Send for AndEq",1,["syn::token::AndEq"]],["impl !Send for At",1,["syn::token::At"]],["impl !Send for Bang",1,["syn::token::Bang"]],["impl !Send for Caret",1,["syn::token::Caret"]],["impl !Send for CaretEq",1,["syn::token::CaretEq"]],["impl !Send for Colon",1,["syn::token::Colon"]],["impl !Send for Colon2",1,["syn::token::Colon2"]],["impl !Send for Comma",1,["syn::token::Comma"]],["impl !Send for Div",1,["syn::token::Div"]],["impl !Send for DivEq",1,["syn::token::DivEq"]],["impl !Send for Dollar",1,["syn::token::Dollar"]],["impl !Send for Dot",1,["syn::token::Dot"]],["impl !Send for Dot2",1,["syn::token::Dot2"]],["impl !Send for Dot3",1,["syn::token::Dot3"]],["impl !Send for DotDotEq",1,["syn::token::DotDotEq"]],["impl !Send for Eq",1,["syn::token::Eq"]],["impl !Send for EqEq",1,["syn::token::EqEq"]],["impl !Send for Ge",1,["syn::token::Ge"]],["impl !Send for Gt",1,["syn::token::Gt"]],["impl !Send for Le",1,["syn::token::Le"]],["impl !Send for Lt",1,["syn::token::Lt"]],["impl !Send for MulEq",1,["syn::token::MulEq"]],["impl !Send for Ne",1,["syn::token::Ne"]],["impl !Send for Or",1,["syn::token::Or"]],["impl !Send for OrEq",1,["syn::token::OrEq"]],["impl !Send for OrOr",1,["syn::token::OrOr"]],["impl !Send for Pound",1,["syn::token::Pound"]],["impl !Send for Question",1,["syn::token::Question"]],["impl !Send for RArrow",1,["syn::token::RArrow"]],["impl !Send for LArrow",1,["syn::token::LArrow"]],["impl !Send for Rem",1,["syn::token::Rem"]],["impl !Send for RemEq",1,["syn::token::RemEq"]],["impl !Send for FatArrow",1,["syn::token::FatArrow"]],["impl !Send for Semi",1,["syn::token::Semi"]],["impl !Send for Shl",1,["syn::token::Shl"]],["impl !Send for ShlEq",1,["syn::token::ShlEq"]],["impl !Send for Shr",1,["syn::token::Shr"]],["impl !Send for ShrEq",1,["syn::token::ShrEq"]],["impl !Send for Star",1,["syn::token::Star"]],["impl !Send for Sub",1,["syn::token::Sub"]],["impl !Send for SubEq",1,["syn::token::SubEq"]],["impl !Send for Tilde",1,["syn::token::Tilde"]],["impl !Send for Brace",1,["syn::token::Brace"]],["impl !Send for Bracket",1,["syn::token::Bracket"]],["impl !Send for Paren",1,["syn::token::Paren"]],["impl !Send for Group",1,["syn::token::Group"]],["impl !Send for Attribute",1,["syn::attr::Attribute"]],["impl !Send for AttrStyle",1,["syn::attr::AttrStyle"]],["impl !Send for Meta",1,["syn::attr::Meta"]],["impl !Send for MetaList",1,["syn::attr::MetaList"]],["impl !Send for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl !Send for NestedMeta",1,["syn::attr::NestedMeta"]],["impl !Send for Variant",1,["syn::data::Variant"]],["impl !Send for Fields",1,["syn::data::Fields"]],["impl !Send for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl !Send for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl !Send for Field",1,["syn::data::Field"]],["impl !Send for Visibility",1,["syn::data::Visibility"]],["impl !Send for VisPublic",1,["syn::data::VisPublic"]],["impl !Send for VisCrate",1,["syn::data::VisCrate"]],["impl !Send for VisRestricted",1,["syn::data::VisRestricted"]],["impl !Send for Expr",1,["syn::expr::Expr"]],["impl !Send for ExprArray",1,["syn::expr::ExprArray"]],["impl !Send for ExprAssign",1,["syn::expr::ExprAssign"]],["impl !Send for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl !Send for ExprAsync",1,["syn::expr::ExprAsync"]],["impl !Send for ExprAwait",1,["syn::expr::ExprAwait"]],["impl !Send for ExprBinary",1,["syn::expr::ExprBinary"]],["impl !Send for ExprBlock",1,["syn::expr::ExprBlock"]],["impl !Send for ExprBox",1,["syn::expr::ExprBox"]],["impl !Send for ExprBreak",1,["syn::expr::ExprBreak"]],["impl !Send for ExprCall",1,["syn::expr::ExprCall"]],["impl !Send for ExprCast",1,["syn::expr::ExprCast"]],["impl !Send for ExprClosure",1,["syn::expr::ExprClosure"]],["impl !Send for ExprContinue",1,["syn::expr::ExprContinue"]],["impl !Send for ExprField",1,["syn::expr::ExprField"]],["impl !Send for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl !Send for ExprGroup",1,["syn::expr::ExprGroup"]],["impl !Send for ExprIf",1,["syn::expr::ExprIf"]],["impl !Send for ExprIndex",1,["syn::expr::ExprIndex"]],["impl !Send for ExprLet",1,["syn::expr::ExprLet"]],["impl !Send for ExprLit",1,["syn::expr::ExprLit"]],["impl !Send for ExprLoop",1,["syn::expr::ExprLoop"]],["impl !Send for ExprMacro",1,["syn::expr::ExprMacro"]],["impl !Send for ExprMatch",1,["syn::expr::ExprMatch"]],["impl !Send for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl !Send for ExprParen",1,["syn::expr::ExprParen"]],["impl !Send for ExprPath",1,["syn::expr::ExprPath"]],["impl !Send for ExprRange",1,["syn::expr::ExprRange"]],["impl !Send for ExprReference",1,["syn::expr::ExprReference"]],["impl !Send for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl !Send for ExprReturn",1,["syn::expr::ExprReturn"]],["impl !Send for ExprStruct",1,["syn::expr::ExprStruct"]],["impl !Send for ExprTry",1,["syn::expr::ExprTry"]],["impl !Send for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl !Send for ExprTuple",1,["syn::expr::ExprTuple"]],["impl !Send for ExprType",1,["syn::expr::ExprType"]],["impl !Send for ExprUnary",1,["syn::expr::ExprUnary"]],["impl !Send for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl !Send for ExprWhile",1,["syn::expr::ExprWhile"]],["impl !Send for ExprYield",1,["syn::expr::ExprYield"]],["impl !Send for Member",1,["syn::expr::Member"]],["impl !Send for Index",1,["syn::expr::Index"]],["impl !Send for Generics",1,["syn::generics::Generics"]],["impl !Send for GenericParam",1,["syn::generics::GenericParam"]],["impl !Send for TypeParam",1,["syn::generics::TypeParam"]],["impl !Send for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl !Send for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> !Send for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> !Send for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> !Send for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl !Send for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl !Send for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl !Send for TraitBound",1,["syn::generics::TraitBound"]],["impl !Send for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl !Send for WhereClause",1,["syn::generics::WhereClause"]],["impl !Send for WherePredicate",1,["syn::generics::WherePredicate"]],["impl !Send for PredicateType",1,["syn::generics::PredicateType"]],["impl !Send for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl !Send for PredicateEq",1,["syn::generics::PredicateEq"]],["impl !Send for Lifetime",1,["syn::lifetime::Lifetime"]],["impl !Send for Lit",1,["syn::lit::Lit"]],["impl !Send for LitStr",1,["syn::lit::LitStr"]],["impl !Send for LitByteStr",1,["syn::lit::LitByteStr"]],["impl !Send for LitByte",1,["syn::lit::LitByte"]],["impl !Send for LitChar",1,["syn::lit::LitChar"]],["impl !Send for LitInt",1,["syn::lit::LitInt"]],["impl !Send for LitFloat",1,["syn::lit::LitFloat"]],["impl !Send for LitBool",1,["syn::lit::LitBool"]],["impl Send for StrStyle",1,["syn::lit::StrStyle"]],["impl !Send for Macro",1,["syn::mac::Macro"]],["impl !Send for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl !Send for DeriveInput",1,["syn::derive::DeriveInput"]],["impl !Send for Data",1,["syn::derive::Data"]],["impl !Send for DataStruct",1,["syn::derive::DataStruct"]],["impl !Send for DataEnum",1,["syn::derive::DataEnum"]],["impl !Send for DataUnion",1,["syn::derive::DataUnion"]],["impl !Send for BinOp",1,["syn::op::BinOp"]],["impl !Send for UnOp",1,["syn::op::UnOp"]],["impl !Send for Type",1,["syn::ty::Type"]],["impl !Send for TypeArray",1,["syn::ty::TypeArray"]],["impl !Send for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl !Send for TypeGroup",1,["syn::ty::TypeGroup"]],["impl !Send for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl !Send for TypeInfer",1,["syn::ty::TypeInfer"]],["impl !Send for TypeMacro",1,["syn::ty::TypeMacro"]],["impl !Send for TypeNever",1,["syn::ty::TypeNever"]],["impl !Send for TypeParen",1,["syn::ty::TypeParen"]],["impl !Send for TypePath",1,["syn::ty::TypePath"]],["impl !Send for TypePtr",1,["syn::ty::TypePtr"]],["impl !Send for TypeReference",1,["syn::ty::TypeReference"]],["impl !Send for TypeSlice",1,["syn::ty::TypeSlice"]],["impl !Send for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl !Send for TypeTuple",1,["syn::ty::TypeTuple"]],["impl !Send for Abi",1,["syn::ty::Abi"]],["impl !Send for BareFnArg",1,["syn::ty::BareFnArg"]],["impl !Send for Variadic",1,["syn::ty::Variadic"]],["impl !Send for ReturnType",1,["syn::ty::ReturnType"]],["impl !Send for Path",1,["syn::path::Path"]],["impl !Send for PathSegment",1,["syn::path::PathSegment"]],["impl !Send for PathArguments",1,["syn::path::PathArguments"]],["impl !Send for GenericArgument",1,["syn::path::GenericArgument"]],["impl !Send for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl !Send for Binding",1,["syn::path::Binding"]],["impl !Send for Constraint",1,["syn::path::Constraint"]],["impl !Send for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl !Send for QSelf",1,["syn::path::QSelf"]],["impl !Send for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> !Send for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Send for Punctuated<T, P>where\n P: Send,\n T: Send,",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Send for Pairs<'a, T, P>where\n P: Sync,\n T: Sync,",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Send for PairsMut<'a, T, P>where\n P: Send,\n T: Send,",1,["syn::punctuated::PairsMut"]],["impl<T, P> Send for IntoPairs<T, P>where\n P: Send,\n T: Send,",1,["syn::punctuated::IntoPairs"]],["impl<T> Send for IntoIter<T>where\n T: Send,",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !Send for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !Send for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Send for Pair<T, P>where\n P: Send,\n T: Send,",1,["syn::punctuated::Pair"]],["impl<'a> !Send for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Send for Error",1,["syn::error::Error"]],["impl<'a> !Send for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> !Send for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Send for Nothing",1,["syn::parse::Nothing"]]], +"synstructure":[["impl Send for AddBounds",1,["synstructure::AddBounds"]],["impl Send for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> !Send for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> !Send for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> !Send for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> !Send for Structure<'a>",1,["synstructure::Structure"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js index d2c003b..f4fbd69 100644 --- a/implementors/core/marker/trait.StructuralEq.js +++ b/implementors/core/marker/trait.StructuralEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"flexiber":[["impl StructuralEq for Error"],["impl StructuralEq for ErrorKind"],["impl StructuralEq for Length"],["impl StructuralEq for SimpleTag"],["impl<'a> StructuralEq for Slice<'a>"],["impl StructuralEq for Class"],["impl StructuralEq for Tag"],["impl<V, T> StructuralEq for TaggedValue<V, T>"]], -"log":[["impl StructuralEq for Level"],["impl StructuralEq for LevelFilter"],["impl<'a> StructuralEq for Metadata<'a>"],["impl<'a> StructuralEq for MetadataBuilder<'a>"]], -"proc_macro2":[["impl StructuralEq for Delimiter"],["impl StructuralEq for Spacing"]], -"synstructure":[["impl StructuralEq for AddBounds"],["impl StructuralEq for BindStyle"],["impl<'a> StructuralEq for BindingInfo<'a>"],["impl<'a> StructuralEq for VariantAst<'a>"],["impl<'a> StructuralEq for VariantInfo<'a>"],["impl<'a> StructuralEq for Structure<'a>"]] +"flexiber":[["impl StructuralEq for Length"],["impl<V, T> StructuralEq for TaggedValue<V, T>"],["impl StructuralEq for ErrorKind"],["impl StructuralEq for SimpleTag"],["impl StructuralEq for Class"],["impl StructuralEq for Error"],["impl StructuralEq for Tag"],["impl<'a> StructuralEq for Slice<'a>"]], +"log":[["impl StructuralEq for ParseLevelError"],["impl StructuralEq for Level"],["impl<'a> StructuralEq for MetadataBuilder<'a>"],["impl StructuralEq for LevelFilter"],["impl<'a> StructuralEq for Metadata<'a>"]], +"proc_macro2":[["impl StructuralEq for Spacing"],["impl StructuralEq for Delimiter"]], +"synstructure":[["impl<'a> StructuralEq for Structure<'a>"],["impl<'a> StructuralEq for VariantAst<'a>"],["impl StructuralEq for AddBounds"],["impl StructuralEq for BindStyle"],["impl<'a> StructuralEq for BindingInfo<'a>"],["impl<'a> StructuralEq for VariantInfo<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index 216c420..dbd8930 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"flexiber":[["impl StructuralPartialEq for Error"],["impl StructuralPartialEq for ErrorKind"],["impl StructuralPartialEq for Length"],["impl StructuralPartialEq for SimpleTag"],["impl<'a> StructuralPartialEq for Slice<'a>"],["impl StructuralPartialEq for Class"],["impl StructuralPartialEq for Tag"],["impl<V, T> StructuralPartialEq for TaggedValue<V, T>"]], -"log":[["impl<'a> StructuralPartialEq for Metadata<'a>"],["impl<'a> StructuralPartialEq for MetadataBuilder<'a>"],["impl StructuralPartialEq for ParseLevelError"]], -"proc_macro2":[["impl StructuralPartialEq for Delimiter"],["impl StructuralPartialEq for Spacing"]], -"synstructure":[["impl StructuralPartialEq for AddBounds"],["impl StructuralPartialEq for BindStyle"],["impl<'a> StructuralPartialEq for BindingInfo<'a>"],["impl<'a> StructuralPartialEq for VariantAst<'a>"],["impl<'a> StructuralPartialEq for VariantInfo<'a>"],["impl<'a> StructuralPartialEq for Structure<'a>"]] +"flexiber":[["impl StructuralPartialEq for SimpleTag"],["impl<V, T> StructuralPartialEq for TaggedValue<V, T>"],["impl<'a> StructuralPartialEq for Slice<'a>"],["impl StructuralPartialEq for Length"],["impl StructuralPartialEq for Error"],["impl StructuralPartialEq for Class"],["impl StructuralPartialEq for ErrorKind"],["impl StructuralPartialEq for Tag"]], +"log":[["impl StructuralPartialEq for ParseLevelError"],["impl<'a> StructuralPartialEq for MetadataBuilder<'a>"],["impl<'a> StructuralPartialEq for Metadata<'a>"],["impl StructuralPartialEq for LevelFilter"],["impl StructuralPartialEq for Level"]], +"proc_macro2":[["impl StructuralPartialEq for Delimiter"],["impl StructuralPartialEq for Spacing"]], +"synstructure":[["impl<'a> StructuralPartialEq for VariantAst<'a>"],["impl StructuralPartialEq for BindStyle"],["impl<'a> StructuralPartialEq for VariantInfo<'a>"],["impl StructuralPartialEq for AddBounds"],["impl<'a> StructuralPartialEq for Structure<'a>"],["impl<'a> StructuralPartialEq for BindingInfo<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index a8418c5..86479e7 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl Sync for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Sync for HexStr<'a, T, U, S>where
    S: Sync,
    T: Sync,
    U: Sync,
",1,["delog::hex::HexStr"]],["impl Sync for Statistics",1,["delog::logger::Statistics"]],["impl Sync for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]],["impl Sync for DefaultRenderer"]], -"flexiber":[["impl<'a> Sync for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Sync for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Sync for Error",1,["flexiber::error::Error"]],["impl Sync for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Sync for Length",1,["flexiber::length::Length"]],["impl Sync for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Sync for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Sync for Class",1,["flexiber::tag::Class"]],["impl Sync for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Sync for TaggedValue<V, T>where
    T: Sync,
    V: Sync,
",1,["flexiber::tagged::TaggedValue"]]], -"log":[["impl Sync for Level",1,["log::Level"]],["impl Sync for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !Sync for Record<'a>",1,["log::Record"]],["impl<'a> !Sync for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Sync for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Sync for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Sync for SetLoggerError",1,["log::SetLoggerError"]],["impl Sync for ParseLevelError",1,["log::ParseLevelError"]]], -"proc_macro2":[["impl !Sync for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl !Sync for TokenStream",1,["proc_macro2::TokenStream"]],["impl !Sync for LexError",1,["proc_macro2::LexError"]],["impl !Sync for Span",1,["proc_macro2::Span"]],["impl !Sync for TokenTree",1,["proc_macro2::TokenTree"]],["impl !Sync for Group",1,["proc_macro2::Group"]],["impl Sync for Delimiter",1,["proc_macro2::Delimiter"]],["impl !Sync for Punct",1,["proc_macro2::Punct"]],["impl Sync for Spacing",1,["proc_macro2::Spacing"]],["impl !Sync for Ident",1,["proc_macro2::Ident"]],["impl !Sync for Literal",1,["proc_macro2::Literal"]]], -"syn":[["impl !Sync for Underscore",1,["syn::token::Underscore"]],["impl !Sync for Abstract",1,["syn::token::Abstract"]],["impl !Sync for As",1,["syn::token::As"]],["impl !Sync for Async",1,["syn::token::Async"]],["impl !Sync for Auto",1,["syn::token::Auto"]],["impl !Sync for Await",1,["syn::token::Await"]],["impl !Sync for Become",1,["syn::token::Become"]],["impl !Sync for Box",1,["syn::token::Box"]],["impl !Sync for Break",1,["syn::token::Break"]],["impl !Sync for Const",1,["syn::token::Const"]],["impl !Sync for Continue",1,["syn::token::Continue"]],["impl !Sync for Crate",1,["syn::token::Crate"]],["impl !Sync for Default",1,["syn::token::Default"]],["impl !Sync for Do",1,["syn::token::Do"]],["impl !Sync for Dyn",1,["syn::token::Dyn"]],["impl !Sync for Else",1,["syn::token::Else"]],["impl !Sync for Enum",1,["syn::token::Enum"]],["impl !Sync for Extern",1,["syn::token::Extern"]],["impl !Sync for Final",1,["syn::token::Final"]],["impl !Sync for Fn",1,["syn::token::Fn"]],["impl !Sync for For",1,["syn::token::For"]],["impl !Sync for If",1,["syn::token::If"]],["impl !Sync for Impl",1,["syn::token::Impl"]],["impl !Sync for In",1,["syn::token::In"]],["impl !Sync for Let",1,["syn::token::Let"]],["impl !Sync for Loop",1,["syn::token::Loop"]],["impl !Sync for Macro",1,["syn::token::Macro"]],["impl !Sync for Match",1,["syn::token::Match"]],["impl !Sync for Mod",1,["syn::token::Mod"]],["impl !Sync for Move",1,["syn::token::Move"]],["impl !Sync for Mut",1,["syn::token::Mut"]],["impl !Sync for Override",1,["syn::token::Override"]],["impl !Sync for Priv",1,["syn::token::Priv"]],["impl !Sync for Pub",1,["syn::token::Pub"]],["impl !Sync for Ref",1,["syn::token::Ref"]],["impl !Sync for Return",1,["syn::token::Return"]],["impl !Sync for SelfType",1,["syn::token::SelfType"]],["impl !Sync for SelfValue",1,["syn::token::SelfValue"]],["impl !Sync for Static",1,["syn::token::Static"]],["impl !Sync for Struct",1,["syn::token::Struct"]],["impl !Sync for Super",1,["syn::token::Super"]],["impl !Sync for Trait",1,["syn::token::Trait"]],["impl !Sync for Try",1,["syn::token::Try"]],["impl !Sync for Type",1,["syn::token::Type"]],["impl !Sync for Typeof",1,["syn::token::Typeof"]],["impl !Sync for Union",1,["syn::token::Union"]],["impl !Sync for Unsafe",1,["syn::token::Unsafe"]],["impl !Sync for Unsized",1,["syn::token::Unsized"]],["impl !Sync for Use",1,["syn::token::Use"]],["impl !Sync for Virtual",1,["syn::token::Virtual"]],["impl !Sync for Where",1,["syn::token::Where"]],["impl !Sync for While",1,["syn::token::While"]],["impl !Sync for Yield",1,["syn::token::Yield"]],["impl !Sync for Add",1,["syn::token::Add"]],["impl !Sync for AddEq",1,["syn::token::AddEq"]],["impl !Sync for And",1,["syn::token::And"]],["impl !Sync for AndAnd",1,["syn::token::AndAnd"]],["impl !Sync for AndEq",1,["syn::token::AndEq"]],["impl !Sync for At",1,["syn::token::At"]],["impl !Sync for Bang",1,["syn::token::Bang"]],["impl !Sync for Caret",1,["syn::token::Caret"]],["impl !Sync for CaretEq",1,["syn::token::CaretEq"]],["impl !Sync for Colon",1,["syn::token::Colon"]],["impl !Sync for Colon2",1,["syn::token::Colon2"]],["impl !Sync for Comma",1,["syn::token::Comma"]],["impl !Sync for Div",1,["syn::token::Div"]],["impl !Sync for DivEq",1,["syn::token::DivEq"]],["impl !Sync for Dollar",1,["syn::token::Dollar"]],["impl !Sync for Dot",1,["syn::token::Dot"]],["impl !Sync for Dot2",1,["syn::token::Dot2"]],["impl !Sync for Dot3",1,["syn::token::Dot3"]],["impl !Sync for DotDotEq",1,["syn::token::DotDotEq"]],["impl !Sync for Eq",1,["syn::token::Eq"]],["impl !Sync for EqEq",1,["syn::token::EqEq"]],["impl !Sync for Ge",1,["syn::token::Ge"]],["impl !Sync for Gt",1,["syn::token::Gt"]],["impl !Sync for Le",1,["syn::token::Le"]],["impl !Sync for Lt",1,["syn::token::Lt"]],["impl !Sync for MulEq",1,["syn::token::MulEq"]],["impl !Sync for Ne",1,["syn::token::Ne"]],["impl !Sync for Or",1,["syn::token::Or"]],["impl !Sync for OrEq",1,["syn::token::OrEq"]],["impl !Sync for OrOr",1,["syn::token::OrOr"]],["impl !Sync for Pound",1,["syn::token::Pound"]],["impl !Sync for Question",1,["syn::token::Question"]],["impl !Sync for RArrow",1,["syn::token::RArrow"]],["impl !Sync for LArrow",1,["syn::token::LArrow"]],["impl !Sync for Rem",1,["syn::token::Rem"]],["impl !Sync for RemEq",1,["syn::token::RemEq"]],["impl !Sync for FatArrow",1,["syn::token::FatArrow"]],["impl !Sync for Semi",1,["syn::token::Semi"]],["impl !Sync for Shl",1,["syn::token::Shl"]],["impl !Sync for ShlEq",1,["syn::token::ShlEq"]],["impl !Sync for Shr",1,["syn::token::Shr"]],["impl !Sync for ShrEq",1,["syn::token::ShrEq"]],["impl !Sync for Star",1,["syn::token::Star"]],["impl !Sync for Sub",1,["syn::token::Sub"]],["impl !Sync for SubEq",1,["syn::token::SubEq"]],["impl !Sync for Tilde",1,["syn::token::Tilde"]],["impl !Sync for Brace",1,["syn::token::Brace"]],["impl !Sync for Bracket",1,["syn::token::Bracket"]],["impl !Sync for Paren",1,["syn::token::Paren"]],["impl !Sync for Group",1,["syn::token::Group"]],["impl !Sync for Attribute",1,["syn::attr::Attribute"]],["impl !Sync for AttrStyle",1,["syn::attr::AttrStyle"]],["impl !Sync for Meta",1,["syn::attr::Meta"]],["impl !Sync for MetaList",1,["syn::attr::MetaList"]],["impl !Sync for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl !Sync for NestedMeta",1,["syn::attr::NestedMeta"]],["impl !Sync for Variant",1,["syn::data::Variant"]],["impl !Sync for Fields",1,["syn::data::Fields"]],["impl !Sync for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl !Sync for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl !Sync for Field",1,["syn::data::Field"]],["impl !Sync for Visibility",1,["syn::data::Visibility"]],["impl !Sync for VisPublic",1,["syn::data::VisPublic"]],["impl !Sync for VisCrate",1,["syn::data::VisCrate"]],["impl !Sync for VisRestricted",1,["syn::data::VisRestricted"]],["impl !Sync for Expr",1,["syn::expr::Expr"]],["impl !Sync for ExprArray",1,["syn::expr::ExprArray"]],["impl !Sync for ExprAssign",1,["syn::expr::ExprAssign"]],["impl !Sync for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl !Sync for ExprAsync",1,["syn::expr::ExprAsync"]],["impl !Sync for ExprAwait",1,["syn::expr::ExprAwait"]],["impl !Sync for ExprBinary",1,["syn::expr::ExprBinary"]],["impl !Sync for ExprBlock",1,["syn::expr::ExprBlock"]],["impl !Sync for ExprBox",1,["syn::expr::ExprBox"]],["impl !Sync for ExprBreak",1,["syn::expr::ExprBreak"]],["impl !Sync for ExprCall",1,["syn::expr::ExprCall"]],["impl !Sync for ExprCast",1,["syn::expr::ExprCast"]],["impl !Sync for ExprClosure",1,["syn::expr::ExprClosure"]],["impl !Sync for ExprContinue",1,["syn::expr::ExprContinue"]],["impl !Sync for ExprField",1,["syn::expr::ExprField"]],["impl !Sync for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl !Sync for ExprGroup",1,["syn::expr::ExprGroup"]],["impl !Sync for ExprIf",1,["syn::expr::ExprIf"]],["impl !Sync for ExprIndex",1,["syn::expr::ExprIndex"]],["impl !Sync for ExprLet",1,["syn::expr::ExprLet"]],["impl !Sync for ExprLit",1,["syn::expr::ExprLit"]],["impl !Sync for ExprLoop",1,["syn::expr::ExprLoop"]],["impl !Sync for ExprMacro",1,["syn::expr::ExprMacro"]],["impl !Sync for ExprMatch",1,["syn::expr::ExprMatch"]],["impl !Sync for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl !Sync for ExprParen",1,["syn::expr::ExprParen"]],["impl !Sync for ExprPath",1,["syn::expr::ExprPath"]],["impl !Sync for ExprRange",1,["syn::expr::ExprRange"]],["impl !Sync for ExprReference",1,["syn::expr::ExprReference"]],["impl !Sync for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl !Sync for ExprReturn",1,["syn::expr::ExprReturn"]],["impl !Sync for ExprStruct",1,["syn::expr::ExprStruct"]],["impl !Sync for ExprTry",1,["syn::expr::ExprTry"]],["impl !Sync for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl !Sync for ExprTuple",1,["syn::expr::ExprTuple"]],["impl !Sync for ExprType",1,["syn::expr::ExprType"]],["impl !Sync for ExprUnary",1,["syn::expr::ExprUnary"]],["impl !Sync for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl !Sync for ExprWhile",1,["syn::expr::ExprWhile"]],["impl !Sync for ExprYield",1,["syn::expr::ExprYield"]],["impl !Sync for Member",1,["syn::expr::Member"]],["impl !Sync for Index",1,["syn::expr::Index"]],["impl !Sync for Generics",1,["syn::generics::Generics"]],["impl !Sync for GenericParam",1,["syn::generics::GenericParam"]],["impl !Sync for TypeParam",1,["syn::generics::TypeParam"]],["impl !Sync for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl !Sync for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> !Sync for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> !Sync for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> !Sync for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl !Sync for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl !Sync for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl !Sync for TraitBound",1,["syn::generics::TraitBound"]],["impl !Sync for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl !Sync for WhereClause",1,["syn::generics::WhereClause"]],["impl !Sync for WherePredicate",1,["syn::generics::WherePredicate"]],["impl !Sync for PredicateType",1,["syn::generics::PredicateType"]],["impl !Sync for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl !Sync for PredicateEq",1,["syn::generics::PredicateEq"]],["impl !Sync for Lifetime",1,["syn::lifetime::Lifetime"]],["impl !Sync for Lit",1,["syn::lit::Lit"]],["impl !Sync for LitStr",1,["syn::lit::LitStr"]],["impl !Sync for LitByteStr",1,["syn::lit::LitByteStr"]],["impl !Sync for LitByte",1,["syn::lit::LitByte"]],["impl !Sync for LitChar",1,["syn::lit::LitChar"]],["impl !Sync for LitInt",1,["syn::lit::LitInt"]],["impl !Sync for LitFloat",1,["syn::lit::LitFloat"]],["impl !Sync for LitBool",1,["syn::lit::LitBool"]],["impl Sync for StrStyle",1,["syn::lit::StrStyle"]],["impl !Sync for Macro",1,["syn::mac::Macro"]],["impl !Sync for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl !Sync for DeriveInput",1,["syn::derive::DeriveInput"]],["impl !Sync for Data",1,["syn::derive::Data"]],["impl !Sync for DataStruct",1,["syn::derive::DataStruct"]],["impl !Sync for DataEnum",1,["syn::derive::DataEnum"]],["impl !Sync for DataUnion",1,["syn::derive::DataUnion"]],["impl !Sync for BinOp",1,["syn::op::BinOp"]],["impl !Sync for UnOp",1,["syn::op::UnOp"]],["impl !Sync for Type",1,["syn::ty::Type"]],["impl !Sync for TypeArray",1,["syn::ty::TypeArray"]],["impl !Sync for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl !Sync for TypeGroup",1,["syn::ty::TypeGroup"]],["impl !Sync for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl !Sync for TypeInfer",1,["syn::ty::TypeInfer"]],["impl !Sync for TypeMacro",1,["syn::ty::TypeMacro"]],["impl !Sync for TypeNever",1,["syn::ty::TypeNever"]],["impl !Sync for TypeParen",1,["syn::ty::TypeParen"]],["impl !Sync for TypePath",1,["syn::ty::TypePath"]],["impl !Sync for TypePtr",1,["syn::ty::TypePtr"]],["impl !Sync for TypeReference",1,["syn::ty::TypeReference"]],["impl !Sync for TypeSlice",1,["syn::ty::TypeSlice"]],["impl !Sync for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl !Sync for TypeTuple",1,["syn::ty::TypeTuple"]],["impl !Sync for Abi",1,["syn::ty::Abi"]],["impl !Sync for BareFnArg",1,["syn::ty::BareFnArg"]],["impl !Sync for Variadic",1,["syn::ty::Variadic"]],["impl !Sync for ReturnType",1,["syn::ty::ReturnType"]],["impl !Sync for Path",1,["syn::path::Path"]],["impl !Sync for PathSegment",1,["syn::path::PathSegment"]],["impl !Sync for PathArguments",1,["syn::path::PathArguments"]],["impl !Sync for GenericArgument",1,["syn::path::GenericArgument"]],["impl !Sync for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl !Sync for Binding",1,["syn::path::Binding"]],["impl !Sync for Constraint",1,["syn::path::Constraint"]],["impl !Sync for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl !Sync for QSelf",1,["syn::path::QSelf"]],["impl !Sync for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> !Sync for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Sync for Punctuated<T, P>where
    P: Sync,
    T: Sync,
",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Sync for Pairs<'a, T, P>where
    P: Sync,
    T: Sync,
",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Sync for PairsMut<'a, T, P>where
    P: Sync,
    T: Sync,
",1,["syn::punctuated::PairsMut"]],["impl<T, P> Sync for IntoPairs<T, P>where
    P: Sync,
    T: Sync,
",1,["syn::punctuated::IntoPairs"]],["impl<T> Sync for IntoIter<T>where
    T: Sync,
",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !Sync for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !Sync for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Sync for Pair<T, P>where
    P: Sync,
    T: Sync,
",1,["syn::punctuated::Pair"]],["impl<'a> !Sync for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Sync for Error",1,["syn::error::Error"]],["impl<'a> !Sync for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> !Sync for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Sync for Nothing",1,["syn::parse::Nothing"]]], -"synstructure":[["impl Sync for AddBounds",1,["synstructure::AddBounds"]],["impl Sync for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> !Sync for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> !Sync for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> !Sync for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> !Sync for Structure<'a>",1,["synstructure::Structure"]]] +"delog":[["impl Sync for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Sync for HexStr<'a, T, U, S>where\n S: Sync,\n T: Sync,\n U: Sync,",1,["delog::hex::HexStr"]],["impl Sync for Statistics",1,["delog::logger::Statistics"]],["impl Sync for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]],["impl Sync for DefaultRenderer"]], +"flexiber":[["impl<'a> Sync for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Sync for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Sync for Error",1,["flexiber::error::Error"]],["impl Sync for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Sync for Length",1,["flexiber::length::Length"]],["impl Sync for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Sync for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Sync for Class",1,["flexiber::tag::Class"]],["impl Sync for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Sync for TaggedValue<V, T>where\n T: Sync,\n V: Sync,",1,["flexiber::tagged::TaggedValue"]]], +"log":[["impl Sync for Level",1,["log::Level"]],["impl Sync for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !Sync for Record<'a>",1,["log::Record"]],["impl<'a> !Sync for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Sync for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Sync for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Sync for SetLoggerError",1,["log::SetLoggerError"]],["impl Sync for ParseLevelError",1,["log::ParseLevelError"]]], +"proc_macro2":[["impl !Sync for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl !Sync for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl !Sync for TokenStream",1,["proc_macro2::TokenStream"]],["impl !Sync for LexError",1,["proc_macro2::LexError"]],["impl !Sync for Span",1,["proc_macro2::Span"]],["impl !Sync for TokenTree",1,["proc_macro2::TokenTree"]],["impl !Sync for Group",1,["proc_macro2::Group"]],["impl Sync for Delimiter",1,["proc_macro2::Delimiter"]],["impl !Sync for Punct",1,["proc_macro2::Punct"]],["impl Sync for Spacing",1,["proc_macro2::Spacing"]],["impl !Sync for Ident",1,["proc_macro2::Ident"]],["impl !Sync for Literal",1,["proc_macro2::Literal"]]], +"syn":[["impl !Sync for Underscore",1,["syn::token::Underscore"]],["impl !Sync for Abstract",1,["syn::token::Abstract"]],["impl !Sync for As",1,["syn::token::As"]],["impl !Sync for Async",1,["syn::token::Async"]],["impl !Sync for Auto",1,["syn::token::Auto"]],["impl !Sync for Await",1,["syn::token::Await"]],["impl !Sync for Become",1,["syn::token::Become"]],["impl !Sync for Box",1,["syn::token::Box"]],["impl !Sync for Break",1,["syn::token::Break"]],["impl !Sync for Const",1,["syn::token::Const"]],["impl !Sync for Continue",1,["syn::token::Continue"]],["impl !Sync for Crate",1,["syn::token::Crate"]],["impl !Sync for Default",1,["syn::token::Default"]],["impl !Sync for Do",1,["syn::token::Do"]],["impl !Sync for Dyn",1,["syn::token::Dyn"]],["impl !Sync for Else",1,["syn::token::Else"]],["impl !Sync for Enum",1,["syn::token::Enum"]],["impl !Sync for Extern",1,["syn::token::Extern"]],["impl !Sync for Final",1,["syn::token::Final"]],["impl !Sync for Fn",1,["syn::token::Fn"]],["impl !Sync for For",1,["syn::token::For"]],["impl !Sync for If",1,["syn::token::If"]],["impl !Sync for Impl",1,["syn::token::Impl"]],["impl !Sync for In",1,["syn::token::In"]],["impl !Sync for Let",1,["syn::token::Let"]],["impl !Sync for Loop",1,["syn::token::Loop"]],["impl !Sync for Macro",1,["syn::token::Macro"]],["impl !Sync for Match",1,["syn::token::Match"]],["impl !Sync for Mod",1,["syn::token::Mod"]],["impl !Sync for Move",1,["syn::token::Move"]],["impl !Sync for Mut",1,["syn::token::Mut"]],["impl !Sync for Override",1,["syn::token::Override"]],["impl !Sync for Priv",1,["syn::token::Priv"]],["impl !Sync for Pub",1,["syn::token::Pub"]],["impl !Sync for Ref",1,["syn::token::Ref"]],["impl !Sync for Return",1,["syn::token::Return"]],["impl !Sync for SelfType",1,["syn::token::SelfType"]],["impl !Sync for SelfValue",1,["syn::token::SelfValue"]],["impl !Sync for Static",1,["syn::token::Static"]],["impl !Sync for Struct",1,["syn::token::Struct"]],["impl !Sync for Super",1,["syn::token::Super"]],["impl !Sync for Trait",1,["syn::token::Trait"]],["impl !Sync for Try",1,["syn::token::Try"]],["impl !Sync for Type",1,["syn::token::Type"]],["impl !Sync for Typeof",1,["syn::token::Typeof"]],["impl !Sync for Union",1,["syn::token::Union"]],["impl !Sync for Unsafe",1,["syn::token::Unsafe"]],["impl !Sync for Unsized",1,["syn::token::Unsized"]],["impl !Sync for Use",1,["syn::token::Use"]],["impl !Sync for Virtual",1,["syn::token::Virtual"]],["impl !Sync for Where",1,["syn::token::Where"]],["impl !Sync for While",1,["syn::token::While"]],["impl !Sync for Yield",1,["syn::token::Yield"]],["impl !Sync for Add",1,["syn::token::Add"]],["impl !Sync for AddEq",1,["syn::token::AddEq"]],["impl !Sync for And",1,["syn::token::And"]],["impl !Sync for AndAnd",1,["syn::token::AndAnd"]],["impl !Sync for AndEq",1,["syn::token::AndEq"]],["impl !Sync for At",1,["syn::token::At"]],["impl !Sync for Bang",1,["syn::token::Bang"]],["impl !Sync for Caret",1,["syn::token::Caret"]],["impl !Sync for CaretEq",1,["syn::token::CaretEq"]],["impl !Sync for Colon",1,["syn::token::Colon"]],["impl !Sync for Colon2",1,["syn::token::Colon2"]],["impl !Sync for Comma",1,["syn::token::Comma"]],["impl !Sync for Div",1,["syn::token::Div"]],["impl !Sync for DivEq",1,["syn::token::DivEq"]],["impl !Sync for Dollar",1,["syn::token::Dollar"]],["impl !Sync for Dot",1,["syn::token::Dot"]],["impl !Sync for Dot2",1,["syn::token::Dot2"]],["impl !Sync for Dot3",1,["syn::token::Dot3"]],["impl !Sync for DotDotEq",1,["syn::token::DotDotEq"]],["impl !Sync for Eq",1,["syn::token::Eq"]],["impl !Sync for EqEq",1,["syn::token::EqEq"]],["impl !Sync for Ge",1,["syn::token::Ge"]],["impl !Sync for Gt",1,["syn::token::Gt"]],["impl !Sync for Le",1,["syn::token::Le"]],["impl !Sync for Lt",1,["syn::token::Lt"]],["impl !Sync for MulEq",1,["syn::token::MulEq"]],["impl !Sync for Ne",1,["syn::token::Ne"]],["impl !Sync for Or",1,["syn::token::Or"]],["impl !Sync for OrEq",1,["syn::token::OrEq"]],["impl !Sync for OrOr",1,["syn::token::OrOr"]],["impl !Sync for Pound",1,["syn::token::Pound"]],["impl !Sync for Question",1,["syn::token::Question"]],["impl !Sync for RArrow",1,["syn::token::RArrow"]],["impl !Sync for LArrow",1,["syn::token::LArrow"]],["impl !Sync for Rem",1,["syn::token::Rem"]],["impl !Sync for RemEq",1,["syn::token::RemEq"]],["impl !Sync for FatArrow",1,["syn::token::FatArrow"]],["impl !Sync for Semi",1,["syn::token::Semi"]],["impl !Sync for Shl",1,["syn::token::Shl"]],["impl !Sync for ShlEq",1,["syn::token::ShlEq"]],["impl !Sync for Shr",1,["syn::token::Shr"]],["impl !Sync for ShrEq",1,["syn::token::ShrEq"]],["impl !Sync for Star",1,["syn::token::Star"]],["impl !Sync for Sub",1,["syn::token::Sub"]],["impl !Sync for SubEq",1,["syn::token::SubEq"]],["impl !Sync for Tilde",1,["syn::token::Tilde"]],["impl !Sync for Brace",1,["syn::token::Brace"]],["impl !Sync for Bracket",1,["syn::token::Bracket"]],["impl !Sync for Paren",1,["syn::token::Paren"]],["impl !Sync for Group",1,["syn::token::Group"]],["impl !Sync for Attribute",1,["syn::attr::Attribute"]],["impl !Sync for AttrStyle",1,["syn::attr::AttrStyle"]],["impl !Sync for Meta",1,["syn::attr::Meta"]],["impl !Sync for MetaList",1,["syn::attr::MetaList"]],["impl !Sync for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl !Sync for NestedMeta",1,["syn::attr::NestedMeta"]],["impl !Sync for Variant",1,["syn::data::Variant"]],["impl !Sync for Fields",1,["syn::data::Fields"]],["impl !Sync for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl !Sync for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl !Sync for Field",1,["syn::data::Field"]],["impl !Sync for Visibility",1,["syn::data::Visibility"]],["impl !Sync for VisPublic",1,["syn::data::VisPublic"]],["impl !Sync for VisCrate",1,["syn::data::VisCrate"]],["impl !Sync for VisRestricted",1,["syn::data::VisRestricted"]],["impl !Sync for Expr",1,["syn::expr::Expr"]],["impl !Sync for ExprArray",1,["syn::expr::ExprArray"]],["impl !Sync for ExprAssign",1,["syn::expr::ExprAssign"]],["impl !Sync for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl !Sync for ExprAsync",1,["syn::expr::ExprAsync"]],["impl !Sync for ExprAwait",1,["syn::expr::ExprAwait"]],["impl !Sync for ExprBinary",1,["syn::expr::ExprBinary"]],["impl !Sync for ExprBlock",1,["syn::expr::ExprBlock"]],["impl !Sync for ExprBox",1,["syn::expr::ExprBox"]],["impl !Sync for ExprBreak",1,["syn::expr::ExprBreak"]],["impl !Sync for ExprCall",1,["syn::expr::ExprCall"]],["impl !Sync for ExprCast",1,["syn::expr::ExprCast"]],["impl !Sync for ExprClosure",1,["syn::expr::ExprClosure"]],["impl !Sync for ExprContinue",1,["syn::expr::ExprContinue"]],["impl !Sync for ExprField",1,["syn::expr::ExprField"]],["impl !Sync for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl !Sync for ExprGroup",1,["syn::expr::ExprGroup"]],["impl !Sync for ExprIf",1,["syn::expr::ExprIf"]],["impl !Sync for ExprIndex",1,["syn::expr::ExprIndex"]],["impl !Sync for ExprLet",1,["syn::expr::ExprLet"]],["impl !Sync for ExprLit",1,["syn::expr::ExprLit"]],["impl !Sync for ExprLoop",1,["syn::expr::ExprLoop"]],["impl !Sync for ExprMacro",1,["syn::expr::ExprMacro"]],["impl !Sync for ExprMatch",1,["syn::expr::ExprMatch"]],["impl !Sync for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl !Sync for ExprParen",1,["syn::expr::ExprParen"]],["impl !Sync for ExprPath",1,["syn::expr::ExprPath"]],["impl !Sync for ExprRange",1,["syn::expr::ExprRange"]],["impl !Sync for ExprReference",1,["syn::expr::ExprReference"]],["impl !Sync for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl !Sync for ExprReturn",1,["syn::expr::ExprReturn"]],["impl !Sync for ExprStruct",1,["syn::expr::ExprStruct"]],["impl !Sync for ExprTry",1,["syn::expr::ExprTry"]],["impl !Sync for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl !Sync for ExprTuple",1,["syn::expr::ExprTuple"]],["impl !Sync for ExprType",1,["syn::expr::ExprType"]],["impl !Sync for ExprUnary",1,["syn::expr::ExprUnary"]],["impl !Sync for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl !Sync for ExprWhile",1,["syn::expr::ExprWhile"]],["impl !Sync for ExprYield",1,["syn::expr::ExprYield"]],["impl !Sync for Member",1,["syn::expr::Member"]],["impl !Sync for Index",1,["syn::expr::Index"]],["impl !Sync for Generics",1,["syn::generics::Generics"]],["impl !Sync for GenericParam",1,["syn::generics::GenericParam"]],["impl !Sync for TypeParam",1,["syn::generics::TypeParam"]],["impl !Sync for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl !Sync for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> !Sync for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> !Sync for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> !Sync for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl !Sync for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl !Sync for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl !Sync for TraitBound",1,["syn::generics::TraitBound"]],["impl !Sync for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl !Sync for WhereClause",1,["syn::generics::WhereClause"]],["impl !Sync for WherePredicate",1,["syn::generics::WherePredicate"]],["impl !Sync for PredicateType",1,["syn::generics::PredicateType"]],["impl !Sync for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl !Sync for PredicateEq",1,["syn::generics::PredicateEq"]],["impl !Sync for Lifetime",1,["syn::lifetime::Lifetime"]],["impl !Sync for Lit",1,["syn::lit::Lit"]],["impl !Sync for LitStr",1,["syn::lit::LitStr"]],["impl !Sync for LitByteStr",1,["syn::lit::LitByteStr"]],["impl !Sync for LitByte",1,["syn::lit::LitByte"]],["impl !Sync for LitChar",1,["syn::lit::LitChar"]],["impl !Sync for LitInt",1,["syn::lit::LitInt"]],["impl !Sync for LitFloat",1,["syn::lit::LitFloat"]],["impl !Sync for LitBool",1,["syn::lit::LitBool"]],["impl Sync for StrStyle",1,["syn::lit::StrStyle"]],["impl !Sync for Macro",1,["syn::mac::Macro"]],["impl !Sync for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl !Sync for DeriveInput",1,["syn::derive::DeriveInput"]],["impl !Sync for Data",1,["syn::derive::Data"]],["impl !Sync for DataStruct",1,["syn::derive::DataStruct"]],["impl !Sync for DataEnum",1,["syn::derive::DataEnum"]],["impl !Sync for DataUnion",1,["syn::derive::DataUnion"]],["impl !Sync for BinOp",1,["syn::op::BinOp"]],["impl !Sync for UnOp",1,["syn::op::UnOp"]],["impl !Sync for Type",1,["syn::ty::Type"]],["impl !Sync for TypeArray",1,["syn::ty::TypeArray"]],["impl !Sync for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl !Sync for TypeGroup",1,["syn::ty::TypeGroup"]],["impl !Sync for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl !Sync for TypeInfer",1,["syn::ty::TypeInfer"]],["impl !Sync for TypeMacro",1,["syn::ty::TypeMacro"]],["impl !Sync for TypeNever",1,["syn::ty::TypeNever"]],["impl !Sync for TypeParen",1,["syn::ty::TypeParen"]],["impl !Sync for TypePath",1,["syn::ty::TypePath"]],["impl !Sync for TypePtr",1,["syn::ty::TypePtr"]],["impl !Sync for TypeReference",1,["syn::ty::TypeReference"]],["impl !Sync for TypeSlice",1,["syn::ty::TypeSlice"]],["impl !Sync for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl !Sync for TypeTuple",1,["syn::ty::TypeTuple"]],["impl !Sync for Abi",1,["syn::ty::Abi"]],["impl !Sync for BareFnArg",1,["syn::ty::BareFnArg"]],["impl !Sync for Variadic",1,["syn::ty::Variadic"]],["impl !Sync for ReturnType",1,["syn::ty::ReturnType"]],["impl !Sync for Path",1,["syn::path::Path"]],["impl !Sync for PathSegment",1,["syn::path::PathSegment"]],["impl !Sync for PathArguments",1,["syn::path::PathArguments"]],["impl !Sync for GenericArgument",1,["syn::path::GenericArgument"]],["impl !Sync for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl !Sync for Binding",1,["syn::path::Binding"]],["impl !Sync for Constraint",1,["syn::path::Constraint"]],["impl !Sync for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl !Sync for QSelf",1,["syn::path::QSelf"]],["impl !Sync for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> !Sync for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Sync for Punctuated<T, P>where\n P: Sync,\n T: Sync,",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Sync for Pairs<'a, T, P>where\n P: Sync,\n T: Sync,",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Sync for PairsMut<'a, T, P>where\n P: Sync,\n T: Sync,",1,["syn::punctuated::PairsMut"]],["impl<T, P> Sync for IntoPairs<T, P>where\n P: Sync,\n T: Sync,",1,["syn::punctuated::IntoPairs"]],["impl<T> Sync for IntoIter<T>where\n T: Sync,",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !Sync for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !Sync for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Sync for Pair<T, P>where\n P: Sync,\n T: Sync,",1,["syn::punctuated::Pair"]],["impl<'a> !Sync for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Sync for Error",1,["syn::error::Error"]],["impl<'a> !Sync for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> !Sync for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Sync for Nothing",1,["syn::parse::Nothing"]]], +"synstructure":[["impl Sync for AddBounds",1,["synstructure::AddBounds"]],["impl Sync for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> !Sync for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> !Sync for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> !Sync for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> !Sync for Structure<'a>",1,["synstructure::Structure"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index fc60c51..e3de0a6 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl Unpin for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Unpin for HexStr<'a, T, U, S>where
    S: Unpin,
    U: Unpin,
",1,["delog::hex::HexStr"]],["impl Unpin for Statistics",1,["delog::logger::Statistics"]],["impl Unpin for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl Unpin for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], -"flexiber":[["impl<'a> Unpin for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Unpin for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Unpin for Error",1,["flexiber::error::Error"]],["impl Unpin for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Unpin for Length",1,["flexiber::length::Length"]],["impl Unpin for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Unpin for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Unpin for Class",1,["flexiber::tag::Class"]],["impl Unpin for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Unpin for TaggedValue<V, T>where
    T: Unpin,
    V: Unpin,
",1,["flexiber::tagged::TaggedValue"]]], -"log":[["impl Unpin for Level",1,["log::Level"]],["impl Unpin for LevelFilter",1,["log::LevelFilter"]],["impl<'a> Unpin for Record<'a>",1,["log::Record"]],["impl<'a> Unpin for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Unpin for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Unpin for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Unpin for SetLoggerError",1,["log::SetLoggerError"]],["impl Unpin for ParseLevelError",1,["log::ParseLevelError"]]], -"proc_macro2":[["impl Unpin for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl Unpin for TokenStream",1,["proc_macro2::TokenStream"]],["impl Unpin for LexError",1,["proc_macro2::LexError"]],["impl Unpin for Span",1,["proc_macro2::Span"]],["impl Unpin for TokenTree",1,["proc_macro2::TokenTree"]],["impl Unpin for Group",1,["proc_macro2::Group"]],["impl Unpin for Delimiter",1,["proc_macro2::Delimiter"]],["impl Unpin for Punct",1,["proc_macro2::Punct"]],["impl Unpin for Spacing",1,["proc_macro2::Spacing"]],["impl Unpin for Ident",1,["proc_macro2::Ident"]],["impl Unpin for Literal",1,["proc_macro2::Literal"]]], -"syn":[["impl Unpin for Underscore",1,["syn::token::Underscore"]],["impl Unpin for Abstract",1,["syn::token::Abstract"]],["impl Unpin for As",1,["syn::token::As"]],["impl Unpin for Async",1,["syn::token::Async"]],["impl Unpin for Auto",1,["syn::token::Auto"]],["impl Unpin for Await",1,["syn::token::Await"]],["impl Unpin for Become",1,["syn::token::Become"]],["impl Unpin for Box",1,["syn::token::Box"]],["impl Unpin for Break",1,["syn::token::Break"]],["impl Unpin for Const",1,["syn::token::Const"]],["impl Unpin for Continue",1,["syn::token::Continue"]],["impl Unpin for Crate",1,["syn::token::Crate"]],["impl Unpin for Default",1,["syn::token::Default"]],["impl Unpin for Do",1,["syn::token::Do"]],["impl Unpin for Dyn",1,["syn::token::Dyn"]],["impl Unpin for Else",1,["syn::token::Else"]],["impl Unpin for Enum",1,["syn::token::Enum"]],["impl Unpin for Extern",1,["syn::token::Extern"]],["impl Unpin for Final",1,["syn::token::Final"]],["impl Unpin for Fn",1,["syn::token::Fn"]],["impl Unpin for For",1,["syn::token::For"]],["impl Unpin for If",1,["syn::token::If"]],["impl Unpin for Impl",1,["syn::token::Impl"]],["impl Unpin for In",1,["syn::token::In"]],["impl Unpin for Let",1,["syn::token::Let"]],["impl Unpin for Loop",1,["syn::token::Loop"]],["impl Unpin for Macro",1,["syn::token::Macro"]],["impl Unpin for Match",1,["syn::token::Match"]],["impl Unpin for Mod",1,["syn::token::Mod"]],["impl Unpin for Move",1,["syn::token::Move"]],["impl Unpin for Mut",1,["syn::token::Mut"]],["impl Unpin for Override",1,["syn::token::Override"]],["impl Unpin for Priv",1,["syn::token::Priv"]],["impl Unpin for Pub",1,["syn::token::Pub"]],["impl Unpin for Ref",1,["syn::token::Ref"]],["impl Unpin for Return",1,["syn::token::Return"]],["impl Unpin for SelfType",1,["syn::token::SelfType"]],["impl Unpin for SelfValue",1,["syn::token::SelfValue"]],["impl Unpin for Static",1,["syn::token::Static"]],["impl Unpin for Struct",1,["syn::token::Struct"]],["impl Unpin for Super",1,["syn::token::Super"]],["impl Unpin for Trait",1,["syn::token::Trait"]],["impl Unpin for Try",1,["syn::token::Try"]],["impl Unpin for Type",1,["syn::token::Type"]],["impl Unpin for Typeof",1,["syn::token::Typeof"]],["impl Unpin for Union",1,["syn::token::Union"]],["impl Unpin for Unsafe",1,["syn::token::Unsafe"]],["impl Unpin for Unsized",1,["syn::token::Unsized"]],["impl Unpin for Use",1,["syn::token::Use"]],["impl Unpin for Virtual",1,["syn::token::Virtual"]],["impl Unpin for Where",1,["syn::token::Where"]],["impl Unpin for While",1,["syn::token::While"]],["impl Unpin for Yield",1,["syn::token::Yield"]],["impl Unpin for Add",1,["syn::token::Add"]],["impl Unpin for AddEq",1,["syn::token::AddEq"]],["impl Unpin for And",1,["syn::token::And"]],["impl Unpin for AndAnd",1,["syn::token::AndAnd"]],["impl Unpin for AndEq",1,["syn::token::AndEq"]],["impl Unpin for At",1,["syn::token::At"]],["impl Unpin for Bang",1,["syn::token::Bang"]],["impl Unpin for Caret",1,["syn::token::Caret"]],["impl Unpin for CaretEq",1,["syn::token::CaretEq"]],["impl Unpin for Colon",1,["syn::token::Colon"]],["impl Unpin for Colon2",1,["syn::token::Colon2"]],["impl Unpin for Comma",1,["syn::token::Comma"]],["impl Unpin for Div",1,["syn::token::Div"]],["impl Unpin for DivEq",1,["syn::token::DivEq"]],["impl Unpin for Dollar",1,["syn::token::Dollar"]],["impl Unpin for Dot",1,["syn::token::Dot"]],["impl Unpin for Dot2",1,["syn::token::Dot2"]],["impl Unpin for Dot3",1,["syn::token::Dot3"]],["impl Unpin for DotDotEq",1,["syn::token::DotDotEq"]],["impl Unpin for Eq",1,["syn::token::Eq"]],["impl Unpin for EqEq",1,["syn::token::EqEq"]],["impl Unpin for Ge",1,["syn::token::Ge"]],["impl Unpin for Gt",1,["syn::token::Gt"]],["impl Unpin for Le",1,["syn::token::Le"]],["impl Unpin for Lt",1,["syn::token::Lt"]],["impl Unpin for MulEq",1,["syn::token::MulEq"]],["impl Unpin for Ne",1,["syn::token::Ne"]],["impl Unpin for Or",1,["syn::token::Or"]],["impl Unpin for OrEq",1,["syn::token::OrEq"]],["impl Unpin for OrOr",1,["syn::token::OrOr"]],["impl Unpin for Pound",1,["syn::token::Pound"]],["impl Unpin for Question",1,["syn::token::Question"]],["impl Unpin for RArrow",1,["syn::token::RArrow"]],["impl Unpin for LArrow",1,["syn::token::LArrow"]],["impl Unpin for Rem",1,["syn::token::Rem"]],["impl Unpin for RemEq",1,["syn::token::RemEq"]],["impl Unpin for FatArrow",1,["syn::token::FatArrow"]],["impl Unpin for Semi",1,["syn::token::Semi"]],["impl Unpin for Shl",1,["syn::token::Shl"]],["impl Unpin for ShlEq",1,["syn::token::ShlEq"]],["impl Unpin for Shr",1,["syn::token::Shr"]],["impl Unpin for ShrEq",1,["syn::token::ShrEq"]],["impl Unpin for Star",1,["syn::token::Star"]],["impl Unpin for Sub",1,["syn::token::Sub"]],["impl Unpin for SubEq",1,["syn::token::SubEq"]],["impl Unpin for Tilde",1,["syn::token::Tilde"]],["impl Unpin for Brace",1,["syn::token::Brace"]],["impl Unpin for Bracket",1,["syn::token::Bracket"]],["impl Unpin for Paren",1,["syn::token::Paren"]],["impl Unpin for Group",1,["syn::token::Group"]],["impl Unpin for Attribute",1,["syn::attr::Attribute"]],["impl Unpin for AttrStyle",1,["syn::attr::AttrStyle"]],["impl Unpin for Meta",1,["syn::attr::Meta"]],["impl Unpin for MetaList",1,["syn::attr::MetaList"]],["impl Unpin for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl Unpin for NestedMeta",1,["syn::attr::NestedMeta"]],["impl Unpin for Variant",1,["syn::data::Variant"]],["impl Unpin for Fields",1,["syn::data::Fields"]],["impl Unpin for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl Unpin for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl Unpin for Field",1,["syn::data::Field"]],["impl Unpin for Visibility",1,["syn::data::Visibility"]],["impl Unpin for VisPublic",1,["syn::data::VisPublic"]],["impl Unpin for VisCrate",1,["syn::data::VisCrate"]],["impl Unpin for VisRestricted",1,["syn::data::VisRestricted"]],["impl Unpin for Expr",1,["syn::expr::Expr"]],["impl Unpin for ExprArray",1,["syn::expr::ExprArray"]],["impl Unpin for ExprAssign",1,["syn::expr::ExprAssign"]],["impl Unpin for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl Unpin for ExprAsync",1,["syn::expr::ExprAsync"]],["impl Unpin for ExprAwait",1,["syn::expr::ExprAwait"]],["impl Unpin for ExprBinary",1,["syn::expr::ExprBinary"]],["impl Unpin for ExprBlock",1,["syn::expr::ExprBlock"]],["impl Unpin for ExprBox",1,["syn::expr::ExprBox"]],["impl Unpin for ExprBreak",1,["syn::expr::ExprBreak"]],["impl Unpin for ExprCall",1,["syn::expr::ExprCall"]],["impl Unpin for ExprCast",1,["syn::expr::ExprCast"]],["impl Unpin for ExprClosure",1,["syn::expr::ExprClosure"]],["impl Unpin for ExprContinue",1,["syn::expr::ExprContinue"]],["impl Unpin for ExprField",1,["syn::expr::ExprField"]],["impl Unpin for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl Unpin for ExprGroup",1,["syn::expr::ExprGroup"]],["impl Unpin for ExprIf",1,["syn::expr::ExprIf"]],["impl Unpin for ExprIndex",1,["syn::expr::ExprIndex"]],["impl Unpin for ExprLet",1,["syn::expr::ExprLet"]],["impl Unpin for ExprLit",1,["syn::expr::ExprLit"]],["impl Unpin for ExprLoop",1,["syn::expr::ExprLoop"]],["impl Unpin for ExprMacro",1,["syn::expr::ExprMacro"]],["impl Unpin for ExprMatch",1,["syn::expr::ExprMatch"]],["impl Unpin for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl Unpin for ExprParen",1,["syn::expr::ExprParen"]],["impl Unpin for ExprPath",1,["syn::expr::ExprPath"]],["impl Unpin for ExprRange",1,["syn::expr::ExprRange"]],["impl Unpin for ExprReference",1,["syn::expr::ExprReference"]],["impl Unpin for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl Unpin for ExprReturn",1,["syn::expr::ExprReturn"]],["impl Unpin for ExprStruct",1,["syn::expr::ExprStruct"]],["impl Unpin for ExprTry",1,["syn::expr::ExprTry"]],["impl Unpin for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl Unpin for ExprTuple",1,["syn::expr::ExprTuple"]],["impl Unpin for ExprType",1,["syn::expr::ExprType"]],["impl Unpin for ExprUnary",1,["syn::expr::ExprUnary"]],["impl Unpin for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl Unpin for ExprWhile",1,["syn::expr::ExprWhile"]],["impl Unpin for ExprYield",1,["syn::expr::ExprYield"]],["impl Unpin for Member",1,["syn::expr::Member"]],["impl Unpin for Index",1,["syn::expr::Index"]],["impl Unpin for Generics",1,["syn::generics::Generics"]],["impl Unpin for GenericParam",1,["syn::generics::GenericParam"]],["impl Unpin for TypeParam",1,["syn::generics::TypeParam"]],["impl Unpin for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl Unpin for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> Unpin for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> Unpin for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> Unpin for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl Unpin for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl Unpin for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl Unpin for TraitBound",1,["syn::generics::TraitBound"]],["impl Unpin for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl Unpin for WhereClause",1,["syn::generics::WhereClause"]],["impl Unpin for WherePredicate",1,["syn::generics::WherePredicate"]],["impl Unpin for PredicateType",1,["syn::generics::PredicateType"]],["impl Unpin for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl Unpin for PredicateEq",1,["syn::generics::PredicateEq"]],["impl Unpin for Lifetime",1,["syn::lifetime::Lifetime"]],["impl Unpin for Lit",1,["syn::lit::Lit"]],["impl Unpin for LitStr",1,["syn::lit::LitStr"]],["impl Unpin for LitByteStr",1,["syn::lit::LitByteStr"]],["impl Unpin for LitByte",1,["syn::lit::LitByte"]],["impl Unpin for LitChar",1,["syn::lit::LitChar"]],["impl Unpin for LitInt",1,["syn::lit::LitInt"]],["impl Unpin for LitFloat",1,["syn::lit::LitFloat"]],["impl Unpin for LitBool",1,["syn::lit::LitBool"]],["impl Unpin for StrStyle",1,["syn::lit::StrStyle"]],["impl Unpin for Macro",1,["syn::mac::Macro"]],["impl Unpin for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl Unpin for DeriveInput",1,["syn::derive::DeriveInput"]],["impl Unpin for Data",1,["syn::derive::Data"]],["impl Unpin for DataStruct",1,["syn::derive::DataStruct"]],["impl Unpin for DataEnum",1,["syn::derive::DataEnum"]],["impl Unpin for DataUnion",1,["syn::derive::DataUnion"]],["impl Unpin for BinOp",1,["syn::op::BinOp"]],["impl Unpin for UnOp",1,["syn::op::UnOp"]],["impl Unpin for Type",1,["syn::ty::Type"]],["impl Unpin for TypeArray",1,["syn::ty::TypeArray"]],["impl Unpin for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl Unpin for TypeGroup",1,["syn::ty::TypeGroup"]],["impl Unpin for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl Unpin for TypeInfer",1,["syn::ty::TypeInfer"]],["impl Unpin for TypeMacro",1,["syn::ty::TypeMacro"]],["impl Unpin for TypeNever",1,["syn::ty::TypeNever"]],["impl Unpin for TypeParen",1,["syn::ty::TypeParen"]],["impl Unpin for TypePath",1,["syn::ty::TypePath"]],["impl Unpin for TypePtr",1,["syn::ty::TypePtr"]],["impl Unpin for TypeReference",1,["syn::ty::TypeReference"]],["impl Unpin for TypeSlice",1,["syn::ty::TypeSlice"]],["impl Unpin for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl Unpin for TypeTuple",1,["syn::ty::TypeTuple"]],["impl Unpin for Abi",1,["syn::ty::Abi"]],["impl Unpin for BareFnArg",1,["syn::ty::BareFnArg"]],["impl Unpin for Variadic",1,["syn::ty::Variadic"]],["impl Unpin for ReturnType",1,["syn::ty::ReturnType"]],["impl Unpin for Path",1,["syn::path::Path"]],["impl Unpin for PathSegment",1,["syn::path::PathSegment"]],["impl Unpin for PathArguments",1,["syn::path::PathArguments"]],["impl Unpin for GenericArgument",1,["syn::path::GenericArgument"]],["impl Unpin for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl Unpin for Binding",1,["syn::path::Binding"]],["impl Unpin for Constraint",1,["syn::path::Constraint"]],["impl Unpin for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl Unpin for QSelf",1,["syn::path::QSelf"]],["impl Unpin for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> Unpin for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Unpin for Punctuated<T, P>where
    P: Unpin,
    T: Unpin,
",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Unpin for Pairs<'a, T, P>",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Unpin for PairsMut<'a, T, P>",1,["syn::punctuated::PairsMut"]],["impl<T, P> Unpin for IntoPairs<T, P>where
    P: Unpin,
    T: Unpin,
",1,["syn::punctuated::IntoPairs"]],["impl<T> Unpin for IntoIter<T>where
    T: Unpin,
",1,["syn::punctuated::IntoIter"]],["impl<'a, T> Unpin for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> Unpin for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Unpin for Pair<T, P>where
    P: Unpin,
    T: Unpin,
",1,["syn::punctuated::Pair"]],["impl<'a> Unpin for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Unpin for Error",1,["syn::error::Error"]],["impl<'a> Unpin for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> Unpin for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Unpin for Nothing",1,["syn::parse::Nothing"]]], -"synstructure":[["impl Unpin for AddBounds",1,["synstructure::AddBounds"]],["impl Unpin for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> Unpin for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> Unpin for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> Unpin for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> Unpin for Structure<'a>",1,["synstructure::Structure"]]] +"delog":[["impl Unpin for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> Unpin for HexStr<'a, T, U, S>where\n S: Unpin,\n U: Unpin,",1,["delog::hex::HexStr"]],["impl Unpin for Statistics",1,["delog::logger::Statistics"]],["impl Unpin for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl Unpin for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], +"flexiber":[["impl<'a> Unpin for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> Unpin for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl Unpin for Error",1,["flexiber::error::Error"]],["impl Unpin for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl Unpin for Length",1,["flexiber::length::Length"]],["impl Unpin for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> Unpin for Slice<'a>",1,["flexiber::slice::Slice"]],["impl Unpin for Class",1,["flexiber::tag::Class"]],["impl Unpin for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> Unpin for TaggedValue<V, T>where\n T: Unpin,\n V: Unpin,",1,["flexiber::tagged::TaggedValue"]]], +"log":[["impl Unpin for Level",1,["log::Level"]],["impl Unpin for LevelFilter",1,["log::LevelFilter"]],["impl<'a> Unpin for Record<'a>",1,["log::Record"]],["impl<'a> Unpin for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> Unpin for Metadata<'a>",1,["log::Metadata"]],["impl<'a> Unpin for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl Unpin for SetLoggerError",1,["log::SetLoggerError"]],["impl Unpin for ParseLevelError",1,["log::ParseLevelError"]]], +"proc_macro2":[["impl Unpin for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl Unpin for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl Unpin for TokenStream",1,["proc_macro2::TokenStream"]],["impl Unpin for LexError",1,["proc_macro2::LexError"]],["impl Unpin for Span",1,["proc_macro2::Span"]],["impl Unpin for TokenTree",1,["proc_macro2::TokenTree"]],["impl Unpin for Group",1,["proc_macro2::Group"]],["impl Unpin for Delimiter",1,["proc_macro2::Delimiter"]],["impl Unpin for Punct",1,["proc_macro2::Punct"]],["impl Unpin for Spacing",1,["proc_macro2::Spacing"]],["impl Unpin for Ident",1,["proc_macro2::Ident"]],["impl Unpin for Literal",1,["proc_macro2::Literal"]]], +"syn":[["impl Unpin for Underscore",1,["syn::token::Underscore"]],["impl Unpin for Abstract",1,["syn::token::Abstract"]],["impl Unpin for As",1,["syn::token::As"]],["impl Unpin for Async",1,["syn::token::Async"]],["impl Unpin for Auto",1,["syn::token::Auto"]],["impl Unpin for Await",1,["syn::token::Await"]],["impl Unpin for Become",1,["syn::token::Become"]],["impl Unpin for Box",1,["syn::token::Box"]],["impl Unpin for Break",1,["syn::token::Break"]],["impl Unpin for Const",1,["syn::token::Const"]],["impl Unpin for Continue",1,["syn::token::Continue"]],["impl Unpin for Crate",1,["syn::token::Crate"]],["impl Unpin for Default",1,["syn::token::Default"]],["impl Unpin for Do",1,["syn::token::Do"]],["impl Unpin for Dyn",1,["syn::token::Dyn"]],["impl Unpin for Else",1,["syn::token::Else"]],["impl Unpin for Enum",1,["syn::token::Enum"]],["impl Unpin for Extern",1,["syn::token::Extern"]],["impl Unpin for Final",1,["syn::token::Final"]],["impl Unpin for Fn",1,["syn::token::Fn"]],["impl Unpin for For",1,["syn::token::For"]],["impl Unpin for If",1,["syn::token::If"]],["impl Unpin for Impl",1,["syn::token::Impl"]],["impl Unpin for In",1,["syn::token::In"]],["impl Unpin for Let",1,["syn::token::Let"]],["impl Unpin for Loop",1,["syn::token::Loop"]],["impl Unpin for Macro",1,["syn::token::Macro"]],["impl Unpin for Match",1,["syn::token::Match"]],["impl Unpin for Mod",1,["syn::token::Mod"]],["impl Unpin for Move",1,["syn::token::Move"]],["impl Unpin for Mut",1,["syn::token::Mut"]],["impl Unpin for Override",1,["syn::token::Override"]],["impl Unpin for Priv",1,["syn::token::Priv"]],["impl Unpin for Pub",1,["syn::token::Pub"]],["impl Unpin for Ref",1,["syn::token::Ref"]],["impl Unpin for Return",1,["syn::token::Return"]],["impl Unpin for SelfType",1,["syn::token::SelfType"]],["impl Unpin for SelfValue",1,["syn::token::SelfValue"]],["impl Unpin for Static",1,["syn::token::Static"]],["impl Unpin for Struct",1,["syn::token::Struct"]],["impl Unpin for Super",1,["syn::token::Super"]],["impl Unpin for Trait",1,["syn::token::Trait"]],["impl Unpin for Try",1,["syn::token::Try"]],["impl Unpin for Type",1,["syn::token::Type"]],["impl Unpin for Typeof",1,["syn::token::Typeof"]],["impl Unpin for Union",1,["syn::token::Union"]],["impl Unpin for Unsafe",1,["syn::token::Unsafe"]],["impl Unpin for Unsized",1,["syn::token::Unsized"]],["impl Unpin for Use",1,["syn::token::Use"]],["impl Unpin for Virtual",1,["syn::token::Virtual"]],["impl Unpin for Where",1,["syn::token::Where"]],["impl Unpin for While",1,["syn::token::While"]],["impl Unpin for Yield",1,["syn::token::Yield"]],["impl Unpin for Add",1,["syn::token::Add"]],["impl Unpin for AddEq",1,["syn::token::AddEq"]],["impl Unpin for And",1,["syn::token::And"]],["impl Unpin for AndAnd",1,["syn::token::AndAnd"]],["impl Unpin for AndEq",1,["syn::token::AndEq"]],["impl Unpin for At",1,["syn::token::At"]],["impl Unpin for Bang",1,["syn::token::Bang"]],["impl Unpin for Caret",1,["syn::token::Caret"]],["impl Unpin for CaretEq",1,["syn::token::CaretEq"]],["impl Unpin for Colon",1,["syn::token::Colon"]],["impl Unpin for Colon2",1,["syn::token::Colon2"]],["impl Unpin for Comma",1,["syn::token::Comma"]],["impl Unpin for Div",1,["syn::token::Div"]],["impl Unpin for DivEq",1,["syn::token::DivEq"]],["impl Unpin for Dollar",1,["syn::token::Dollar"]],["impl Unpin for Dot",1,["syn::token::Dot"]],["impl Unpin for Dot2",1,["syn::token::Dot2"]],["impl Unpin for Dot3",1,["syn::token::Dot3"]],["impl Unpin for DotDotEq",1,["syn::token::DotDotEq"]],["impl Unpin for Eq",1,["syn::token::Eq"]],["impl Unpin for EqEq",1,["syn::token::EqEq"]],["impl Unpin for Ge",1,["syn::token::Ge"]],["impl Unpin for Gt",1,["syn::token::Gt"]],["impl Unpin for Le",1,["syn::token::Le"]],["impl Unpin for Lt",1,["syn::token::Lt"]],["impl Unpin for MulEq",1,["syn::token::MulEq"]],["impl Unpin for Ne",1,["syn::token::Ne"]],["impl Unpin for Or",1,["syn::token::Or"]],["impl Unpin for OrEq",1,["syn::token::OrEq"]],["impl Unpin for OrOr",1,["syn::token::OrOr"]],["impl Unpin for Pound",1,["syn::token::Pound"]],["impl Unpin for Question",1,["syn::token::Question"]],["impl Unpin for RArrow",1,["syn::token::RArrow"]],["impl Unpin for LArrow",1,["syn::token::LArrow"]],["impl Unpin for Rem",1,["syn::token::Rem"]],["impl Unpin for RemEq",1,["syn::token::RemEq"]],["impl Unpin for FatArrow",1,["syn::token::FatArrow"]],["impl Unpin for Semi",1,["syn::token::Semi"]],["impl Unpin for Shl",1,["syn::token::Shl"]],["impl Unpin for ShlEq",1,["syn::token::ShlEq"]],["impl Unpin for Shr",1,["syn::token::Shr"]],["impl Unpin for ShrEq",1,["syn::token::ShrEq"]],["impl Unpin for Star",1,["syn::token::Star"]],["impl Unpin for Sub",1,["syn::token::Sub"]],["impl Unpin for SubEq",1,["syn::token::SubEq"]],["impl Unpin for Tilde",1,["syn::token::Tilde"]],["impl Unpin for Brace",1,["syn::token::Brace"]],["impl Unpin for Bracket",1,["syn::token::Bracket"]],["impl Unpin for Paren",1,["syn::token::Paren"]],["impl Unpin for Group",1,["syn::token::Group"]],["impl Unpin for Attribute",1,["syn::attr::Attribute"]],["impl Unpin for AttrStyle",1,["syn::attr::AttrStyle"]],["impl Unpin for Meta",1,["syn::attr::Meta"]],["impl Unpin for MetaList",1,["syn::attr::MetaList"]],["impl Unpin for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl Unpin for NestedMeta",1,["syn::attr::NestedMeta"]],["impl Unpin for Variant",1,["syn::data::Variant"]],["impl Unpin for Fields",1,["syn::data::Fields"]],["impl Unpin for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl Unpin for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl Unpin for Field",1,["syn::data::Field"]],["impl Unpin for Visibility",1,["syn::data::Visibility"]],["impl Unpin for VisPublic",1,["syn::data::VisPublic"]],["impl Unpin for VisCrate",1,["syn::data::VisCrate"]],["impl Unpin for VisRestricted",1,["syn::data::VisRestricted"]],["impl Unpin for Expr",1,["syn::expr::Expr"]],["impl Unpin for ExprArray",1,["syn::expr::ExprArray"]],["impl Unpin for ExprAssign",1,["syn::expr::ExprAssign"]],["impl Unpin for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl Unpin for ExprAsync",1,["syn::expr::ExprAsync"]],["impl Unpin for ExprAwait",1,["syn::expr::ExprAwait"]],["impl Unpin for ExprBinary",1,["syn::expr::ExprBinary"]],["impl Unpin for ExprBlock",1,["syn::expr::ExprBlock"]],["impl Unpin for ExprBox",1,["syn::expr::ExprBox"]],["impl Unpin for ExprBreak",1,["syn::expr::ExprBreak"]],["impl Unpin for ExprCall",1,["syn::expr::ExprCall"]],["impl Unpin for ExprCast",1,["syn::expr::ExprCast"]],["impl Unpin for ExprClosure",1,["syn::expr::ExprClosure"]],["impl Unpin for ExprContinue",1,["syn::expr::ExprContinue"]],["impl Unpin for ExprField",1,["syn::expr::ExprField"]],["impl Unpin for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl Unpin for ExprGroup",1,["syn::expr::ExprGroup"]],["impl Unpin for ExprIf",1,["syn::expr::ExprIf"]],["impl Unpin for ExprIndex",1,["syn::expr::ExprIndex"]],["impl Unpin for ExprLet",1,["syn::expr::ExprLet"]],["impl Unpin for ExprLit",1,["syn::expr::ExprLit"]],["impl Unpin for ExprLoop",1,["syn::expr::ExprLoop"]],["impl Unpin for ExprMacro",1,["syn::expr::ExprMacro"]],["impl Unpin for ExprMatch",1,["syn::expr::ExprMatch"]],["impl Unpin for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl Unpin for ExprParen",1,["syn::expr::ExprParen"]],["impl Unpin for ExprPath",1,["syn::expr::ExprPath"]],["impl Unpin for ExprRange",1,["syn::expr::ExprRange"]],["impl Unpin for ExprReference",1,["syn::expr::ExprReference"]],["impl Unpin for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl Unpin for ExprReturn",1,["syn::expr::ExprReturn"]],["impl Unpin for ExprStruct",1,["syn::expr::ExprStruct"]],["impl Unpin for ExprTry",1,["syn::expr::ExprTry"]],["impl Unpin for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl Unpin for ExprTuple",1,["syn::expr::ExprTuple"]],["impl Unpin for ExprType",1,["syn::expr::ExprType"]],["impl Unpin for ExprUnary",1,["syn::expr::ExprUnary"]],["impl Unpin for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl Unpin for ExprWhile",1,["syn::expr::ExprWhile"]],["impl Unpin for ExprYield",1,["syn::expr::ExprYield"]],["impl Unpin for Member",1,["syn::expr::Member"]],["impl Unpin for Index",1,["syn::expr::Index"]],["impl Unpin for Generics",1,["syn::generics::Generics"]],["impl Unpin for GenericParam",1,["syn::generics::GenericParam"]],["impl Unpin for TypeParam",1,["syn::generics::TypeParam"]],["impl Unpin for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl Unpin for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> Unpin for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> Unpin for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> Unpin for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl Unpin for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl Unpin for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl Unpin for TraitBound",1,["syn::generics::TraitBound"]],["impl Unpin for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl Unpin for WhereClause",1,["syn::generics::WhereClause"]],["impl Unpin for WherePredicate",1,["syn::generics::WherePredicate"]],["impl Unpin for PredicateType",1,["syn::generics::PredicateType"]],["impl Unpin for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl Unpin for PredicateEq",1,["syn::generics::PredicateEq"]],["impl Unpin for Lifetime",1,["syn::lifetime::Lifetime"]],["impl Unpin for Lit",1,["syn::lit::Lit"]],["impl Unpin for LitStr",1,["syn::lit::LitStr"]],["impl Unpin for LitByteStr",1,["syn::lit::LitByteStr"]],["impl Unpin for LitByte",1,["syn::lit::LitByte"]],["impl Unpin for LitChar",1,["syn::lit::LitChar"]],["impl Unpin for LitInt",1,["syn::lit::LitInt"]],["impl Unpin for LitFloat",1,["syn::lit::LitFloat"]],["impl Unpin for LitBool",1,["syn::lit::LitBool"]],["impl Unpin for StrStyle",1,["syn::lit::StrStyle"]],["impl Unpin for Macro",1,["syn::mac::Macro"]],["impl Unpin for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl Unpin for DeriveInput",1,["syn::derive::DeriveInput"]],["impl Unpin for Data",1,["syn::derive::Data"]],["impl Unpin for DataStruct",1,["syn::derive::DataStruct"]],["impl Unpin for DataEnum",1,["syn::derive::DataEnum"]],["impl Unpin for DataUnion",1,["syn::derive::DataUnion"]],["impl Unpin for BinOp",1,["syn::op::BinOp"]],["impl Unpin for UnOp",1,["syn::op::UnOp"]],["impl Unpin for Type",1,["syn::ty::Type"]],["impl Unpin for TypeArray",1,["syn::ty::TypeArray"]],["impl Unpin for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl Unpin for TypeGroup",1,["syn::ty::TypeGroup"]],["impl Unpin for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl Unpin for TypeInfer",1,["syn::ty::TypeInfer"]],["impl Unpin for TypeMacro",1,["syn::ty::TypeMacro"]],["impl Unpin for TypeNever",1,["syn::ty::TypeNever"]],["impl Unpin for TypeParen",1,["syn::ty::TypeParen"]],["impl Unpin for TypePath",1,["syn::ty::TypePath"]],["impl Unpin for TypePtr",1,["syn::ty::TypePtr"]],["impl Unpin for TypeReference",1,["syn::ty::TypeReference"]],["impl Unpin for TypeSlice",1,["syn::ty::TypeSlice"]],["impl Unpin for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl Unpin for TypeTuple",1,["syn::ty::TypeTuple"]],["impl Unpin for Abi",1,["syn::ty::Abi"]],["impl Unpin for BareFnArg",1,["syn::ty::BareFnArg"]],["impl Unpin for Variadic",1,["syn::ty::Variadic"]],["impl Unpin for ReturnType",1,["syn::ty::ReturnType"]],["impl Unpin for Path",1,["syn::path::Path"]],["impl Unpin for PathSegment",1,["syn::path::PathSegment"]],["impl Unpin for PathArguments",1,["syn::path::PathArguments"]],["impl Unpin for GenericArgument",1,["syn::path::GenericArgument"]],["impl Unpin for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl Unpin for Binding",1,["syn::path::Binding"]],["impl Unpin for Constraint",1,["syn::path::Constraint"]],["impl Unpin for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl Unpin for QSelf",1,["syn::path::QSelf"]],["impl Unpin for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> Unpin for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> Unpin for Punctuated<T, P>where\n P: Unpin,\n T: Unpin,",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> Unpin for Pairs<'a, T, P>",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> Unpin for PairsMut<'a, T, P>",1,["syn::punctuated::PairsMut"]],["impl<T, P> Unpin for IntoPairs<T, P>where\n P: Unpin,\n T: Unpin,",1,["syn::punctuated::IntoPairs"]],["impl<T> Unpin for IntoIter<T>where\n T: Unpin,",1,["syn::punctuated::IntoIter"]],["impl<'a, T> Unpin for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> Unpin for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> Unpin for Pair<T, P>where\n P: Unpin,\n T: Unpin,",1,["syn::punctuated::Pair"]],["impl<'a> Unpin for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl Unpin for Error",1,["syn::error::Error"]],["impl<'a> Unpin for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> Unpin for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl Unpin for Nothing",1,["syn::parse::Nothing"]]], +"synstructure":[["impl Unpin for AddBounds",1,["synstructure::AddBounds"]],["impl Unpin for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> Unpin for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> Unpin for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> Unpin for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> Unpin for Structure<'a>",1,["synstructure::Structure"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/arith/trait.Add.js b/implementors/core/ops/arith/trait.Add.js index 24ae755..eabdf97 100644 --- a/implementors/core/ops/arith/trait.Add.js +++ b/implementors/core/ops/arith/trait.Add.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"flexiber":[["impl Add<Length> for Length"],["impl Add<u8> for Length"],["impl Add<u16> for Length"],["impl Add<usize> for Length"],["impl Add<Length> for Result<Length>"]] +"flexiber":[["impl Add<Length> for Length"],["impl Add<u8> for Length"],["impl Add<usize> for Length"],["impl Add<Length> for Result<Length>"],["impl Add<u16> for Length"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js index e666de7..7b1bfba 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl Deref for Underscore"],["impl Deref for Add"],["impl Deref for And"],["impl Deref for At"],["impl Deref for Bang"],["impl Deref for Caret"],["impl Deref for Colon"],["impl Deref for Comma"],["impl Deref for Div"],["impl Deref for Dollar"],["impl Deref for Dot"],["impl Deref for Eq"],["impl Deref for Gt"],["impl Deref for Lt"],["impl Deref for Or"],["impl Deref for Pound"],["impl Deref for Question"],["impl Deref for Rem"],["impl Deref for Semi"],["impl Deref for Star"],["impl Deref for Sub"],["impl Deref for Tilde"],["impl<'c, 'a> Deref for StepCursor<'c, 'a>"]] +"syn":[["impl Deref for Caret"],["impl Deref for Div"],["impl Deref for Dollar"],["impl Deref for Dot"],["impl Deref for Bang"],["impl Deref for Question"],["impl Deref for Underscore"],["impl Deref for Eq"],["impl Deref for Gt"],["impl Deref for Colon"],["impl Deref for Or"],["impl<'c, 'a> Deref for StepCursor<'c, 'a>"],["impl Deref for Lt"],["impl Deref for Semi"],["impl Deref for And"],["impl Deref for Tilde"],["impl Deref for At"],["impl Deref for Sub"],["impl Deref for Add"],["impl Deref for Pound"],["impl Deref for Star"],["impl Deref for Rem"],["impl Deref for Comma"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.DerefMut.js b/implementors/core/ops/deref/trait.DerefMut.js index 59b87e0..46f4aa3 100644 --- a/implementors/core/ops/deref/trait.DerefMut.js +++ b/implementors/core/ops/deref/trait.DerefMut.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl DerefMut for Underscore"],["impl DerefMut for Add"],["impl DerefMut for And"],["impl DerefMut for At"],["impl DerefMut for Bang"],["impl DerefMut for Caret"],["impl DerefMut for Colon"],["impl DerefMut for Comma"],["impl DerefMut for Div"],["impl DerefMut for Dollar"],["impl DerefMut for Dot"],["impl DerefMut for Eq"],["impl DerefMut for Gt"],["impl DerefMut for Lt"],["impl DerefMut for Or"],["impl DerefMut for Pound"],["impl DerefMut for Question"],["impl DerefMut for Rem"],["impl DerefMut for Semi"],["impl DerefMut for Star"],["impl DerefMut for Sub"],["impl DerefMut for Tilde"]] +"syn":[["impl DerefMut for Star"],["impl DerefMut for Bang"],["impl DerefMut for Add"],["impl DerefMut for Semi"],["impl DerefMut for Dollar"],["impl DerefMut for Or"],["impl DerefMut for And"],["impl DerefMut for Question"],["impl DerefMut for Rem"],["impl DerefMut for Sub"],["impl DerefMut for At"],["impl DerefMut for Lt"],["impl DerefMut for Colon"],["impl DerefMut for Dot"],["impl DerefMut for Gt"],["impl DerefMut for Pound"],["impl DerefMut for Eq"],["impl DerefMut for Underscore"],["impl DerefMut for Tilde"],["impl DerefMut for Comma"],["impl DerefMut for Caret"],["impl DerefMut for Div"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/drop/trait.Drop.js b/implementors/core/ops/drop/trait.Drop.js index ff7676d..d2d914b 100644 --- a/implementors/core/ops/drop/trait.Drop.js +++ b/implementors/core/ops/drop/trait.Drop.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl<'a> Drop for ParseBuffer<'a>"]] +"syn":[["impl<'a> Drop for ParseBuffer<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/index/trait.Index.js b/implementors/core/ops/index/trait.Index.js index 6e833ad..675dbf8 100644 --- a/implementors/core/ops/index/trait.Index.js +++ b/implementors/core/ops/index/trait.Index.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl<T, P> Index<usize> for Punctuated<T, P>"]] +"syn":[["impl<T, P> Index<usize> for Punctuated<T, P>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/index/trait.IndexMut.js b/implementors/core/ops/index/trait.IndexMut.js index 32d1f5d..50b1533 100644 --- a/implementors/core/ops/index/trait.IndexMut.js +++ b/implementors/core/ops/index/trait.IndexMut.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"syn":[["impl<T, P> IndexMut<usize> for Punctuated<T, P>"]] +"syn":[["impl<T, P> IndexMut<usize> for Punctuated<T, P>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 08c70dc..8662e3b 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl RefUnwindSafe for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> RefUnwindSafe for HexStr<'a, T, U, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,
    U: RefUnwindSafe,
",1,["delog::hex::HexStr"]],["impl RefUnwindSafe for Statistics",1,["delog::logger::Statistics"]],["impl RefUnwindSafe for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl RefUnwindSafe for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], -"flexiber":[["impl<'a> RefUnwindSafe for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> RefUnwindSafe for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl RefUnwindSafe for Error",1,["flexiber::error::Error"]],["impl RefUnwindSafe for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl RefUnwindSafe for Length",1,["flexiber::length::Length"]],["impl RefUnwindSafe for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> RefUnwindSafe for Slice<'a>",1,["flexiber::slice::Slice"]],["impl RefUnwindSafe for Class",1,["flexiber::tag::Class"]],["impl RefUnwindSafe for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> RefUnwindSafe for TaggedValue<V, T>where
    T: RefUnwindSafe,
    V: RefUnwindSafe,
",1,["flexiber::tagged::TaggedValue"]]], -"log":[["impl RefUnwindSafe for Level",1,["log::Level"]],["impl RefUnwindSafe for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !RefUnwindSafe for Record<'a>",1,["log::Record"]],["impl<'a> !RefUnwindSafe for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> RefUnwindSafe for Metadata<'a>",1,["log::Metadata"]],["impl<'a> RefUnwindSafe for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl RefUnwindSafe for SetLoggerError",1,["log::SetLoggerError"]],["impl RefUnwindSafe for ParseLevelError",1,["log::ParseLevelError"]]], -"proc_macro2":[["impl RefUnwindSafe for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl RefUnwindSafe for TokenStream",1,["proc_macro2::TokenStream"]],["impl RefUnwindSafe for LexError",1,["proc_macro2::LexError"]],["impl RefUnwindSafe for Span",1,["proc_macro2::Span"]],["impl RefUnwindSafe for TokenTree",1,["proc_macro2::TokenTree"]],["impl RefUnwindSafe for Group",1,["proc_macro2::Group"]],["impl RefUnwindSafe for Delimiter",1,["proc_macro2::Delimiter"]],["impl RefUnwindSafe for Punct",1,["proc_macro2::Punct"]],["impl RefUnwindSafe for Spacing",1,["proc_macro2::Spacing"]],["impl RefUnwindSafe for Ident",1,["proc_macro2::Ident"]],["impl RefUnwindSafe for Literal",1,["proc_macro2::Literal"]]], -"syn":[["impl RefUnwindSafe for Underscore",1,["syn::token::Underscore"]],["impl RefUnwindSafe for Abstract",1,["syn::token::Abstract"]],["impl RefUnwindSafe for As",1,["syn::token::As"]],["impl RefUnwindSafe for Async",1,["syn::token::Async"]],["impl RefUnwindSafe for Auto",1,["syn::token::Auto"]],["impl RefUnwindSafe for Await",1,["syn::token::Await"]],["impl RefUnwindSafe for Become",1,["syn::token::Become"]],["impl RefUnwindSafe for Box",1,["syn::token::Box"]],["impl RefUnwindSafe for Break",1,["syn::token::Break"]],["impl RefUnwindSafe for Const",1,["syn::token::Const"]],["impl RefUnwindSafe for Continue",1,["syn::token::Continue"]],["impl RefUnwindSafe for Crate",1,["syn::token::Crate"]],["impl RefUnwindSafe for Default",1,["syn::token::Default"]],["impl RefUnwindSafe for Do",1,["syn::token::Do"]],["impl RefUnwindSafe for Dyn",1,["syn::token::Dyn"]],["impl RefUnwindSafe for Else",1,["syn::token::Else"]],["impl RefUnwindSafe for Enum",1,["syn::token::Enum"]],["impl RefUnwindSafe for Extern",1,["syn::token::Extern"]],["impl RefUnwindSafe for Final",1,["syn::token::Final"]],["impl RefUnwindSafe for Fn",1,["syn::token::Fn"]],["impl RefUnwindSafe for For",1,["syn::token::For"]],["impl RefUnwindSafe for If",1,["syn::token::If"]],["impl RefUnwindSafe for Impl",1,["syn::token::Impl"]],["impl RefUnwindSafe for In",1,["syn::token::In"]],["impl RefUnwindSafe for Let",1,["syn::token::Let"]],["impl RefUnwindSafe for Loop",1,["syn::token::Loop"]],["impl RefUnwindSafe for Macro",1,["syn::token::Macro"]],["impl RefUnwindSafe for Match",1,["syn::token::Match"]],["impl RefUnwindSafe for Mod",1,["syn::token::Mod"]],["impl RefUnwindSafe for Move",1,["syn::token::Move"]],["impl RefUnwindSafe for Mut",1,["syn::token::Mut"]],["impl RefUnwindSafe for Override",1,["syn::token::Override"]],["impl RefUnwindSafe for Priv",1,["syn::token::Priv"]],["impl RefUnwindSafe for Pub",1,["syn::token::Pub"]],["impl RefUnwindSafe for Ref",1,["syn::token::Ref"]],["impl RefUnwindSafe for Return",1,["syn::token::Return"]],["impl RefUnwindSafe for SelfType",1,["syn::token::SelfType"]],["impl RefUnwindSafe for SelfValue",1,["syn::token::SelfValue"]],["impl RefUnwindSafe for Static",1,["syn::token::Static"]],["impl RefUnwindSafe for Struct",1,["syn::token::Struct"]],["impl RefUnwindSafe for Super",1,["syn::token::Super"]],["impl RefUnwindSafe for Trait",1,["syn::token::Trait"]],["impl RefUnwindSafe for Try",1,["syn::token::Try"]],["impl RefUnwindSafe for Type",1,["syn::token::Type"]],["impl RefUnwindSafe for Typeof",1,["syn::token::Typeof"]],["impl RefUnwindSafe for Union",1,["syn::token::Union"]],["impl RefUnwindSafe for Unsafe",1,["syn::token::Unsafe"]],["impl RefUnwindSafe for Unsized",1,["syn::token::Unsized"]],["impl RefUnwindSafe for Use",1,["syn::token::Use"]],["impl RefUnwindSafe for Virtual",1,["syn::token::Virtual"]],["impl RefUnwindSafe for Where",1,["syn::token::Where"]],["impl RefUnwindSafe for While",1,["syn::token::While"]],["impl RefUnwindSafe for Yield",1,["syn::token::Yield"]],["impl RefUnwindSafe for Add",1,["syn::token::Add"]],["impl RefUnwindSafe for AddEq",1,["syn::token::AddEq"]],["impl RefUnwindSafe for And",1,["syn::token::And"]],["impl RefUnwindSafe for AndAnd",1,["syn::token::AndAnd"]],["impl RefUnwindSafe for AndEq",1,["syn::token::AndEq"]],["impl RefUnwindSafe for At",1,["syn::token::At"]],["impl RefUnwindSafe for Bang",1,["syn::token::Bang"]],["impl RefUnwindSafe for Caret",1,["syn::token::Caret"]],["impl RefUnwindSafe for CaretEq",1,["syn::token::CaretEq"]],["impl RefUnwindSafe for Colon",1,["syn::token::Colon"]],["impl RefUnwindSafe for Colon2",1,["syn::token::Colon2"]],["impl RefUnwindSafe for Comma",1,["syn::token::Comma"]],["impl RefUnwindSafe for Div",1,["syn::token::Div"]],["impl RefUnwindSafe for DivEq",1,["syn::token::DivEq"]],["impl RefUnwindSafe for Dollar",1,["syn::token::Dollar"]],["impl RefUnwindSafe for Dot",1,["syn::token::Dot"]],["impl RefUnwindSafe for Dot2",1,["syn::token::Dot2"]],["impl RefUnwindSafe for Dot3",1,["syn::token::Dot3"]],["impl RefUnwindSafe for DotDotEq",1,["syn::token::DotDotEq"]],["impl RefUnwindSafe for Eq",1,["syn::token::Eq"]],["impl RefUnwindSafe for EqEq",1,["syn::token::EqEq"]],["impl RefUnwindSafe for Ge",1,["syn::token::Ge"]],["impl RefUnwindSafe for Gt",1,["syn::token::Gt"]],["impl RefUnwindSafe for Le",1,["syn::token::Le"]],["impl RefUnwindSafe for Lt",1,["syn::token::Lt"]],["impl RefUnwindSafe for MulEq",1,["syn::token::MulEq"]],["impl RefUnwindSafe for Ne",1,["syn::token::Ne"]],["impl RefUnwindSafe for Or",1,["syn::token::Or"]],["impl RefUnwindSafe for OrEq",1,["syn::token::OrEq"]],["impl RefUnwindSafe for OrOr",1,["syn::token::OrOr"]],["impl RefUnwindSafe for Pound",1,["syn::token::Pound"]],["impl RefUnwindSafe for Question",1,["syn::token::Question"]],["impl RefUnwindSafe for RArrow",1,["syn::token::RArrow"]],["impl RefUnwindSafe for LArrow",1,["syn::token::LArrow"]],["impl RefUnwindSafe for Rem",1,["syn::token::Rem"]],["impl RefUnwindSafe for RemEq",1,["syn::token::RemEq"]],["impl RefUnwindSafe for FatArrow",1,["syn::token::FatArrow"]],["impl RefUnwindSafe for Semi",1,["syn::token::Semi"]],["impl RefUnwindSafe for Shl",1,["syn::token::Shl"]],["impl RefUnwindSafe for ShlEq",1,["syn::token::ShlEq"]],["impl RefUnwindSafe for Shr",1,["syn::token::Shr"]],["impl RefUnwindSafe for ShrEq",1,["syn::token::ShrEq"]],["impl RefUnwindSafe for Star",1,["syn::token::Star"]],["impl RefUnwindSafe for Sub",1,["syn::token::Sub"]],["impl RefUnwindSafe for SubEq",1,["syn::token::SubEq"]],["impl RefUnwindSafe for Tilde",1,["syn::token::Tilde"]],["impl RefUnwindSafe for Brace",1,["syn::token::Brace"]],["impl RefUnwindSafe for Bracket",1,["syn::token::Bracket"]],["impl RefUnwindSafe for Paren",1,["syn::token::Paren"]],["impl RefUnwindSafe for Group",1,["syn::token::Group"]],["impl RefUnwindSafe for Attribute",1,["syn::attr::Attribute"]],["impl RefUnwindSafe for AttrStyle",1,["syn::attr::AttrStyle"]],["impl RefUnwindSafe for Meta",1,["syn::attr::Meta"]],["impl RefUnwindSafe for MetaList",1,["syn::attr::MetaList"]],["impl RefUnwindSafe for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl RefUnwindSafe for NestedMeta",1,["syn::attr::NestedMeta"]],["impl RefUnwindSafe for Variant",1,["syn::data::Variant"]],["impl RefUnwindSafe for Fields",1,["syn::data::Fields"]],["impl RefUnwindSafe for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl RefUnwindSafe for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl RefUnwindSafe for Field",1,["syn::data::Field"]],["impl RefUnwindSafe for Visibility",1,["syn::data::Visibility"]],["impl RefUnwindSafe for VisPublic",1,["syn::data::VisPublic"]],["impl RefUnwindSafe for VisCrate",1,["syn::data::VisCrate"]],["impl RefUnwindSafe for VisRestricted",1,["syn::data::VisRestricted"]],["impl RefUnwindSafe for Expr",1,["syn::expr::Expr"]],["impl RefUnwindSafe for ExprArray",1,["syn::expr::ExprArray"]],["impl RefUnwindSafe for ExprAssign",1,["syn::expr::ExprAssign"]],["impl RefUnwindSafe for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl RefUnwindSafe for ExprAsync",1,["syn::expr::ExprAsync"]],["impl RefUnwindSafe for ExprAwait",1,["syn::expr::ExprAwait"]],["impl RefUnwindSafe for ExprBinary",1,["syn::expr::ExprBinary"]],["impl RefUnwindSafe for ExprBlock",1,["syn::expr::ExprBlock"]],["impl RefUnwindSafe for ExprBox",1,["syn::expr::ExprBox"]],["impl RefUnwindSafe for ExprBreak",1,["syn::expr::ExprBreak"]],["impl RefUnwindSafe for ExprCall",1,["syn::expr::ExprCall"]],["impl RefUnwindSafe for ExprCast",1,["syn::expr::ExprCast"]],["impl RefUnwindSafe for ExprClosure",1,["syn::expr::ExprClosure"]],["impl RefUnwindSafe for ExprContinue",1,["syn::expr::ExprContinue"]],["impl RefUnwindSafe for ExprField",1,["syn::expr::ExprField"]],["impl RefUnwindSafe for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl RefUnwindSafe for ExprGroup",1,["syn::expr::ExprGroup"]],["impl RefUnwindSafe for ExprIf",1,["syn::expr::ExprIf"]],["impl RefUnwindSafe for ExprIndex",1,["syn::expr::ExprIndex"]],["impl RefUnwindSafe for ExprLet",1,["syn::expr::ExprLet"]],["impl RefUnwindSafe for ExprLit",1,["syn::expr::ExprLit"]],["impl RefUnwindSafe for ExprLoop",1,["syn::expr::ExprLoop"]],["impl RefUnwindSafe for ExprMacro",1,["syn::expr::ExprMacro"]],["impl RefUnwindSafe for ExprMatch",1,["syn::expr::ExprMatch"]],["impl RefUnwindSafe for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl RefUnwindSafe for ExprParen",1,["syn::expr::ExprParen"]],["impl RefUnwindSafe for ExprPath",1,["syn::expr::ExprPath"]],["impl RefUnwindSafe for ExprRange",1,["syn::expr::ExprRange"]],["impl RefUnwindSafe for ExprReference",1,["syn::expr::ExprReference"]],["impl RefUnwindSafe for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl RefUnwindSafe for ExprReturn",1,["syn::expr::ExprReturn"]],["impl RefUnwindSafe for ExprStruct",1,["syn::expr::ExprStruct"]],["impl RefUnwindSafe for ExprTry",1,["syn::expr::ExprTry"]],["impl RefUnwindSafe for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl RefUnwindSafe for ExprTuple",1,["syn::expr::ExprTuple"]],["impl RefUnwindSafe for ExprType",1,["syn::expr::ExprType"]],["impl RefUnwindSafe for ExprUnary",1,["syn::expr::ExprUnary"]],["impl RefUnwindSafe for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl RefUnwindSafe for ExprWhile",1,["syn::expr::ExprWhile"]],["impl RefUnwindSafe for ExprYield",1,["syn::expr::ExprYield"]],["impl RefUnwindSafe for Member",1,["syn::expr::Member"]],["impl RefUnwindSafe for Index",1,["syn::expr::Index"]],["impl RefUnwindSafe for Generics",1,["syn::generics::Generics"]],["impl RefUnwindSafe for GenericParam",1,["syn::generics::GenericParam"]],["impl RefUnwindSafe for TypeParam",1,["syn::generics::TypeParam"]],["impl RefUnwindSafe for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl RefUnwindSafe for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> RefUnwindSafe for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> RefUnwindSafe for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> RefUnwindSafe for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl RefUnwindSafe for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl RefUnwindSafe for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl RefUnwindSafe for TraitBound",1,["syn::generics::TraitBound"]],["impl RefUnwindSafe for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl RefUnwindSafe for WhereClause",1,["syn::generics::WhereClause"]],["impl RefUnwindSafe for WherePredicate",1,["syn::generics::WherePredicate"]],["impl RefUnwindSafe for PredicateType",1,["syn::generics::PredicateType"]],["impl RefUnwindSafe for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl RefUnwindSafe for PredicateEq",1,["syn::generics::PredicateEq"]],["impl RefUnwindSafe for Lifetime",1,["syn::lifetime::Lifetime"]],["impl RefUnwindSafe for Lit",1,["syn::lit::Lit"]],["impl RefUnwindSafe for LitStr",1,["syn::lit::LitStr"]],["impl RefUnwindSafe for LitByteStr",1,["syn::lit::LitByteStr"]],["impl RefUnwindSafe for LitByte",1,["syn::lit::LitByte"]],["impl RefUnwindSafe for LitChar",1,["syn::lit::LitChar"]],["impl RefUnwindSafe for LitInt",1,["syn::lit::LitInt"]],["impl RefUnwindSafe for LitFloat",1,["syn::lit::LitFloat"]],["impl RefUnwindSafe for LitBool",1,["syn::lit::LitBool"]],["impl RefUnwindSafe for StrStyle",1,["syn::lit::StrStyle"]],["impl RefUnwindSafe for Macro",1,["syn::mac::Macro"]],["impl RefUnwindSafe for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl RefUnwindSafe for DeriveInput",1,["syn::derive::DeriveInput"]],["impl RefUnwindSafe for Data",1,["syn::derive::Data"]],["impl RefUnwindSafe for DataStruct",1,["syn::derive::DataStruct"]],["impl RefUnwindSafe for DataEnum",1,["syn::derive::DataEnum"]],["impl RefUnwindSafe for DataUnion",1,["syn::derive::DataUnion"]],["impl RefUnwindSafe for BinOp",1,["syn::op::BinOp"]],["impl RefUnwindSafe for UnOp",1,["syn::op::UnOp"]],["impl RefUnwindSafe for Type",1,["syn::ty::Type"]],["impl RefUnwindSafe for TypeArray",1,["syn::ty::TypeArray"]],["impl RefUnwindSafe for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl RefUnwindSafe for TypeGroup",1,["syn::ty::TypeGroup"]],["impl RefUnwindSafe for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl RefUnwindSafe for TypeInfer",1,["syn::ty::TypeInfer"]],["impl RefUnwindSafe for TypeMacro",1,["syn::ty::TypeMacro"]],["impl RefUnwindSafe for TypeNever",1,["syn::ty::TypeNever"]],["impl RefUnwindSafe for TypeParen",1,["syn::ty::TypeParen"]],["impl RefUnwindSafe for TypePath",1,["syn::ty::TypePath"]],["impl RefUnwindSafe for TypePtr",1,["syn::ty::TypePtr"]],["impl RefUnwindSafe for TypeReference",1,["syn::ty::TypeReference"]],["impl RefUnwindSafe for TypeSlice",1,["syn::ty::TypeSlice"]],["impl RefUnwindSafe for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl RefUnwindSafe for TypeTuple",1,["syn::ty::TypeTuple"]],["impl RefUnwindSafe for Abi",1,["syn::ty::Abi"]],["impl RefUnwindSafe for BareFnArg",1,["syn::ty::BareFnArg"]],["impl RefUnwindSafe for Variadic",1,["syn::ty::Variadic"]],["impl RefUnwindSafe for ReturnType",1,["syn::ty::ReturnType"]],["impl RefUnwindSafe for Path",1,["syn::path::Path"]],["impl RefUnwindSafe for PathSegment",1,["syn::path::PathSegment"]],["impl RefUnwindSafe for PathArguments",1,["syn::path::PathArguments"]],["impl RefUnwindSafe for GenericArgument",1,["syn::path::GenericArgument"]],["impl RefUnwindSafe for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl RefUnwindSafe for Binding",1,["syn::path::Binding"]],["impl RefUnwindSafe for Constraint",1,["syn::path::Constraint"]],["impl RefUnwindSafe for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl RefUnwindSafe for QSelf",1,["syn::path::QSelf"]],["impl RefUnwindSafe for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> RefUnwindSafe for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> RefUnwindSafe for Punctuated<T, P>where
    P: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> RefUnwindSafe for Pairs<'a, T, P>where
    P: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> RefUnwindSafe for PairsMut<'a, T, P>where
    P: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["syn::punctuated::PairsMut"]],["impl<T, P> RefUnwindSafe for IntoPairs<T, P>where
    P: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["syn::punctuated::IntoPairs"]],["impl<T> RefUnwindSafe for IntoIter<T>where
    T: RefUnwindSafe,
",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !RefUnwindSafe for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !RefUnwindSafe for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> RefUnwindSafe for Pair<T, P>where
    P: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["syn::punctuated::Pair"]],["impl<'a> !RefUnwindSafe for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl RefUnwindSafe for Error",1,["syn::error::Error"]],["impl<'a> !RefUnwindSafe for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> RefUnwindSafe for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl RefUnwindSafe for Nothing",1,["syn::parse::Nothing"]]], -"synstructure":[["impl RefUnwindSafe for AddBounds",1,["synstructure::AddBounds"]],["impl RefUnwindSafe for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> RefUnwindSafe for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> RefUnwindSafe for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> RefUnwindSafe for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> RefUnwindSafe for Structure<'a>",1,["synstructure::Structure"]]] +"delog":[["impl RefUnwindSafe for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> RefUnwindSafe for HexStr<'a, T, U, S>where\n S: RefUnwindSafe,\n T: RefUnwindSafe,\n U: RefUnwindSafe,",1,["delog::hex::HexStr"]],["impl RefUnwindSafe for Statistics",1,["delog::logger::Statistics"]],["impl RefUnwindSafe for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl RefUnwindSafe for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], +"flexiber":[["impl<'a> RefUnwindSafe for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> RefUnwindSafe for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl RefUnwindSafe for Error",1,["flexiber::error::Error"]],["impl RefUnwindSafe for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl RefUnwindSafe for Length",1,["flexiber::length::Length"]],["impl RefUnwindSafe for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> RefUnwindSafe for Slice<'a>",1,["flexiber::slice::Slice"]],["impl RefUnwindSafe for Class",1,["flexiber::tag::Class"]],["impl RefUnwindSafe for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> RefUnwindSafe for TaggedValue<V, T>where\n T: RefUnwindSafe,\n V: RefUnwindSafe,",1,["flexiber::tagged::TaggedValue"]]], +"log":[["impl RefUnwindSafe for Level",1,["log::Level"]],["impl RefUnwindSafe for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !RefUnwindSafe for Record<'a>",1,["log::Record"]],["impl<'a> !RefUnwindSafe for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> RefUnwindSafe for Metadata<'a>",1,["log::Metadata"]],["impl<'a> RefUnwindSafe for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl RefUnwindSafe for SetLoggerError",1,["log::SetLoggerError"]],["impl RefUnwindSafe for ParseLevelError",1,["log::ParseLevelError"]]], +"proc_macro2":[["impl RefUnwindSafe for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl RefUnwindSafe for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl RefUnwindSafe for TokenStream",1,["proc_macro2::TokenStream"]],["impl RefUnwindSafe for LexError",1,["proc_macro2::LexError"]],["impl RefUnwindSafe for Span",1,["proc_macro2::Span"]],["impl RefUnwindSafe for TokenTree",1,["proc_macro2::TokenTree"]],["impl RefUnwindSafe for Group",1,["proc_macro2::Group"]],["impl RefUnwindSafe for Delimiter",1,["proc_macro2::Delimiter"]],["impl RefUnwindSafe for Punct",1,["proc_macro2::Punct"]],["impl RefUnwindSafe for Spacing",1,["proc_macro2::Spacing"]],["impl RefUnwindSafe for Ident",1,["proc_macro2::Ident"]],["impl RefUnwindSafe for Literal",1,["proc_macro2::Literal"]]], +"syn":[["impl RefUnwindSafe for Underscore",1,["syn::token::Underscore"]],["impl RefUnwindSafe for Abstract",1,["syn::token::Abstract"]],["impl RefUnwindSafe for As",1,["syn::token::As"]],["impl RefUnwindSafe for Async",1,["syn::token::Async"]],["impl RefUnwindSafe for Auto",1,["syn::token::Auto"]],["impl RefUnwindSafe for Await",1,["syn::token::Await"]],["impl RefUnwindSafe for Become",1,["syn::token::Become"]],["impl RefUnwindSafe for Box",1,["syn::token::Box"]],["impl RefUnwindSafe for Break",1,["syn::token::Break"]],["impl RefUnwindSafe for Const",1,["syn::token::Const"]],["impl RefUnwindSafe for Continue",1,["syn::token::Continue"]],["impl RefUnwindSafe for Crate",1,["syn::token::Crate"]],["impl RefUnwindSafe for Default",1,["syn::token::Default"]],["impl RefUnwindSafe for Do",1,["syn::token::Do"]],["impl RefUnwindSafe for Dyn",1,["syn::token::Dyn"]],["impl RefUnwindSafe for Else",1,["syn::token::Else"]],["impl RefUnwindSafe for Enum",1,["syn::token::Enum"]],["impl RefUnwindSafe for Extern",1,["syn::token::Extern"]],["impl RefUnwindSafe for Final",1,["syn::token::Final"]],["impl RefUnwindSafe for Fn",1,["syn::token::Fn"]],["impl RefUnwindSafe for For",1,["syn::token::For"]],["impl RefUnwindSafe for If",1,["syn::token::If"]],["impl RefUnwindSafe for Impl",1,["syn::token::Impl"]],["impl RefUnwindSafe for In",1,["syn::token::In"]],["impl RefUnwindSafe for Let",1,["syn::token::Let"]],["impl RefUnwindSafe for Loop",1,["syn::token::Loop"]],["impl RefUnwindSafe for Macro",1,["syn::token::Macro"]],["impl RefUnwindSafe for Match",1,["syn::token::Match"]],["impl RefUnwindSafe for Mod",1,["syn::token::Mod"]],["impl RefUnwindSafe for Move",1,["syn::token::Move"]],["impl RefUnwindSafe for Mut",1,["syn::token::Mut"]],["impl RefUnwindSafe for Override",1,["syn::token::Override"]],["impl RefUnwindSafe for Priv",1,["syn::token::Priv"]],["impl RefUnwindSafe for Pub",1,["syn::token::Pub"]],["impl RefUnwindSafe for Ref",1,["syn::token::Ref"]],["impl RefUnwindSafe for Return",1,["syn::token::Return"]],["impl RefUnwindSafe for SelfType",1,["syn::token::SelfType"]],["impl RefUnwindSafe for SelfValue",1,["syn::token::SelfValue"]],["impl RefUnwindSafe for Static",1,["syn::token::Static"]],["impl RefUnwindSafe for Struct",1,["syn::token::Struct"]],["impl RefUnwindSafe for Super",1,["syn::token::Super"]],["impl RefUnwindSafe for Trait",1,["syn::token::Trait"]],["impl RefUnwindSafe for Try",1,["syn::token::Try"]],["impl RefUnwindSafe for Type",1,["syn::token::Type"]],["impl RefUnwindSafe for Typeof",1,["syn::token::Typeof"]],["impl RefUnwindSafe for Union",1,["syn::token::Union"]],["impl RefUnwindSafe for Unsafe",1,["syn::token::Unsafe"]],["impl RefUnwindSafe for Unsized",1,["syn::token::Unsized"]],["impl RefUnwindSafe for Use",1,["syn::token::Use"]],["impl RefUnwindSafe for Virtual",1,["syn::token::Virtual"]],["impl RefUnwindSafe for Where",1,["syn::token::Where"]],["impl RefUnwindSafe for While",1,["syn::token::While"]],["impl RefUnwindSafe for Yield",1,["syn::token::Yield"]],["impl RefUnwindSafe for Add",1,["syn::token::Add"]],["impl RefUnwindSafe for AddEq",1,["syn::token::AddEq"]],["impl RefUnwindSafe for And",1,["syn::token::And"]],["impl RefUnwindSafe for AndAnd",1,["syn::token::AndAnd"]],["impl RefUnwindSafe for AndEq",1,["syn::token::AndEq"]],["impl RefUnwindSafe for At",1,["syn::token::At"]],["impl RefUnwindSafe for Bang",1,["syn::token::Bang"]],["impl RefUnwindSafe for Caret",1,["syn::token::Caret"]],["impl RefUnwindSafe for CaretEq",1,["syn::token::CaretEq"]],["impl RefUnwindSafe for Colon",1,["syn::token::Colon"]],["impl RefUnwindSafe for Colon2",1,["syn::token::Colon2"]],["impl RefUnwindSafe for Comma",1,["syn::token::Comma"]],["impl RefUnwindSafe for Div",1,["syn::token::Div"]],["impl RefUnwindSafe for DivEq",1,["syn::token::DivEq"]],["impl RefUnwindSafe for Dollar",1,["syn::token::Dollar"]],["impl RefUnwindSafe for Dot",1,["syn::token::Dot"]],["impl RefUnwindSafe for Dot2",1,["syn::token::Dot2"]],["impl RefUnwindSafe for Dot3",1,["syn::token::Dot3"]],["impl RefUnwindSafe for DotDotEq",1,["syn::token::DotDotEq"]],["impl RefUnwindSafe for Eq",1,["syn::token::Eq"]],["impl RefUnwindSafe for EqEq",1,["syn::token::EqEq"]],["impl RefUnwindSafe for Ge",1,["syn::token::Ge"]],["impl RefUnwindSafe for Gt",1,["syn::token::Gt"]],["impl RefUnwindSafe for Le",1,["syn::token::Le"]],["impl RefUnwindSafe for Lt",1,["syn::token::Lt"]],["impl RefUnwindSafe for MulEq",1,["syn::token::MulEq"]],["impl RefUnwindSafe for Ne",1,["syn::token::Ne"]],["impl RefUnwindSafe for Or",1,["syn::token::Or"]],["impl RefUnwindSafe for OrEq",1,["syn::token::OrEq"]],["impl RefUnwindSafe for OrOr",1,["syn::token::OrOr"]],["impl RefUnwindSafe for Pound",1,["syn::token::Pound"]],["impl RefUnwindSafe for Question",1,["syn::token::Question"]],["impl RefUnwindSafe for RArrow",1,["syn::token::RArrow"]],["impl RefUnwindSafe for LArrow",1,["syn::token::LArrow"]],["impl RefUnwindSafe for Rem",1,["syn::token::Rem"]],["impl RefUnwindSafe for RemEq",1,["syn::token::RemEq"]],["impl RefUnwindSafe for FatArrow",1,["syn::token::FatArrow"]],["impl RefUnwindSafe for Semi",1,["syn::token::Semi"]],["impl RefUnwindSafe for Shl",1,["syn::token::Shl"]],["impl RefUnwindSafe for ShlEq",1,["syn::token::ShlEq"]],["impl RefUnwindSafe for Shr",1,["syn::token::Shr"]],["impl RefUnwindSafe for ShrEq",1,["syn::token::ShrEq"]],["impl RefUnwindSafe for Star",1,["syn::token::Star"]],["impl RefUnwindSafe for Sub",1,["syn::token::Sub"]],["impl RefUnwindSafe for SubEq",1,["syn::token::SubEq"]],["impl RefUnwindSafe for Tilde",1,["syn::token::Tilde"]],["impl RefUnwindSafe for Brace",1,["syn::token::Brace"]],["impl RefUnwindSafe for Bracket",1,["syn::token::Bracket"]],["impl RefUnwindSafe for Paren",1,["syn::token::Paren"]],["impl RefUnwindSafe for Group",1,["syn::token::Group"]],["impl RefUnwindSafe for Attribute",1,["syn::attr::Attribute"]],["impl RefUnwindSafe for AttrStyle",1,["syn::attr::AttrStyle"]],["impl RefUnwindSafe for Meta",1,["syn::attr::Meta"]],["impl RefUnwindSafe for MetaList",1,["syn::attr::MetaList"]],["impl RefUnwindSafe for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl RefUnwindSafe for NestedMeta",1,["syn::attr::NestedMeta"]],["impl RefUnwindSafe for Variant",1,["syn::data::Variant"]],["impl RefUnwindSafe for Fields",1,["syn::data::Fields"]],["impl RefUnwindSafe for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl RefUnwindSafe for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl RefUnwindSafe for Field",1,["syn::data::Field"]],["impl RefUnwindSafe for Visibility",1,["syn::data::Visibility"]],["impl RefUnwindSafe for VisPublic",1,["syn::data::VisPublic"]],["impl RefUnwindSafe for VisCrate",1,["syn::data::VisCrate"]],["impl RefUnwindSafe for VisRestricted",1,["syn::data::VisRestricted"]],["impl RefUnwindSafe for Expr",1,["syn::expr::Expr"]],["impl RefUnwindSafe for ExprArray",1,["syn::expr::ExprArray"]],["impl RefUnwindSafe for ExprAssign",1,["syn::expr::ExprAssign"]],["impl RefUnwindSafe for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl RefUnwindSafe for ExprAsync",1,["syn::expr::ExprAsync"]],["impl RefUnwindSafe for ExprAwait",1,["syn::expr::ExprAwait"]],["impl RefUnwindSafe for ExprBinary",1,["syn::expr::ExprBinary"]],["impl RefUnwindSafe for ExprBlock",1,["syn::expr::ExprBlock"]],["impl RefUnwindSafe for ExprBox",1,["syn::expr::ExprBox"]],["impl RefUnwindSafe for ExprBreak",1,["syn::expr::ExprBreak"]],["impl RefUnwindSafe for ExprCall",1,["syn::expr::ExprCall"]],["impl RefUnwindSafe for ExprCast",1,["syn::expr::ExprCast"]],["impl RefUnwindSafe for ExprClosure",1,["syn::expr::ExprClosure"]],["impl RefUnwindSafe for ExprContinue",1,["syn::expr::ExprContinue"]],["impl RefUnwindSafe for ExprField",1,["syn::expr::ExprField"]],["impl RefUnwindSafe for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl RefUnwindSafe for ExprGroup",1,["syn::expr::ExprGroup"]],["impl RefUnwindSafe for ExprIf",1,["syn::expr::ExprIf"]],["impl RefUnwindSafe for ExprIndex",1,["syn::expr::ExprIndex"]],["impl RefUnwindSafe for ExprLet",1,["syn::expr::ExprLet"]],["impl RefUnwindSafe for ExprLit",1,["syn::expr::ExprLit"]],["impl RefUnwindSafe for ExprLoop",1,["syn::expr::ExprLoop"]],["impl RefUnwindSafe for ExprMacro",1,["syn::expr::ExprMacro"]],["impl RefUnwindSafe for ExprMatch",1,["syn::expr::ExprMatch"]],["impl RefUnwindSafe for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl RefUnwindSafe for ExprParen",1,["syn::expr::ExprParen"]],["impl RefUnwindSafe for ExprPath",1,["syn::expr::ExprPath"]],["impl RefUnwindSafe for ExprRange",1,["syn::expr::ExprRange"]],["impl RefUnwindSafe for ExprReference",1,["syn::expr::ExprReference"]],["impl RefUnwindSafe for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl RefUnwindSafe for ExprReturn",1,["syn::expr::ExprReturn"]],["impl RefUnwindSafe for ExprStruct",1,["syn::expr::ExprStruct"]],["impl RefUnwindSafe for ExprTry",1,["syn::expr::ExprTry"]],["impl RefUnwindSafe for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl RefUnwindSafe for ExprTuple",1,["syn::expr::ExprTuple"]],["impl RefUnwindSafe for ExprType",1,["syn::expr::ExprType"]],["impl RefUnwindSafe for ExprUnary",1,["syn::expr::ExprUnary"]],["impl RefUnwindSafe for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl RefUnwindSafe for ExprWhile",1,["syn::expr::ExprWhile"]],["impl RefUnwindSafe for ExprYield",1,["syn::expr::ExprYield"]],["impl RefUnwindSafe for Member",1,["syn::expr::Member"]],["impl RefUnwindSafe for Index",1,["syn::expr::Index"]],["impl RefUnwindSafe for Generics",1,["syn::generics::Generics"]],["impl RefUnwindSafe for GenericParam",1,["syn::generics::GenericParam"]],["impl RefUnwindSafe for TypeParam",1,["syn::generics::TypeParam"]],["impl RefUnwindSafe for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl RefUnwindSafe for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> RefUnwindSafe for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> RefUnwindSafe for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> RefUnwindSafe for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl RefUnwindSafe for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl RefUnwindSafe for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl RefUnwindSafe for TraitBound",1,["syn::generics::TraitBound"]],["impl RefUnwindSafe for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl RefUnwindSafe for WhereClause",1,["syn::generics::WhereClause"]],["impl RefUnwindSafe for WherePredicate",1,["syn::generics::WherePredicate"]],["impl RefUnwindSafe for PredicateType",1,["syn::generics::PredicateType"]],["impl RefUnwindSafe for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl RefUnwindSafe for PredicateEq",1,["syn::generics::PredicateEq"]],["impl RefUnwindSafe for Lifetime",1,["syn::lifetime::Lifetime"]],["impl RefUnwindSafe for Lit",1,["syn::lit::Lit"]],["impl RefUnwindSafe for LitStr",1,["syn::lit::LitStr"]],["impl RefUnwindSafe for LitByteStr",1,["syn::lit::LitByteStr"]],["impl RefUnwindSafe for LitByte",1,["syn::lit::LitByte"]],["impl RefUnwindSafe for LitChar",1,["syn::lit::LitChar"]],["impl RefUnwindSafe for LitInt",1,["syn::lit::LitInt"]],["impl RefUnwindSafe for LitFloat",1,["syn::lit::LitFloat"]],["impl RefUnwindSafe for LitBool",1,["syn::lit::LitBool"]],["impl RefUnwindSafe for StrStyle",1,["syn::lit::StrStyle"]],["impl RefUnwindSafe for Macro",1,["syn::mac::Macro"]],["impl RefUnwindSafe for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl RefUnwindSafe for DeriveInput",1,["syn::derive::DeriveInput"]],["impl RefUnwindSafe for Data",1,["syn::derive::Data"]],["impl RefUnwindSafe for DataStruct",1,["syn::derive::DataStruct"]],["impl RefUnwindSafe for DataEnum",1,["syn::derive::DataEnum"]],["impl RefUnwindSafe for DataUnion",1,["syn::derive::DataUnion"]],["impl RefUnwindSafe for BinOp",1,["syn::op::BinOp"]],["impl RefUnwindSafe for UnOp",1,["syn::op::UnOp"]],["impl RefUnwindSafe for Type",1,["syn::ty::Type"]],["impl RefUnwindSafe for TypeArray",1,["syn::ty::TypeArray"]],["impl RefUnwindSafe for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl RefUnwindSafe for TypeGroup",1,["syn::ty::TypeGroup"]],["impl RefUnwindSafe for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl RefUnwindSafe for TypeInfer",1,["syn::ty::TypeInfer"]],["impl RefUnwindSafe for TypeMacro",1,["syn::ty::TypeMacro"]],["impl RefUnwindSafe for TypeNever",1,["syn::ty::TypeNever"]],["impl RefUnwindSafe for TypeParen",1,["syn::ty::TypeParen"]],["impl RefUnwindSafe for TypePath",1,["syn::ty::TypePath"]],["impl RefUnwindSafe for TypePtr",1,["syn::ty::TypePtr"]],["impl RefUnwindSafe for TypeReference",1,["syn::ty::TypeReference"]],["impl RefUnwindSafe for TypeSlice",1,["syn::ty::TypeSlice"]],["impl RefUnwindSafe for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl RefUnwindSafe for TypeTuple",1,["syn::ty::TypeTuple"]],["impl RefUnwindSafe for Abi",1,["syn::ty::Abi"]],["impl RefUnwindSafe for BareFnArg",1,["syn::ty::BareFnArg"]],["impl RefUnwindSafe for Variadic",1,["syn::ty::Variadic"]],["impl RefUnwindSafe for ReturnType",1,["syn::ty::ReturnType"]],["impl RefUnwindSafe for Path",1,["syn::path::Path"]],["impl RefUnwindSafe for PathSegment",1,["syn::path::PathSegment"]],["impl RefUnwindSafe for PathArguments",1,["syn::path::PathArguments"]],["impl RefUnwindSafe for GenericArgument",1,["syn::path::GenericArgument"]],["impl RefUnwindSafe for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl RefUnwindSafe for Binding",1,["syn::path::Binding"]],["impl RefUnwindSafe for Constraint",1,["syn::path::Constraint"]],["impl RefUnwindSafe for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl RefUnwindSafe for QSelf",1,["syn::path::QSelf"]],["impl RefUnwindSafe for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> RefUnwindSafe for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> RefUnwindSafe for Punctuated<T, P>where\n P: RefUnwindSafe,\n T: RefUnwindSafe,",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> RefUnwindSafe for Pairs<'a, T, P>where\n P: RefUnwindSafe,\n T: RefUnwindSafe,",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> RefUnwindSafe for PairsMut<'a, T, P>where\n P: RefUnwindSafe,\n T: RefUnwindSafe,",1,["syn::punctuated::PairsMut"]],["impl<T, P> RefUnwindSafe for IntoPairs<T, P>where\n P: RefUnwindSafe,\n T: RefUnwindSafe,",1,["syn::punctuated::IntoPairs"]],["impl<T> RefUnwindSafe for IntoIter<T>where\n T: RefUnwindSafe,",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !RefUnwindSafe for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !RefUnwindSafe for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> RefUnwindSafe for Pair<T, P>where\n P: RefUnwindSafe,\n T: RefUnwindSafe,",1,["syn::punctuated::Pair"]],["impl<'a> !RefUnwindSafe for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl RefUnwindSafe for Error",1,["syn::error::Error"]],["impl<'a> !RefUnwindSafe for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> RefUnwindSafe for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl RefUnwindSafe for Nothing",1,["syn::parse::Nothing"]]], +"synstructure":[["impl RefUnwindSafe for AddBounds",1,["synstructure::AddBounds"]],["impl RefUnwindSafe for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> RefUnwindSafe for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> RefUnwindSafe for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> RefUnwindSafe for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> RefUnwindSafe for Structure<'a>",1,["synstructure::Structure"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index dbce3d1..31b2b78 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,8 +1,8 @@ (function() {var implementors = { -"delog":[["impl UnwindSafe for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> UnwindSafe for HexStr<'a, T, U, S>where
    S: UnwindSafe,
    T: RefUnwindSafe,
    U: UnwindSafe,
",1,["delog::hex::HexStr"]],["impl UnwindSafe for Statistics",1,["delog::logger::Statistics"]],["impl UnwindSafe for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl UnwindSafe for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], -"flexiber":[["impl<'a> UnwindSafe for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> !UnwindSafe for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl UnwindSafe for Error",1,["flexiber::error::Error"]],["impl UnwindSafe for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl UnwindSafe for Length",1,["flexiber::length::Length"]],["impl UnwindSafe for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> UnwindSafe for Slice<'a>",1,["flexiber::slice::Slice"]],["impl UnwindSafe for Class",1,["flexiber::tag::Class"]],["impl UnwindSafe for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> UnwindSafe for TaggedValue<V, T>where
    T: UnwindSafe,
    V: UnwindSafe,
",1,["flexiber::tagged::TaggedValue"]]], -"log":[["impl UnwindSafe for Level",1,["log::Level"]],["impl UnwindSafe for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !UnwindSafe for Record<'a>",1,["log::Record"]],["impl<'a> !UnwindSafe for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> UnwindSafe for Metadata<'a>",1,["log::Metadata"]],["impl<'a> UnwindSafe for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl UnwindSafe for SetLoggerError",1,["log::SetLoggerError"]],["impl UnwindSafe for ParseLevelError",1,["log::ParseLevelError"]]], -"proc_macro2":[["impl UnwindSafe for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl UnwindSafe for TokenStream",1,["proc_macro2::TokenStream"]],["impl UnwindSafe for LexError",1,["proc_macro2::LexError"]],["impl UnwindSafe for Span",1,["proc_macro2::Span"]],["impl UnwindSafe for TokenTree",1,["proc_macro2::TokenTree"]],["impl UnwindSafe for Group",1,["proc_macro2::Group"]],["impl UnwindSafe for Delimiter",1,["proc_macro2::Delimiter"]],["impl UnwindSafe for Punct",1,["proc_macro2::Punct"]],["impl UnwindSafe for Spacing",1,["proc_macro2::Spacing"]],["impl UnwindSafe for Ident",1,["proc_macro2::Ident"]],["impl UnwindSafe for Literal",1,["proc_macro2::Literal"]]], -"syn":[["impl UnwindSafe for Underscore",1,["syn::token::Underscore"]],["impl UnwindSafe for Abstract",1,["syn::token::Abstract"]],["impl UnwindSafe for As",1,["syn::token::As"]],["impl UnwindSafe for Async",1,["syn::token::Async"]],["impl UnwindSafe for Auto",1,["syn::token::Auto"]],["impl UnwindSafe for Await",1,["syn::token::Await"]],["impl UnwindSafe for Become",1,["syn::token::Become"]],["impl UnwindSafe for Box",1,["syn::token::Box"]],["impl UnwindSafe for Break",1,["syn::token::Break"]],["impl UnwindSafe for Const",1,["syn::token::Const"]],["impl UnwindSafe for Continue",1,["syn::token::Continue"]],["impl UnwindSafe for Crate",1,["syn::token::Crate"]],["impl UnwindSafe for Default",1,["syn::token::Default"]],["impl UnwindSafe for Do",1,["syn::token::Do"]],["impl UnwindSafe for Dyn",1,["syn::token::Dyn"]],["impl UnwindSafe for Else",1,["syn::token::Else"]],["impl UnwindSafe for Enum",1,["syn::token::Enum"]],["impl UnwindSafe for Extern",1,["syn::token::Extern"]],["impl UnwindSafe for Final",1,["syn::token::Final"]],["impl UnwindSafe for Fn",1,["syn::token::Fn"]],["impl UnwindSafe for For",1,["syn::token::For"]],["impl UnwindSafe for If",1,["syn::token::If"]],["impl UnwindSafe for Impl",1,["syn::token::Impl"]],["impl UnwindSafe for In",1,["syn::token::In"]],["impl UnwindSafe for Let",1,["syn::token::Let"]],["impl UnwindSafe for Loop",1,["syn::token::Loop"]],["impl UnwindSafe for Macro",1,["syn::token::Macro"]],["impl UnwindSafe for Match",1,["syn::token::Match"]],["impl UnwindSafe for Mod",1,["syn::token::Mod"]],["impl UnwindSafe for Move",1,["syn::token::Move"]],["impl UnwindSafe for Mut",1,["syn::token::Mut"]],["impl UnwindSafe for Override",1,["syn::token::Override"]],["impl UnwindSafe for Priv",1,["syn::token::Priv"]],["impl UnwindSafe for Pub",1,["syn::token::Pub"]],["impl UnwindSafe for Ref",1,["syn::token::Ref"]],["impl UnwindSafe for Return",1,["syn::token::Return"]],["impl UnwindSafe for SelfType",1,["syn::token::SelfType"]],["impl UnwindSafe for SelfValue",1,["syn::token::SelfValue"]],["impl UnwindSafe for Static",1,["syn::token::Static"]],["impl UnwindSafe for Struct",1,["syn::token::Struct"]],["impl UnwindSafe for Super",1,["syn::token::Super"]],["impl UnwindSafe for Trait",1,["syn::token::Trait"]],["impl UnwindSafe for Try",1,["syn::token::Try"]],["impl UnwindSafe for Type",1,["syn::token::Type"]],["impl UnwindSafe for Typeof",1,["syn::token::Typeof"]],["impl UnwindSafe for Union",1,["syn::token::Union"]],["impl UnwindSafe for Unsafe",1,["syn::token::Unsafe"]],["impl UnwindSafe for Unsized",1,["syn::token::Unsized"]],["impl UnwindSafe for Use",1,["syn::token::Use"]],["impl UnwindSafe for Virtual",1,["syn::token::Virtual"]],["impl UnwindSafe for Where",1,["syn::token::Where"]],["impl UnwindSafe for While",1,["syn::token::While"]],["impl UnwindSafe for Yield",1,["syn::token::Yield"]],["impl UnwindSafe for Add",1,["syn::token::Add"]],["impl UnwindSafe for AddEq",1,["syn::token::AddEq"]],["impl UnwindSafe for And",1,["syn::token::And"]],["impl UnwindSafe for AndAnd",1,["syn::token::AndAnd"]],["impl UnwindSafe for AndEq",1,["syn::token::AndEq"]],["impl UnwindSafe for At",1,["syn::token::At"]],["impl UnwindSafe for Bang",1,["syn::token::Bang"]],["impl UnwindSafe for Caret",1,["syn::token::Caret"]],["impl UnwindSafe for CaretEq",1,["syn::token::CaretEq"]],["impl UnwindSafe for Colon",1,["syn::token::Colon"]],["impl UnwindSafe for Colon2",1,["syn::token::Colon2"]],["impl UnwindSafe for Comma",1,["syn::token::Comma"]],["impl UnwindSafe for Div",1,["syn::token::Div"]],["impl UnwindSafe for DivEq",1,["syn::token::DivEq"]],["impl UnwindSafe for Dollar",1,["syn::token::Dollar"]],["impl UnwindSafe for Dot",1,["syn::token::Dot"]],["impl UnwindSafe for Dot2",1,["syn::token::Dot2"]],["impl UnwindSafe for Dot3",1,["syn::token::Dot3"]],["impl UnwindSafe for DotDotEq",1,["syn::token::DotDotEq"]],["impl UnwindSafe for Eq",1,["syn::token::Eq"]],["impl UnwindSafe for EqEq",1,["syn::token::EqEq"]],["impl UnwindSafe for Ge",1,["syn::token::Ge"]],["impl UnwindSafe for Gt",1,["syn::token::Gt"]],["impl UnwindSafe for Le",1,["syn::token::Le"]],["impl UnwindSafe for Lt",1,["syn::token::Lt"]],["impl UnwindSafe for MulEq",1,["syn::token::MulEq"]],["impl UnwindSafe for Ne",1,["syn::token::Ne"]],["impl UnwindSafe for Or",1,["syn::token::Or"]],["impl UnwindSafe for OrEq",1,["syn::token::OrEq"]],["impl UnwindSafe for OrOr",1,["syn::token::OrOr"]],["impl UnwindSafe for Pound",1,["syn::token::Pound"]],["impl UnwindSafe for Question",1,["syn::token::Question"]],["impl UnwindSafe for RArrow",1,["syn::token::RArrow"]],["impl UnwindSafe for LArrow",1,["syn::token::LArrow"]],["impl UnwindSafe for Rem",1,["syn::token::Rem"]],["impl UnwindSafe for RemEq",1,["syn::token::RemEq"]],["impl UnwindSafe for FatArrow",1,["syn::token::FatArrow"]],["impl UnwindSafe for Semi",1,["syn::token::Semi"]],["impl UnwindSafe for Shl",1,["syn::token::Shl"]],["impl UnwindSafe for ShlEq",1,["syn::token::ShlEq"]],["impl UnwindSafe for Shr",1,["syn::token::Shr"]],["impl UnwindSafe for ShrEq",1,["syn::token::ShrEq"]],["impl UnwindSafe for Star",1,["syn::token::Star"]],["impl UnwindSafe for Sub",1,["syn::token::Sub"]],["impl UnwindSafe for SubEq",1,["syn::token::SubEq"]],["impl UnwindSafe for Tilde",1,["syn::token::Tilde"]],["impl UnwindSafe for Brace",1,["syn::token::Brace"]],["impl UnwindSafe for Bracket",1,["syn::token::Bracket"]],["impl UnwindSafe for Paren",1,["syn::token::Paren"]],["impl UnwindSafe for Group",1,["syn::token::Group"]],["impl UnwindSafe for Attribute",1,["syn::attr::Attribute"]],["impl UnwindSafe for AttrStyle",1,["syn::attr::AttrStyle"]],["impl UnwindSafe for Meta",1,["syn::attr::Meta"]],["impl UnwindSafe for MetaList",1,["syn::attr::MetaList"]],["impl UnwindSafe for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl UnwindSafe for NestedMeta",1,["syn::attr::NestedMeta"]],["impl UnwindSafe for Variant",1,["syn::data::Variant"]],["impl UnwindSafe for Fields",1,["syn::data::Fields"]],["impl UnwindSafe for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl UnwindSafe for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl UnwindSafe for Field",1,["syn::data::Field"]],["impl UnwindSafe for Visibility",1,["syn::data::Visibility"]],["impl UnwindSafe for VisPublic",1,["syn::data::VisPublic"]],["impl UnwindSafe for VisCrate",1,["syn::data::VisCrate"]],["impl UnwindSafe for VisRestricted",1,["syn::data::VisRestricted"]],["impl UnwindSafe for Expr",1,["syn::expr::Expr"]],["impl UnwindSafe for ExprArray",1,["syn::expr::ExprArray"]],["impl UnwindSafe for ExprAssign",1,["syn::expr::ExprAssign"]],["impl UnwindSafe for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl UnwindSafe for ExprAsync",1,["syn::expr::ExprAsync"]],["impl UnwindSafe for ExprAwait",1,["syn::expr::ExprAwait"]],["impl UnwindSafe for ExprBinary",1,["syn::expr::ExprBinary"]],["impl UnwindSafe for ExprBlock",1,["syn::expr::ExprBlock"]],["impl UnwindSafe for ExprBox",1,["syn::expr::ExprBox"]],["impl UnwindSafe for ExprBreak",1,["syn::expr::ExprBreak"]],["impl UnwindSafe for ExprCall",1,["syn::expr::ExprCall"]],["impl UnwindSafe for ExprCast",1,["syn::expr::ExprCast"]],["impl UnwindSafe for ExprClosure",1,["syn::expr::ExprClosure"]],["impl UnwindSafe for ExprContinue",1,["syn::expr::ExprContinue"]],["impl UnwindSafe for ExprField",1,["syn::expr::ExprField"]],["impl UnwindSafe for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl UnwindSafe for ExprGroup",1,["syn::expr::ExprGroup"]],["impl UnwindSafe for ExprIf",1,["syn::expr::ExprIf"]],["impl UnwindSafe for ExprIndex",1,["syn::expr::ExprIndex"]],["impl UnwindSafe for ExprLet",1,["syn::expr::ExprLet"]],["impl UnwindSafe for ExprLit",1,["syn::expr::ExprLit"]],["impl UnwindSafe for ExprLoop",1,["syn::expr::ExprLoop"]],["impl UnwindSafe for ExprMacro",1,["syn::expr::ExprMacro"]],["impl UnwindSafe for ExprMatch",1,["syn::expr::ExprMatch"]],["impl UnwindSafe for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl UnwindSafe for ExprParen",1,["syn::expr::ExprParen"]],["impl UnwindSafe for ExprPath",1,["syn::expr::ExprPath"]],["impl UnwindSafe for ExprRange",1,["syn::expr::ExprRange"]],["impl UnwindSafe for ExprReference",1,["syn::expr::ExprReference"]],["impl UnwindSafe for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl UnwindSafe for ExprReturn",1,["syn::expr::ExprReturn"]],["impl UnwindSafe for ExprStruct",1,["syn::expr::ExprStruct"]],["impl UnwindSafe for ExprTry",1,["syn::expr::ExprTry"]],["impl UnwindSafe for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl UnwindSafe for ExprTuple",1,["syn::expr::ExprTuple"]],["impl UnwindSafe for ExprType",1,["syn::expr::ExprType"]],["impl UnwindSafe for ExprUnary",1,["syn::expr::ExprUnary"]],["impl UnwindSafe for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl UnwindSafe for ExprWhile",1,["syn::expr::ExprWhile"]],["impl UnwindSafe for ExprYield",1,["syn::expr::ExprYield"]],["impl UnwindSafe for Member",1,["syn::expr::Member"]],["impl UnwindSafe for Index",1,["syn::expr::Index"]],["impl UnwindSafe for Generics",1,["syn::generics::Generics"]],["impl UnwindSafe for GenericParam",1,["syn::generics::GenericParam"]],["impl UnwindSafe for TypeParam",1,["syn::generics::TypeParam"]],["impl UnwindSafe for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl UnwindSafe for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> UnwindSafe for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> UnwindSafe for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> UnwindSafe for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl UnwindSafe for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl UnwindSafe for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl UnwindSafe for TraitBound",1,["syn::generics::TraitBound"]],["impl UnwindSafe for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl UnwindSafe for WhereClause",1,["syn::generics::WhereClause"]],["impl UnwindSafe for WherePredicate",1,["syn::generics::WherePredicate"]],["impl UnwindSafe for PredicateType",1,["syn::generics::PredicateType"]],["impl UnwindSafe for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl UnwindSafe for PredicateEq",1,["syn::generics::PredicateEq"]],["impl UnwindSafe for Lifetime",1,["syn::lifetime::Lifetime"]],["impl UnwindSafe for Lit",1,["syn::lit::Lit"]],["impl UnwindSafe for LitStr",1,["syn::lit::LitStr"]],["impl UnwindSafe for LitByteStr",1,["syn::lit::LitByteStr"]],["impl UnwindSafe for LitByte",1,["syn::lit::LitByte"]],["impl UnwindSafe for LitChar",1,["syn::lit::LitChar"]],["impl UnwindSafe for LitInt",1,["syn::lit::LitInt"]],["impl UnwindSafe for LitFloat",1,["syn::lit::LitFloat"]],["impl UnwindSafe for LitBool",1,["syn::lit::LitBool"]],["impl UnwindSafe for StrStyle",1,["syn::lit::StrStyle"]],["impl UnwindSafe for Macro",1,["syn::mac::Macro"]],["impl UnwindSafe for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl UnwindSafe for DeriveInput",1,["syn::derive::DeriveInput"]],["impl UnwindSafe for Data",1,["syn::derive::Data"]],["impl UnwindSafe for DataStruct",1,["syn::derive::DataStruct"]],["impl UnwindSafe for DataEnum",1,["syn::derive::DataEnum"]],["impl UnwindSafe for DataUnion",1,["syn::derive::DataUnion"]],["impl UnwindSafe for BinOp",1,["syn::op::BinOp"]],["impl UnwindSafe for UnOp",1,["syn::op::UnOp"]],["impl UnwindSafe for Type",1,["syn::ty::Type"]],["impl UnwindSafe for TypeArray",1,["syn::ty::TypeArray"]],["impl UnwindSafe for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl UnwindSafe for TypeGroup",1,["syn::ty::TypeGroup"]],["impl UnwindSafe for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl UnwindSafe for TypeInfer",1,["syn::ty::TypeInfer"]],["impl UnwindSafe for TypeMacro",1,["syn::ty::TypeMacro"]],["impl UnwindSafe for TypeNever",1,["syn::ty::TypeNever"]],["impl UnwindSafe for TypeParen",1,["syn::ty::TypeParen"]],["impl UnwindSafe for TypePath",1,["syn::ty::TypePath"]],["impl UnwindSafe for TypePtr",1,["syn::ty::TypePtr"]],["impl UnwindSafe for TypeReference",1,["syn::ty::TypeReference"]],["impl UnwindSafe for TypeSlice",1,["syn::ty::TypeSlice"]],["impl UnwindSafe for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl UnwindSafe for TypeTuple",1,["syn::ty::TypeTuple"]],["impl UnwindSafe for Abi",1,["syn::ty::Abi"]],["impl UnwindSafe for BareFnArg",1,["syn::ty::BareFnArg"]],["impl UnwindSafe for Variadic",1,["syn::ty::Variadic"]],["impl UnwindSafe for ReturnType",1,["syn::ty::ReturnType"]],["impl UnwindSafe for Path",1,["syn::path::Path"]],["impl UnwindSafe for PathSegment",1,["syn::path::PathSegment"]],["impl UnwindSafe for PathArguments",1,["syn::path::PathArguments"]],["impl UnwindSafe for GenericArgument",1,["syn::path::GenericArgument"]],["impl UnwindSafe for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl UnwindSafe for Binding",1,["syn::path::Binding"]],["impl UnwindSafe for Constraint",1,["syn::path::Constraint"]],["impl UnwindSafe for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl UnwindSafe for QSelf",1,["syn::path::QSelf"]],["impl UnwindSafe for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> UnwindSafe for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> UnwindSafe for Punctuated<T, P>where
    P: UnwindSafe,
    T: UnwindSafe,
",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> UnwindSafe for Pairs<'a, T, P>where
    P: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> !UnwindSafe for PairsMut<'a, T, P>",1,["syn::punctuated::PairsMut"]],["impl<T, P> UnwindSafe for IntoPairs<T, P>where
    P: UnwindSafe + RefUnwindSafe,
    T: UnwindSafe + RefUnwindSafe,
",1,["syn::punctuated::IntoPairs"]],["impl<T> UnwindSafe for IntoIter<T>where
    T: UnwindSafe + RefUnwindSafe,
",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !UnwindSafe for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !UnwindSafe for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> UnwindSafe for Pair<T, P>where
    P: UnwindSafe,
    T: UnwindSafe,
",1,["syn::punctuated::Pair"]],["impl<'a> UnwindSafe for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl UnwindSafe for Error",1,["syn::error::Error"]],["impl<'a> !UnwindSafe for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> UnwindSafe for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl UnwindSafe for Nothing",1,["syn::parse::Nothing"]]], -"synstructure":[["impl UnwindSafe for AddBounds",1,["synstructure::AddBounds"]],["impl UnwindSafe for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> UnwindSafe for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> UnwindSafe for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> UnwindSafe for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> UnwindSafe for Structure<'a>",1,["synstructure::Structure"]]] +"delog":[["impl UnwindSafe for U1",1,["delog::hex::U1"]],["impl<'a, T: ?Sized, U, S> UnwindSafe for HexStr<'a, T, U, S>where\n S: UnwindSafe,\n T: RefUnwindSafe,\n U: UnwindSafe,",1,["delog::hex::HexStr"]],["impl UnwindSafe for Statistics",1,["delog::logger::Statistics"]],["impl UnwindSafe for DefaultRenderer",1,["delog::render::DefaultRenderer"]],["impl UnwindSafe for RipgrepRenderer",1,["delog::render::RipgrepRenderer"]]], +"flexiber":[["impl<'a> UnwindSafe for Decoder<'a>",1,["flexiber::decoder::Decoder"]],["impl<'a> !UnwindSafe for Encoder<'a>",1,["flexiber::encoder::Encoder"]],["impl UnwindSafe for Error",1,["flexiber::error::Error"]],["impl UnwindSafe for ErrorKind",1,["flexiber::error::ErrorKind"]],["impl UnwindSafe for Length",1,["flexiber::length::Length"]],["impl UnwindSafe for SimpleTag",1,["flexiber::simpletag::SimpleTag"]],["impl<'a> UnwindSafe for Slice<'a>",1,["flexiber::slice::Slice"]],["impl UnwindSafe for Class",1,["flexiber::tag::Class"]],["impl UnwindSafe for Tag",1,["flexiber::tag::Tag"]],["impl<V, T> UnwindSafe for TaggedValue<V, T>where\n T: UnwindSafe,\n V: UnwindSafe,",1,["flexiber::tagged::TaggedValue"]]], +"log":[["impl UnwindSafe for Level",1,["log::Level"]],["impl UnwindSafe for LevelFilter",1,["log::LevelFilter"]],["impl<'a> !UnwindSafe for Record<'a>",1,["log::Record"]],["impl<'a> !UnwindSafe for RecordBuilder<'a>",1,["log::RecordBuilder"]],["impl<'a> UnwindSafe for Metadata<'a>",1,["log::Metadata"]],["impl<'a> UnwindSafe for MetadataBuilder<'a>",1,["log::MetadataBuilder"]],["impl UnwindSafe for SetLoggerError",1,["log::SetLoggerError"]],["impl UnwindSafe for ParseLevelError",1,["log::ParseLevelError"]]], +"proc_macro2":[["impl UnwindSafe for DelimSpan",1,["proc_macro2::extra::DelimSpan"]],["impl UnwindSafe for IntoIter",1,["proc_macro2::token_stream::IntoIter"]],["impl UnwindSafe for TokenStream",1,["proc_macro2::TokenStream"]],["impl UnwindSafe for LexError",1,["proc_macro2::LexError"]],["impl UnwindSafe for Span",1,["proc_macro2::Span"]],["impl UnwindSafe for TokenTree",1,["proc_macro2::TokenTree"]],["impl UnwindSafe for Group",1,["proc_macro2::Group"]],["impl UnwindSafe for Delimiter",1,["proc_macro2::Delimiter"]],["impl UnwindSafe for Punct",1,["proc_macro2::Punct"]],["impl UnwindSafe for Spacing",1,["proc_macro2::Spacing"]],["impl UnwindSafe for Ident",1,["proc_macro2::Ident"]],["impl UnwindSafe for Literal",1,["proc_macro2::Literal"]]], +"syn":[["impl UnwindSafe for Underscore",1,["syn::token::Underscore"]],["impl UnwindSafe for Abstract",1,["syn::token::Abstract"]],["impl UnwindSafe for As",1,["syn::token::As"]],["impl UnwindSafe for Async",1,["syn::token::Async"]],["impl UnwindSafe for Auto",1,["syn::token::Auto"]],["impl UnwindSafe for Await",1,["syn::token::Await"]],["impl UnwindSafe for Become",1,["syn::token::Become"]],["impl UnwindSafe for Box",1,["syn::token::Box"]],["impl UnwindSafe for Break",1,["syn::token::Break"]],["impl UnwindSafe for Const",1,["syn::token::Const"]],["impl UnwindSafe for Continue",1,["syn::token::Continue"]],["impl UnwindSafe for Crate",1,["syn::token::Crate"]],["impl UnwindSafe for Default",1,["syn::token::Default"]],["impl UnwindSafe for Do",1,["syn::token::Do"]],["impl UnwindSafe for Dyn",1,["syn::token::Dyn"]],["impl UnwindSafe for Else",1,["syn::token::Else"]],["impl UnwindSafe for Enum",1,["syn::token::Enum"]],["impl UnwindSafe for Extern",1,["syn::token::Extern"]],["impl UnwindSafe for Final",1,["syn::token::Final"]],["impl UnwindSafe for Fn",1,["syn::token::Fn"]],["impl UnwindSafe for For",1,["syn::token::For"]],["impl UnwindSafe for If",1,["syn::token::If"]],["impl UnwindSafe for Impl",1,["syn::token::Impl"]],["impl UnwindSafe for In",1,["syn::token::In"]],["impl UnwindSafe for Let",1,["syn::token::Let"]],["impl UnwindSafe for Loop",1,["syn::token::Loop"]],["impl UnwindSafe for Macro",1,["syn::token::Macro"]],["impl UnwindSafe for Match",1,["syn::token::Match"]],["impl UnwindSafe for Mod",1,["syn::token::Mod"]],["impl UnwindSafe for Move",1,["syn::token::Move"]],["impl UnwindSafe for Mut",1,["syn::token::Mut"]],["impl UnwindSafe for Override",1,["syn::token::Override"]],["impl UnwindSafe for Priv",1,["syn::token::Priv"]],["impl UnwindSafe for Pub",1,["syn::token::Pub"]],["impl UnwindSafe for Ref",1,["syn::token::Ref"]],["impl UnwindSafe for Return",1,["syn::token::Return"]],["impl UnwindSafe for SelfType",1,["syn::token::SelfType"]],["impl UnwindSafe for SelfValue",1,["syn::token::SelfValue"]],["impl UnwindSafe for Static",1,["syn::token::Static"]],["impl UnwindSafe for Struct",1,["syn::token::Struct"]],["impl UnwindSafe for Super",1,["syn::token::Super"]],["impl UnwindSafe for Trait",1,["syn::token::Trait"]],["impl UnwindSafe for Try",1,["syn::token::Try"]],["impl UnwindSafe for Type",1,["syn::token::Type"]],["impl UnwindSafe for Typeof",1,["syn::token::Typeof"]],["impl UnwindSafe for Union",1,["syn::token::Union"]],["impl UnwindSafe for Unsafe",1,["syn::token::Unsafe"]],["impl UnwindSafe for Unsized",1,["syn::token::Unsized"]],["impl UnwindSafe for Use",1,["syn::token::Use"]],["impl UnwindSafe for Virtual",1,["syn::token::Virtual"]],["impl UnwindSafe for Where",1,["syn::token::Where"]],["impl UnwindSafe for While",1,["syn::token::While"]],["impl UnwindSafe for Yield",1,["syn::token::Yield"]],["impl UnwindSafe for Add",1,["syn::token::Add"]],["impl UnwindSafe for AddEq",1,["syn::token::AddEq"]],["impl UnwindSafe for And",1,["syn::token::And"]],["impl UnwindSafe for AndAnd",1,["syn::token::AndAnd"]],["impl UnwindSafe for AndEq",1,["syn::token::AndEq"]],["impl UnwindSafe for At",1,["syn::token::At"]],["impl UnwindSafe for Bang",1,["syn::token::Bang"]],["impl UnwindSafe for Caret",1,["syn::token::Caret"]],["impl UnwindSafe for CaretEq",1,["syn::token::CaretEq"]],["impl UnwindSafe for Colon",1,["syn::token::Colon"]],["impl UnwindSafe for Colon2",1,["syn::token::Colon2"]],["impl UnwindSafe for Comma",1,["syn::token::Comma"]],["impl UnwindSafe for Div",1,["syn::token::Div"]],["impl UnwindSafe for DivEq",1,["syn::token::DivEq"]],["impl UnwindSafe for Dollar",1,["syn::token::Dollar"]],["impl UnwindSafe for Dot",1,["syn::token::Dot"]],["impl UnwindSafe for Dot2",1,["syn::token::Dot2"]],["impl UnwindSafe for Dot3",1,["syn::token::Dot3"]],["impl UnwindSafe for DotDotEq",1,["syn::token::DotDotEq"]],["impl UnwindSafe for Eq",1,["syn::token::Eq"]],["impl UnwindSafe for EqEq",1,["syn::token::EqEq"]],["impl UnwindSafe for Ge",1,["syn::token::Ge"]],["impl UnwindSafe for Gt",1,["syn::token::Gt"]],["impl UnwindSafe for Le",1,["syn::token::Le"]],["impl UnwindSafe for Lt",1,["syn::token::Lt"]],["impl UnwindSafe for MulEq",1,["syn::token::MulEq"]],["impl UnwindSafe for Ne",1,["syn::token::Ne"]],["impl UnwindSafe for Or",1,["syn::token::Or"]],["impl UnwindSafe for OrEq",1,["syn::token::OrEq"]],["impl UnwindSafe for OrOr",1,["syn::token::OrOr"]],["impl UnwindSafe for Pound",1,["syn::token::Pound"]],["impl UnwindSafe for Question",1,["syn::token::Question"]],["impl UnwindSafe for RArrow",1,["syn::token::RArrow"]],["impl UnwindSafe for LArrow",1,["syn::token::LArrow"]],["impl UnwindSafe for Rem",1,["syn::token::Rem"]],["impl UnwindSafe for RemEq",1,["syn::token::RemEq"]],["impl UnwindSafe for FatArrow",1,["syn::token::FatArrow"]],["impl UnwindSafe for Semi",1,["syn::token::Semi"]],["impl UnwindSafe for Shl",1,["syn::token::Shl"]],["impl UnwindSafe for ShlEq",1,["syn::token::ShlEq"]],["impl UnwindSafe for Shr",1,["syn::token::Shr"]],["impl UnwindSafe for ShrEq",1,["syn::token::ShrEq"]],["impl UnwindSafe for Star",1,["syn::token::Star"]],["impl UnwindSafe for Sub",1,["syn::token::Sub"]],["impl UnwindSafe for SubEq",1,["syn::token::SubEq"]],["impl UnwindSafe for Tilde",1,["syn::token::Tilde"]],["impl UnwindSafe for Brace",1,["syn::token::Brace"]],["impl UnwindSafe for Bracket",1,["syn::token::Bracket"]],["impl UnwindSafe for Paren",1,["syn::token::Paren"]],["impl UnwindSafe for Group",1,["syn::token::Group"]],["impl UnwindSafe for Attribute",1,["syn::attr::Attribute"]],["impl UnwindSafe for AttrStyle",1,["syn::attr::AttrStyle"]],["impl UnwindSafe for Meta",1,["syn::attr::Meta"]],["impl UnwindSafe for MetaList",1,["syn::attr::MetaList"]],["impl UnwindSafe for MetaNameValue",1,["syn::attr::MetaNameValue"]],["impl UnwindSafe for NestedMeta",1,["syn::attr::NestedMeta"]],["impl UnwindSafe for Variant",1,["syn::data::Variant"]],["impl UnwindSafe for Fields",1,["syn::data::Fields"]],["impl UnwindSafe for FieldsNamed",1,["syn::data::FieldsNamed"]],["impl UnwindSafe for FieldsUnnamed",1,["syn::data::FieldsUnnamed"]],["impl UnwindSafe for Field",1,["syn::data::Field"]],["impl UnwindSafe for Visibility",1,["syn::data::Visibility"]],["impl UnwindSafe for VisPublic",1,["syn::data::VisPublic"]],["impl UnwindSafe for VisCrate",1,["syn::data::VisCrate"]],["impl UnwindSafe for VisRestricted",1,["syn::data::VisRestricted"]],["impl UnwindSafe for Expr",1,["syn::expr::Expr"]],["impl UnwindSafe for ExprArray",1,["syn::expr::ExprArray"]],["impl UnwindSafe for ExprAssign",1,["syn::expr::ExprAssign"]],["impl UnwindSafe for ExprAssignOp",1,["syn::expr::ExprAssignOp"]],["impl UnwindSafe for ExprAsync",1,["syn::expr::ExprAsync"]],["impl UnwindSafe for ExprAwait",1,["syn::expr::ExprAwait"]],["impl UnwindSafe for ExprBinary",1,["syn::expr::ExprBinary"]],["impl UnwindSafe for ExprBlock",1,["syn::expr::ExprBlock"]],["impl UnwindSafe for ExprBox",1,["syn::expr::ExprBox"]],["impl UnwindSafe for ExprBreak",1,["syn::expr::ExprBreak"]],["impl UnwindSafe for ExprCall",1,["syn::expr::ExprCall"]],["impl UnwindSafe for ExprCast",1,["syn::expr::ExprCast"]],["impl UnwindSafe for ExprClosure",1,["syn::expr::ExprClosure"]],["impl UnwindSafe for ExprContinue",1,["syn::expr::ExprContinue"]],["impl UnwindSafe for ExprField",1,["syn::expr::ExprField"]],["impl UnwindSafe for ExprForLoop",1,["syn::expr::ExprForLoop"]],["impl UnwindSafe for ExprGroup",1,["syn::expr::ExprGroup"]],["impl UnwindSafe for ExprIf",1,["syn::expr::ExprIf"]],["impl UnwindSafe for ExprIndex",1,["syn::expr::ExprIndex"]],["impl UnwindSafe for ExprLet",1,["syn::expr::ExprLet"]],["impl UnwindSafe for ExprLit",1,["syn::expr::ExprLit"]],["impl UnwindSafe for ExprLoop",1,["syn::expr::ExprLoop"]],["impl UnwindSafe for ExprMacro",1,["syn::expr::ExprMacro"]],["impl UnwindSafe for ExprMatch",1,["syn::expr::ExprMatch"]],["impl UnwindSafe for ExprMethodCall",1,["syn::expr::ExprMethodCall"]],["impl UnwindSafe for ExprParen",1,["syn::expr::ExprParen"]],["impl UnwindSafe for ExprPath",1,["syn::expr::ExprPath"]],["impl UnwindSafe for ExprRange",1,["syn::expr::ExprRange"]],["impl UnwindSafe for ExprReference",1,["syn::expr::ExprReference"]],["impl UnwindSafe for ExprRepeat",1,["syn::expr::ExprRepeat"]],["impl UnwindSafe for ExprReturn",1,["syn::expr::ExprReturn"]],["impl UnwindSafe for ExprStruct",1,["syn::expr::ExprStruct"]],["impl UnwindSafe for ExprTry",1,["syn::expr::ExprTry"]],["impl UnwindSafe for ExprTryBlock",1,["syn::expr::ExprTryBlock"]],["impl UnwindSafe for ExprTuple",1,["syn::expr::ExprTuple"]],["impl UnwindSafe for ExprType",1,["syn::expr::ExprType"]],["impl UnwindSafe for ExprUnary",1,["syn::expr::ExprUnary"]],["impl UnwindSafe for ExprUnsafe",1,["syn::expr::ExprUnsafe"]],["impl UnwindSafe for ExprWhile",1,["syn::expr::ExprWhile"]],["impl UnwindSafe for ExprYield",1,["syn::expr::ExprYield"]],["impl UnwindSafe for Member",1,["syn::expr::Member"]],["impl UnwindSafe for Index",1,["syn::expr::Index"]],["impl UnwindSafe for Generics",1,["syn::generics::Generics"]],["impl UnwindSafe for GenericParam",1,["syn::generics::GenericParam"]],["impl UnwindSafe for TypeParam",1,["syn::generics::TypeParam"]],["impl UnwindSafe for LifetimeDef",1,["syn::generics::LifetimeDef"]],["impl UnwindSafe for ConstParam",1,["syn::generics::ConstParam"]],["impl<'a> UnwindSafe for ImplGenerics<'a>",1,["syn::generics::ImplGenerics"]],["impl<'a> UnwindSafe for TypeGenerics<'a>",1,["syn::generics::TypeGenerics"]],["impl<'a> UnwindSafe for Turbofish<'a>",1,["syn::generics::Turbofish"]],["impl UnwindSafe for BoundLifetimes",1,["syn::generics::BoundLifetimes"]],["impl UnwindSafe for TypeParamBound",1,["syn::generics::TypeParamBound"]],["impl UnwindSafe for TraitBound",1,["syn::generics::TraitBound"]],["impl UnwindSafe for TraitBoundModifier",1,["syn::generics::TraitBoundModifier"]],["impl UnwindSafe for WhereClause",1,["syn::generics::WhereClause"]],["impl UnwindSafe for WherePredicate",1,["syn::generics::WherePredicate"]],["impl UnwindSafe for PredicateType",1,["syn::generics::PredicateType"]],["impl UnwindSafe for PredicateLifetime",1,["syn::generics::PredicateLifetime"]],["impl UnwindSafe for PredicateEq",1,["syn::generics::PredicateEq"]],["impl UnwindSafe for Lifetime",1,["syn::lifetime::Lifetime"]],["impl UnwindSafe for Lit",1,["syn::lit::Lit"]],["impl UnwindSafe for LitStr",1,["syn::lit::LitStr"]],["impl UnwindSafe for LitByteStr",1,["syn::lit::LitByteStr"]],["impl UnwindSafe for LitByte",1,["syn::lit::LitByte"]],["impl UnwindSafe for LitChar",1,["syn::lit::LitChar"]],["impl UnwindSafe for LitInt",1,["syn::lit::LitInt"]],["impl UnwindSafe for LitFloat",1,["syn::lit::LitFloat"]],["impl UnwindSafe for LitBool",1,["syn::lit::LitBool"]],["impl UnwindSafe for StrStyle",1,["syn::lit::StrStyle"]],["impl UnwindSafe for Macro",1,["syn::mac::Macro"]],["impl UnwindSafe for MacroDelimiter",1,["syn::mac::MacroDelimiter"]],["impl UnwindSafe for DeriveInput",1,["syn::derive::DeriveInput"]],["impl UnwindSafe for Data",1,["syn::derive::Data"]],["impl UnwindSafe for DataStruct",1,["syn::derive::DataStruct"]],["impl UnwindSafe for DataEnum",1,["syn::derive::DataEnum"]],["impl UnwindSafe for DataUnion",1,["syn::derive::DataUnion"]],["impl UnwindSafe for BinOp",1,["syn::op::BinOp"]],["impl UnwindSafe for UnOp",1,["syn::op::UnOp"]],["impl UnwindSafe for Type",1,["syn::ty::Type"]],["impl UnwindSafe for TypeArray",1,["syn::ty::TypeArray"]],["impl UnwindSafe for TypeBareFn",1,["syn::ty::TypeBareFn"]],["impl UnwindSafe for TypeGroup",1,["syn::ty::TypeGroup"]],["impl UnwindSafe for TypeImplTrait",1,["syn::ty::TypeImplTrait"]],["impl UnwindSafe for TypeInfer",1,["syn::ty::TypeInfer"]],["impl UnwindSafe for TypeMacro",1,["syn::ty::TypeMacro"]],["impl UnwindSafe for TypeNever",1,["syn::ty::TypeNever"]],["impl UnwindSafe for TypeParen",1,["syn::ty::TypeParen"]],["impl UnwindSafe for TypePath",1,["syn::ty::TypePath"]],["impl UnwindSafe for TypePtr",1,["syn::ty::TypePtr"]],["impl UnwindSafe for TypeReference",1,["syn::ty::TypeReference"]],["impl UnwindSafe for TypeSlice",1,["syn::ty::TypeSlice"]],["impl UnwindSafe for TypeTraitObject",1,["syn::ty::TypeTraitObject"]],["impl UnwindSafe for TypeTuple",1,["syn::ty::TypeTuple"]],["impl UnwindSafe for Abi",1,["syn::ty::Abi"]],["impl UnwindSafe for BareFnArg",1,["syn::ty::BareFnArg"]],["impl UnwindSafe for Variadic",1,["syn::ty::Variadic"]],["impl UnwindSafe for ReturnType",1,["syn::ty::ReturnType"]],["impl UnwindSafe for Path",1,["syn::path::Path"]],["impl UnwindSafe for PathSegment",1,["syn::path::PathSegment"]],["impl UnwindSafe for PathArguments",1,["syn::path::PathArguments"]],["impl UnwindSafe for GenericArgument",1,["syn::path::GenericArgument"]],["impl UnwindSafe for AngleBracketedGenericArguments",1,["syn::path::AngleBracketedGenericArguments"]],["impl UnwindSafe for Binding",1,["syn::path::Binding"]],["impl UnwindSafe for Constraint",1,["syn::path::Constraint"]],["impl UnwindSafe for ParenthesizedGenericArguments",1,["syn::path::ParenthesizedGenericArguments"]],["impl UnwindSafe for QSelf",1,["syn::path::QSelf"]],["impl UnwindSafe for TokenBuffer",1,["syn::buffer::TokenBuffer"]],["impl<'a> UnwindSafe for Cursor<'a>",1,["syn::buffer::Cursor"]],["impl<T, P> UnwindSafe for Punctuated<T, P>where\n P: UnwindSafe,\n T: UnwindSafe,",1,["syn::punctuated::Punctuated"]],["impl<'a, T, P> UnwindSafe for Pairs<'a, T, P>where\n P: RefUnwindSafe,\n T: RefUnwindSafe,",1,["syn::punctuated::Pairs"]],["impl<'a, T, P> !UnwindSafe for PairsMut<'a, T, P>",1,["syn::punctuated::PairsMut"]],["impl<T, P> UnwindSafe for IntoPairs<T, P>where\n P: UnwindSafe + RefUnwindSafe,\n T: UnwindSafe + RefUnwindSafe,",1,["syn::punctuated::IntoPairs"]],["impl<T> UnwindSafe for IntoIter<T>where\n T: UnwindSafe + RefUnwindSafe,",1,["syn::punctuated::IntoIter"]],["impl<'a, T> !UnwindSafe for Iter<'a, T>",1,["syn::punctuated::Iter"]],["impl<'a, T> !UnwindSafe for IterMut<'a, T>",1,["syn::punctuated::IterMut"]],["impl<T, P> UnwindSafe for Pair<T, P>where\n P: UnwindSafe,\n T: UnwindSafe,",1,["syn::punctuated::Pair"]],["impl<'a> UnwindSafe for Lookahead1<'a>",1,["syn::lookahead::Lookahead1"]],["impl UnwindSafe for Error",1,["syn::error::Error"]],["impl<'a> !UnwindSafe for ParseBuffer<'a>",1,["syn::parse::ParseBuffer"]],["impl<'c, 'a> UnwindSafe for StepCursor<'c, 'a>",1,["syn::parse::StepCursor"]],["impl UnwindSafe for Nothing",1,["syn::parse::Nothing"]]], +"synstructure":[["impl UnwindSafe for AddBounds",1,["synstructure::AddBounds"]],["impl UnwindSafe for BindStyle",1,["synstructure::BindStyle"]],["impl<'a> UnwindSafe for BindingInfo<'a>",1,["synstructure::BindingInfo"]],["impl<'a> UnwindSafe for VariantAst<'a>",1,["synstructure::VariantAst"]],["impl<'a> UnwindSafe for VariantInfo<'a>",1,["synstructure::VariantInfo"]],["impl<'a> UnwindSafe for Structure<'a>",1,["synstructure::Structure"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/str/traits/trait.FromStr.js b/implementors/core/str/traits/trait.FromStr.js index b7b2a2e..3b97a3c 100644 --- a/implementors/core/str/traits/trait.FromStr.js +++ b/implementors/core/str/traits/trait.FromStr.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"log":[["impl FromStr for Level"],["impl FromStr for LevelFilter"]], -"proc_macro2":[["impl FromStr for TokenStream"],["impl FromStr for Literal"]] +"log":[["impl FromStr for Level"],["impl FromStr for LevelFilter"]], +"proc_macro2":[["impl FromStr for TokenStream"],["impl FromStr for Literal"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/quote/ident_fragment/trait.IdentFragment.js b/implementors/quote/ident_fragment/trait.IdentFragment.js index 27db79d..ee4dddc 100644 --- a/implementors/quote/ident_fragment/trait.IdentFragment.js +++ b/implementors/quote/ident_fragment/trait.IdentFragment.js @@ -1,4 +1,4 @@ (function() {var implementors = { "quote":[], -"syn":[["impl IdentFragment for Member"],["impl IdentFragment for Index"]] +"syn":[["impl IdentFragment for Index"],["impl IdentFragment for Member"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/quote/to_tokens/trait.ToTokens.js b/implementors/quote/to_tokens/trait.ToTokens.js index 3f95081..a84501d 100644 --- a/implementors/quote/to_tokens/trait.ToTokens.js +++ b/implementors/quote/to_tokens/trait.ToTokens.js @@ -1,5 +1,5 @@ (function() {var implementors = { "quote":[], -"syn":[["impl ToTokens for Underscore"],["impl ToTokens for Abstract"],["impl ToTokens for As"],["impl ToTokens for Async"],["impl ToTokens for Auto"],["impl ToTokens for Await"],["impl ToTokens for Become"],["impl ToTokens for Box"],["impl ToTokens for Break"],["impl ToTokens for Const"],["impl ToTokens for Continue"],["impl ToTokens for Crate"],["impl ToTokens for Default"],["impl ToTokens for Do"],["impl ToTokens for Dyn"],["impl ToTokens for Else"],["impl ToTokens for Enum"],["impl ToTokens for Extern"],["impl ToTokens for Final"],["impl ToTokens for Fn"],["impl ToTokens for For"],["impl ToTokens for If"],["impl ToTokens for Impl"],["impl ToTokens for In"],["impl ToTokens for Let"],["impl ToTokens for Loop"],["impl ToTokens for Macro"],["impl ToTokens for Match"],["impl ToTokens for Mod"],["impl ToTokens for Move"],["impl ToTokens for Mut"],["impl ToTokens for Override"],["impl ToTokens for Priv"],["impl ToTokens for Pub"],["impl ToTokens for Ref"],["impl ToTokens for Return"],["impl ToTokens for SelfType"],["impl ToTokens for SelfValue"],["impl ToTokens for Static"],["impl ToTokens for Struct"],["impl ToTokens for Super"],["impl ToTokens for Trait"],["impl ToTokens for Try"],["impl ToTokens for Type"],["impl ToTokens for Typeof"],["impl ToTokens for Union"],["impl ToTokens for Unsafe"],["impl ToTokens for Unsized"],["impl ToTokens for Use"],["impl ToTokens for Virtual"],["impl ToTokens for Where"],["impl ToTokens for While"],["impl ToTokens for Yield"],["impl ToTokens for Add"],["impl ToTokens for AddEq"],["impl ToTokens for And"],["impl ToTokens for AndAnd"],["impl ToTokens for AndEq"],["impl ToTokens for At"],["impl ToTokens for Bang"],["impl ToTokens for Caret"],["impl ToTokens for CaretEq"],["impl ToTokens for Colon"],["impl ToTokens for Colon2"],["impl ToTokens for Comma"],["impl ToTokens for Div"],["impl ToTokens for DivEq"],["impl ToTokens for Dollar"],["impl ToTokens for Dot"],["impl ToTokens for Dot2"],["impl ToTokens for Dot3"],["impl ToTokens for DotDotEq"],["impl ToTokens for Eq"],["impl ToTokens for EqEq"],["impl ToTokens for Ge"],["impl ToTokens for Gt"],["impl ToTokens for Le"],["impl ToTokens for Lt"],["impl ToTokens for MulEq"],["impl ToTokens for Ne"],["impl ToTokens for Or"],["impl ToTokens for OrEq"],["impl ToTokens for OrOr"],["impl ToTokens for Pound"],["impl ToTokens for Question"],["impl ToTokens for RArrow"],["impl ToTokens for LArrow"],["impl ToTokens for Rem"],["impl ToTokens for RemEq"],["impl ToTokens for FatArrow"],["impl ToTokens for Semi"],["impl ToTokens for Shl"],["impl ToTokens for ShlEq"],["impl ToTokens for Shr"],["impl ToTokens for ShrEq"],["impl ToTokens for Star"],["impl ToTokens for Sub"],["impl ToTokens for SubEq"],["impl ToTokens for Tilde"],["impl ToTokens for Meta"],["impl ToTokens for NestedMeta"],["impl ToTokens for Attribute"],["impl ToTokens for MetaList"],["impl ToTokens for MetaNameValue"],["impl ToTokens for Fields"],["impl ToTokens for Visibility"],["impl ToTokens for Variant"],["impl ToTokens for FieldsNamed"],["impl ToTokens for FieldsUnnamed"],["impl ToTokens for Field"],["impl ToTokens for VisPublic"],["impl ToTokens for VisCrate"],["impl ToTokens for VisRestricted"],["impl ToTokens for Expr"],["impl ToTokens for ExprArray"],["impl ToTokens for ExprAssign"],["impl ToTokens for ExprAssignOp"],["impl ToTokens for ExprAsync"],["impl ToTokens for ExprAwait"],["impl ToTokens for ExprBlock"],["impl ToTokens for ExprBox"],["impl ToTokens for ExprBreak"],["impl ToTokens for ExprClosure"],["impl ToTokens for ExprContinue"],["impl ToTokens for ExprForLoop"],["impl ToTokens for ExprGroup"],["impl ToTokens for ExprIf"],["impl ToTokens for ExprLet"],["impl ToTokens for ExprLoop"],["impl ToTokens for ExprMacro"],["impl ToTokens for ExprMatch"],["impl ToTokens for ExprMethodCall"],["impl ToTokens for ExprRange"],["impl ToTokens for ExprReference"],["impl ToTokens for ExprRepeat"],["impl ToTokens for ExprReturn"],["impl ToTokens for ExprStruct"],["impl ToTokens for ExprTry"],["impl ToTokens for ExprTryBlock"],["impl ToTokens for ExprTuple"],["impl ToTokens for ExprType"],["impl ToTokens for ExprUnsafe"],["impl ToTokens for ExprWhile"],["impl ToTokens for ExprYield"],["impl ToTokens for ExprCall"],["impl ToTokens for ExprBinary"],["impl ToTokens for ExprUnary"],["impl ToTokens for ExprLit"],["impl ToTokens for ExprCast"],["impl ToTokens for ExprField"],["impl ToTokens for Member"],["impl ToTokens for Index"],["impl ToTokens for ExprIndex"],["impl ToTokens for ExprPath"],["impl ToTokens for ExprParen"],["impl ToTokens for GenericParam"],["impl ToTokens for TypeParamBound"],["impl ToTokens for WherePredicate"],["impl ToTokens for Generics"],["impl<'a> ToTokens for ImplGenerics<'a>"],["impl<'a> ToTokens for TypeGenerics<'a>"],["impl<'a> ToTokens for Turbofish<'a>"],["impl ToTokens for BoundLifetimes"],["impl ToTokens for LifetimeDef"],["impl ToTokens for TypeParam"],["impl ToTokens for TraitBound"],["impl ToTokens for TraitBoundModifier"],["impl ToTokens for ConstParam"],["impl ToTokens for WhereClause"],["impl ToTokens for PredicateType"],["impl ToTokens for PredicateLifetime"],["impl ToTokens for PredicateEq"],["impl ToTokens for Lifetime"],["impl ToTokens for Lit"],["impl ToTokens for LitStr"],["impl ToTokens for LitByteStr"],["impl ToTokens for LitByte"],["impl ToTokens for LitChar"],["impl ToTokens for LitInt"],["impl ToTokens for LitFloat"],["impl ToTokens for LitBool"],["impl ToTokens for Macro"],["impl ToTokens for DeriveInput"],["impl ToTokens for BinOp"],["impl ToTokens for UnOp"],["impl ToTokens for Type"],["impl ToTokens for TypeSlice"],["impl ToTokens for TypeArray"],["impl ToTokens for TypePtr"],["impl ToTokens for TypeReference"],["impl ToTokens for TypeBareFn"],["impl ToTokens for TypeNever"],["impl ToTokens for TypeTuple"],["impl ToTokens for TypePath"],["impl ToTokens for TypeTraitObject"],["impl ToTokens for TypeImplTrait"],["impl ToTokens for TypeGroup"],["impl ToTokens for TypeParen"],["impl ToTokens for TypeInfer"],["impl ToTokens for TypeMacro"],["impl ToTokens for ReturnType"],["impl ToTokens for BareFnArg"],["impl ToTokens for Variadic"],["impl ToTokens for Abi"],["impl ToTokens for Path"],["impl ToTokens for PathSegment"],["impl ToTokens for PathArguments"],["impl ToTokens for GenericArgument"],["impl ToTokens for AngleBracketedGenericArguments"],["impl ToTokens for Binding"],["impl ToTokens for Constraint"],["impl ToTokens for ParenthesizedGenericArguments"],["impl<T, P> ToTokens for Punctuated<T, P>where
    T: ToTokens,
    P: ToTokens,
"],["impl<T, P> ToTokens for Pair<T, P>where
    T: ToTokens,
    P: ToTokens,
"]], +"syn":[["impl ToTokens for And"],["impl ToTokens for Member"],["impl ToTokens for Generics"],["impl ToTokens for Lt"],["impl ToTokens for TypeNever"],["impl ToTokens for TypeParamBound"],["impl ToTokens for ShrEq"],["impl ToTokens for Colon"],["impl ToTokens for Move"],["impl ToTokens for Comma"],["impl ToTokens for Use"],["impl ToTokens for FieldsNamed"],["impl ToTokens for ExprIndex"],["impl ToTokens for AngleBracketedGenericArguments"],["impl ToTokens for Constraint"],["impl ToTokens for TypePtr"],["impl ToTokens for Ne"],["impl ToTokens for TypeInfer"],["impl ToTokens for RemEq"],["impl ToTokens for SubEq"],["impl ToTokens for ExprLit"],["impl ToTokens for Become"],["impl ToTokens for MetaNameValue"],["impl ToTokens for LitChar"],["impl ToTokens for TypeMacro"],["impl ToTokens for Default"],["impl ToTokens for Type"],["impl ToTokens for Visibility"],["impl ToTokens for Do"],["impl ToTokens for EqEq"],["impl ToTokens for Yield"],["impl ToTokens for ConstParam"],["impl ToTokens for DeriveInput"],["impl ToTokens for ExprYield"],["impl ToTokens for Async"],["impl ToTokens for PathArguments"],["impl ToTokens for FieldsUnnamed"],["impl ToTokens for Gt"],["impl ToTokens for Star"],["impl ToTokens for ExprTry"],["impl ToTokens for Mut"],["impl ToTokens for AndAnd"],["impl ToTokens for Semi"],["impl ToTokens for LitInt"],["impl ToTokens for Ge"],["impl ToTokens for Dot2"],["impl ToTokens for ExprContinue"],["impl ToTokens for Enum"],["impl ToTokens for For"],["impl ToTokens for Priv"],["impl ToTokens for GenericParam"],["impl ToTokens for Pub"],["impl ToTokens for Add"],["impl ToTokens for ExprStruct"],["impl ToTokens for ExprMethodCall"],["impl ToTokens for LifetimeDef"],["impl ToTokens for OrOr"],["impl ToTokens for Abstract"],["impl ToTokens for Dot"],["impl ToTokens for PredicateType"],["impl ToTokens for LitStr"],["impl ToTokens for Box"],["impl ToTokens for Impl"],["impl ToTokens for LitBool"],["impl ToTokens for ExprReturn"],["impl ToTokens for Mod"],["impl ToTokens for ExprAwait"],["impl ToTokens for NestedMeta"],["impl ToTokens for WherePredicate"],["impl ToTokens for Index"],["impl ToTokens for Else"],["impl ToTokens for TraitBound"],["impl ToTokens for Binding"],["impl<'a> ToTokens for TypeGenerics<'a>"],["impl ToTokens for ExprBreak"],["impl ToTokens for ExprBox"],["impl ToTokens for ExprParen"],["impl ToTokens for Div"],["impl ToTokens for Caret"],["impl ToTokens for TraitBoundModifier"],["impl ToTokens for ShlEq"],["impl<T, P> ToTokens for Pair<T, P>where\n T: ToTokens,\n P: ToTokens,"],["impl ToTokens for ExprReference"],["impl ToTokens for Trait"],["impl ToTokens for Abi"],["impl ToTokens for ExprUnary"],["impl ToTokens for WhereClause"],["impl ToTokens for Question"],["impl ToTokens for ExprIf"],["impl ToTokens for Static"],["impl ToTokens for UnOp"],["impl ToTokens for Typeof"],["impl ToTokens for TypeParam"],["impl ToTokens for Extern"],["impl ToTokens for Super"],["impl ToTokens for Le"],["impl ToTokens for Underscore"],["impl ToTokens for BareFnArg"],["impl ToTokens for ExprPath"],["impl ToTokens for ExprAssign"],["impl ToTokens for ExprAsync"],["impl ToTokens for Break"],["impl ToTokens for TypeImplTrait"],["impl ToTokens for Match"],["impl ToTokens for Const"],["impl ToTokens for VisCrate"],["impl ToTokens for Path"],["impl ToTokens for Macro"],["impl ToTokens for AndEq"],["impl ToTokens for ExprMatch"],["impl ToTokens for ReturnType"],["impl ToTokens for Dyn"],["impl ToTokens for ExprField"],["impl ToTokens for Field"],["impl ToTokens for Union"],["impl ToTokens for OrEq"],["impl ToTokens for Shl"],["impl ToTokens for TypeTraitObject"],["impl ToTokens for ExprLet"],["impl ToTokens for ExprCast"],["impl ToTokens for Override"],["impl ToTokens for RArrow"],["impl ToTokens for ParenthesizedGenericArguments"],["impl ToTokens for Fields"],["impl ToTokens for Lit"],["impl ToTokens for DivEq"],["impl ToTokens for VisRestricted"],["impl ToTokens for AddEq"],["impl ToTokens for Virtual"],["impl ToTokens for TypeTuple"],["impl ToTokens for Unsized"],["impl ToTokens for Attribute"],["impl ToTokens for ExprBlock"],["impl ToTokens for LitByteStr"],["impl ToTokens for Eq"],["impl<'a> ToTokens for ImplGenerics<'a>"],["impl ToTokens for LitFloat"],["impl ToTokens for MulEq"],["impl ToTokens for Dot3"],["impl ToTokens for Tilde"],["impl ToTokens for ExprTryBlock"],["impl ToTokens for SelfType"],["impl ToTokens for Type"],["impl ToTokens for Or"],["impl ToTokens for At"],["impl ToTokens for Fn"],["impl ToTokens for Expr"],["impl ToTokens for TypeSlice"],["impl ToTokens for Ref"],["impl ToTokens for PathSegment"],["impl ToTokens for TypeParen"],["impl ToTokens for ExprGroup"],["impl ToTokens for ExprWhile"],["impl ToTokens for ExprCall"],["impl ToTokens for Shr"],["impl ToTokens for Variadic"],["impl<'a> ToTokens for Turbofish<'a>"],["impl ToTokens for FatArrow"],["impl ToTokens for BoundLifetimes"],["impl ToTokens for Continue"],["impl ToTokens for Colon2"],["impl ToTokens for Meta"],["impl ToTokens for Sub"],["impl ToTokens for Variant"],["impl ToTokens for MetaList"],["impl ToTokens for ExprAssignOp"],["impl ToTokens for DotDotEq"],["impl ToTokens for ExprArray"],["impl ToTokens for ExprMacro"],["impl ToTokens for Bang"],["impl ToTokens for VisPublic"],["impl ToTokens for TypeReference"],["impl ToTokens for SelfValue"],["impl ToTokens for As"],["impl ToTokens for ExprRange"],["impl ToTokens for Return"],["impl ToTokens for ExprRepeat"],["impl ToTokens for Pound"],["impl ToTokens for ExprClosure"],["impl ToTokens for Rem"],["impl ToTokens for TypeBareFn"],["impl ToTokens for If"],["impl ToTokens for ExprBinary"],["impl ToTokens for Crate"],["impl ToTokens for Lifetime"],["impl ToTokens for PredicateEq"],["impl ToTokens for ExprUnsafe"],["impl ToTokens for ExprTuple"],["impl ToTokens for TypeArray"],["impl ToTokens for In"],["impl ToTokens for Let"],["impl ToTokens for Unsafe"],["impl ToTokens for Try"],["impl ToTokens for LArrow"],["impl ToTokens for Dollar"],["impl ToTokens for GenericArgument"],["impl ToTokens for Macro"],["impl ToTokens for ExprType"],["impl ToTokens for ExprForLoop"],["impl ToTokens for TypePath"],["impl ToTokens for Final"],["impl ToTokens for CaretEq"],["impl ToTokens for Await"],["impl ToTokens for Struct"],["impl ToTokens for LitByte"],["impl ToTokens for BinOp"],["impl ToTokens for ExprLoop"],["impl<T, P> ToTokens for Punctuated<T, P>where\n T: ToTokens,\n P: ToTokens,"],["impl ToTokens for PredicateLifetime"],["impl ToTokens for Auto"],["impl ToTokens for Loop"],["impl ToTokens for Where"],["impl ToTokens for While"],["impl ToTokens for TypeGroup"]], "synstructure":[["impl ToTokens for BindStyle"],["impl<'a> ToTokens for BindingInfo<'a>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/log/all.html b/log/all.html index 7a3d175..4ddb030 100644 --- a/log/all.html +++ b/log/all.html @@ -1,2 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/log/constant.STATIC_MAX_LEVEL.html b/log/constant.STATIC_MAX_LEVEL.html index 915830e..c4abd1f 100644 --- a/log/constant.STATIC_MAX_LEVEL.html +++ b/log/constant.STATIC_MAX_LEVEL.html @@ -1,7 +1,6 @@ -STATIC_MAX_LEVEL in log - Rust

Constant log::STATIC_MAX_LEVEL

source ·
pub const STATIC_MAX_LEVEL: LevelFilter;
Expand description

The statically resolved maximum log level.

+STATIC_MAX_LEVEL in log - Rust

Constant log::STATIC_MAX_LEVEL

source ·
pub const STATIC_MAX_LEVEL: LevelFilter;
Expand description

The statically resolved maximum log level.

See the crate level documentation for information on how to configure this.

This value is checked by the log macros, but not by the Logger returned by the logger function. Code that manually calls functions on that value should compare the level against this value.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/log/enum.Level.html b/log/enum.Level.html index 9c2d4b0..b8924d6 100644 --- a/log/enum.Level.html +++ b/log/enum.Level.html @@ -1,12 +1,10 @@ -Level in log - Rust

Enum log::Level

source ·
#[repr(usize)]
-pub enum Level {
+Level in log - Rust

Enum log::Level

source ·
#[repr(usize)]
pub enum Level { Error, Warn, Info, Debug, Trace, -}
Expand description

An enum representing the available verbosity levels of the logger.

+}
Expand description

An enum representing the available verbosity levels of the logger.

Typical usage includes: checking if a certain Level is enabled with log_enabled!, specifying the Level of log!, and comparing a Level directly to a @@ -21,11 +19,11 @@ pub enum Level {

Designates lower priority information.

§

Trace

The “trace” level.

Designates very low priority, often extremely verbose, information.

-

Implementations§

Returns the most verbose logging level.

-

Converts the Level to the equivalent LevelFilter.

-

Returns the string representation of the Level.

+

Implementations§

source§

impl Level

source

pub fn max() -> Level

Returns the most verbose logging level.

+
source

pub fn to_level_filter(&self) -> LevelFilter

Converts the Level to the equivalent LevelFilter.

+
source

pub fn as_str(&self) -> &'static str

Returns the string representation of the Level.

This returns the same string as the fmt::Display implementation.

-

Iterate through all supported logging levels.

+
source

pub fn iter() -> impl Iterator<Item = Self>

Iterate through all supported logging levels.

The order of iteration is from more severe to less severe log messages.

Examples
use log::Level;
@@ -34,20 +32,31 @@ pub enum Level {
 
 assert_eq!(Some(Level::Error), levels.next());
 assert_eq!(Some(Level::Trace), levels.last());
-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for Level

source§

fn clone(&self) -> Level

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 Level

source§

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

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

impl Display for Level

source§

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

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

impl FromStr for Level

§

type Err = ParseLevelError

The associated error which can be returned from parsing.
source§

fn from_str(level: &str) -> Result<Level, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Level

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 Ord for Level

source§

fn cmp(&self, other: &Level) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Level> for Level

source§

fn eq(&self, other: &Level) -> 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 PartialEq<Level> for LevelFilter

source§

fn eq(&self, other: &Level) -> 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 PartialEq<LevelFilter> for Level

source§

fn eq(&self, other: &LevelFilter) -> 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 PartialOrd<Level> for Level

source§

fn partial_cmp(&self, other: &Level) -> 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
source§

impl PartialOrd<Level> for LevelFilter

source§

fn partial_cmp(&self, other: &Level) -> 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
source§

impl PartialOrd<LevelFilter> for Level

source§

fn partial_cmp(&self, other: &LevelFilter) -> 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
source§

impl Copy for Level

source§

impl Eq for Level

source§

impl StructuralEq for Level

source§

impl StructuralPartialEq for Level

Auto Trait Implementations§

§

impl RefUnwindSafe for Level

§

impl Send for Level

§

impl Sync for Level

§

impl Unpin for Level

§

impl UnwindSafe for Level

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/log/enum.LevelFilter.html b/log/enum.LevelFilter.html index 5bea027..389c42b 100644 --- a/log/enum.LevelFilter.html +++ b/log/enum.LevelFilter.html @@ -1,13 +1,11 @@ -LevelFilter in log - Rust

Enum log::LevelFilter

source ·
#[repr(usize)]
-pub enum LevelFilter {
+LevelFilter in log - Rust

Enum log::LevelFilter

source ·
#[repr(usize)]
pub enum LevelFilter { Off, Error, Warn, Info, Debug, Trace, -}
Expand description

An enum representing the available verbosity level filters of the logger.

+}
Expand description

An enum representing the available verbosity level filters of the logger.

A LevelFilter may be compared directly to a Level. Use this type to get and set the maximum log level with max_level() and set_max_level.

Variants§

§

Off

A level lower than all log levels.

@@ -16,12 +14,12 @@ to get and set the maximum log level with max_
§

Info

Corresponds to the Info log level.

§

Debug

Corresponds to the Debug log level.

§

Trace

Corresponds to the Trace log level.

-

Implementations§

Returns the most verbose logging level filter.

-

Converts self to the equivalent Level.

+

Implementations§

source§

impl LevelFilter

source

pub fn max() -> LevelFilter

Returns the most verbose logging level filter.

+
source

pub fn to_level(&self) -> Option<Level>

Converts self to the equivalent Level.

Returns None if self is LevelFilter::Off.

-

Returns the string representation of the LevelFilter.

+
source

pub fn as_str(&self) -> &'static str

Returns the string representation of the LevelFilter.

This returns the same string as the fmt::Display implementation.

-

Iterate through all supported filtering levels.

+
source

pub fn iter() -> impl Iterator<Item = Self>

Iterate through all supported filtering levels.

The order of iteration is from less to more verbose filtering.

Examples
use log::LevelFilter;
@@ -30,20 +28,31 @@ to get and set the maximum log level with max_
 
 assert_eq!(Some(LevelFilter::Off), levels.next());
 assert_eq!(Some(LevelFilter::Trace), levels.last());
-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method tests for self and other values to be equal, and is used -by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Calls U::from(self).

+

Trait Implementations§

source§

impl Clone for LevelFilter

source§

fn clone(&self) -> LevelFilter

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 LevelFilter

source§

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

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

impl Display for LevelFilter

source§

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

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

impl FromStr for LevelFilter

§

type Err = ParseLevelError

The associated error which can be returned from parsing.
source§

fn from_str(level: &str) -> Result<LevelFilter, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for LevelFilter

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 Ord for LevelFilter

source§

fn cmp(&self, other: &LevelFilter) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Level> for LevelFilter

source§

fn eq(&self, other: &Level) -> 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 PartialEq<LevelFilter> for Level

source§

fn eq(&self, other: &LevelFilter) -> 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 PartialEq<LevelFilter> for LevelFilter

source§

fn eq(&self, other: &LevelFilter) -> 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 PartialOrd<Level> for LevelFilter

source§

fn partial_cmp(&self, other: &Level) -> 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
source§

impl PartialOrd<LevelFilter> for Level

source§

fn partial_cmp(&self, other: &LevelFilter) -> 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
source§

impl PartialOrd<LevelFilter> for LevelFilter

source§

fn partial_cmp(&self, other: &LevelFilter) -> 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
source§

impl Copy for LevelFilter

source§

impl Eq for LevelFilter

source§

impl StructuralEq for LevelFilter

source§

impl StructuralPartialEq for LevelFilter

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for Twhere + 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.

-
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
\ No newline at end of file diff --git a/log/fn.logger.html b/log/fn.logger.html index 3bf1c91..090f269 100644 --- a/log/fn.logger.html +++ b/log/fn.logger.html @@ -1,4 +1,3 @@ -logger in log - Rust

Function log::logger

source ·
pub fn logger() -> &'static dyn Log
Expand description

Returns a reference to the logger.

+logger in log - Rust

Function log::logger

source ·
pub fn logger() -> &'static dyn Log
Expand description

Returns a reference to the logger.

If a logger has not been set, a no-op implementation is returned.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/log/fn.max_level.html b/log/fn.max_level.html index 9ab116b..3fb2c78 100644 --- a/log/fn.max_level.html +++ b/log/fn.max_level.html @@ -1,6 +1,5 @@ -max_level in log - Rust

Function log::max_level

source ·
pub fn max_level() -> LevelFilter
Expand description

Returns the current maximum log level.

+max_level in log - Rust

Function log::max_level

source ·
pub fn max_level() -> LevelFilter
Expand description

Returns the current maximum log level.

The log!, error!, warn!, info!, debug!, and trace! macros check this value and discard any message logged at a higher level. The maximum log level is set by the set_max_level function.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/log/fn.set_logger.html b/log/fn.set_logger.html index e8f554a..4ac10c2 100644 --- a/log/fn.set_logger.html +++ b/log/fn.set_logger.html @@ -1,5 +1,4 @@ -set_logger in log - Rust

Function log::set_logger

source ·
pub fn set_logger(logger: &'static dyn Log) -> Result<(), SetLoggerError>
Expand description

Sets the global logger to a &'static Log.

+set_logger in log - Rust

Function log::set_logger

source ·
pub fn set_logger(logger: &'static dyn Log) -> Result<(), SetLoggerError>
Expand description

Sets the global logger to a &'static Log.

This function may only be called once in the lifetime of a program. Any log events that occur before the call to set_logger completes will be ignored.

This function does not typically need to be called manually. Logger @@ -13,7 +12,7 @@ targets, set_logger_racy will

Errors

An error is returned if a logger has already been set.

Examples

-
use log::{error, info, warn, Record, Level, Metadata, LevelFilter};
+
use log::{error, info, warn, Record, Level, Metadata, LevelFilter};
 
 static MY_LOGGER: MyLogger = MyLogger;
 
@@ -38,4 +37,4 @@ log::set_max_level(LevelFilter::Info);
 info!("hello log");
 warn!("warning");
 error!("oops");
-
\ No newline at end of file +
\ No newline at end of file diff --git a/log/fn.set_logger_racy.html b/log/fn.set_logger_racy.html index f804a0c..56fe3f1 100644 --- a/log/fn.set_logger_racy.html +++ b/log/fn.set_logger_racy.html @@ -1,5 +1,6 @@ -set_logger_racy in log - Rust

Function log::set_logger_racy

source ·
pub unsafe fn set_logger_racy(
    logger: &'static dyn Log
) -> Result<(), SetLoggerError>
Expand description

A thread-unsafe version of set_logger.

+set_logger_racy in log - Rust

Function log::set_logger_racy

source ·
pub unsafe fn set_logger_racy(
+    logger: &'static dyn Log
+) -> Result<(), SetLoggerError>
Expand description

A thread-unsafe version of set_logger.

This function is available on all platforms, even those that do not have support for atomics that is needed by set_logger.

In almost all cases, set_logger should be preferred.

@@ -10,4 +11,4 @@ function is called while this function still executes.

threads, and (on embedded) that interrupts are disabled.

It is safe to use other logging functions while this function runs (including all logging macros).

-
\ No newline at end of file +
\ No newline at end of file diff --git a/log/fn.set_max_level.html b/log/fn.set_max_level.html index 2aefaf8..dea0e3e 100644 --- a/log/fn.set_max_level.html +++ b/log/fn.set_max_level.html @@ -1,5 +1,4 @@ -set_max_level in log - Rust

Function log::set_max_level

source ·
pub fn set_max_level(level: LevelFilter)
Expand description

Sets the global maximum log level.

+set_max_level in log - Rust

Function log::set_max_level

source ·
pub fn set_max_level(level: LevelFilter)
Expand description

Sets the global maximum log level.

Generally, this should only be called by the active logging implementation.

Note that Trace is the maximum level, because it provides the maximum amount of detail in the emitted logs.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/log/fn.set_max_level_racy.html b/log/fn.set_max_level_racy.html new file mode 100644 index 0000000..b740d34 --- /dev/null +++ b/log/fn.set_max_level_racy.html @@ -0,0 +1,12 @@ +set_max_level_racy in log - Rust

Function log::set_max_level_racy

source ·
pub unsafe fn set_max_level_racy(level: LevelFilter)
Expand description

A thread-unsafe version of set_max_level.

+

This function is available on all platforms, even those that do not have +support for atomics that is needed by set_max_level.

+

In almost all cases, set_max_level should be preferred.

+

Safety

+

This function is only safe to call when no other level setting function is +called while this function still executes.

+

This can be upheld by (for example) making sure that there are no other +threads, and (on embedded) that interrupts are disabled.

+

Is is safe to use all other logging functions while this function runs +(including all logging macros).

+
\ No newline at end of file diff --git a/log/index.html b/log/index.html index 55c4352..85e5c62 100644 --- a/log/index.html +++ b/log/index.html @@ -1,5 +1,4 @@ -log - Rust

Crate log

source ·
Expand description

A lightweight logging facade.

+log - Rust

Crate log

source ·
Expand description

A lightweight logging facade.

The log crate provides a single logging API that abstracts over the actual logging implementation. Libraries can use the logging API provided by this crate, and the consumer of those libraries can choose the logging @@ -22,7 +21,7 @@ Each of these macros accept format strings similarly to Examples -

use log::{info, warn};
+
use log::{info, warn};
 
 pub fn shave_the_yak(yak: &mut Yak) {
     info!(target: "yak_events", "Commencing yak shaving for {:?}", yak);
@@ -53,7 +52,7 @@ the implementation is initialized will be ignored.

with your log records. If we take the example from before, we can include some additional context besides what’s in the formatted message:

-
use log::{info, warn, as_serde, as_error};
+
use log::{info, warn, as_serde, as_error};
 
 pub fn shave_the_yak(yak: &mut Yak) {
     info!(target: "yak_events", yak = as_serde!(yak); "Commencing yak shaving");
@@ -85,6 +84,8 @@ here are some of the most popular ones:

  • pretty_env_logger
  • stderrlog
  • flexi_logger
  • +
  • call_logger
  • +
  • structured-logger
  • Complex configurable frameworks: @@ -100,7 +101,8 @@ here are some of the most popular ones:

  • systemd-journal-logger
  • android_log
  • win_dbg_logger
  • -
  • [db_logger]
  • +
  • db_logger
  • +
  • log-to-defmt
  • For WebAssembly binaries: @@ -119,7 +121,7 @@ here are some of the most popular ones:

    logs all messages at the Error, Warn or Info levels to stdout:

    -
    use log::{Record, Level, Metadata};
    +
    use log::{Record, Level, Metadata};
     
     struct SimpleLogger;
     
    @@ -148,7 +150,7 @@ to Info, since we ignore any set_logger and
     set_max_level, handling initialization of the logger:

    -
    use log::{SetLoggerError, LevelFilter};
    +
    use log::{SetLoggerError, LevelFilter};
     
     static LOGGER: SimpleLogger = SimpleLogger;
     
    @@ -165,7 +167,7 @@ obtain if your logger depends on some runtime configuration. The
     identical to set_logger except that it takes a Box<Log> rather than a
     &'static Log:

    -
    pub fn init() -> Result<(), SetLoggerError> {
    +
    pub fn init() -> Result<(), SetLoggerError> {
         log::set_boxed_logger(Box::new(SimpleLogger))
             .map(|()| log::set_max_level(LevelFilter::Info))
     }
    @@ -210,5 +212,5 @@ log = { version = "0.4", features = ["std", "serde" made using log 0.3 will forward transparently to a logger implementation using log 0.4. Log messages made using log 0.4 will forward to a logger implementation using log 0.3, but the module path and file name information associated with the message will unfortunately be lost.

    -
  • Macros

    Logs a message at the debug level.
    Logs a message at the error level.
    Logs a message at the info level.
    The standard logging macro.
    Determines if a message logged at the specified level in that module will -be logged.
    Logs a message at the trace level.
    Logs a message at the warn level.

    Structs

    Metadata about a log message.
    The type returned by from_str when the string doesn’t match any of the log levels.
    The “payload” of a log message.
    Builder for Record.
    The type returned by set_logger if set_logger has already been called.

    Enums

    An enum representing the available verbosity levels of the logger.
    An enum representing the available verbosity level filters of the logger.

    Constants

    The statically resolved maximum log level.

    Traits

    A trait encapsulating the operations required of a logger.

    Functions

    Returns a reference to the logger.
    Returns the current maximum log level.
    Sets the global logger to a &'static Log.
    A thread-unsafe version of set_logger.
    Sets the global maximum log level.
    \ No newline at end of file +

    Macros

    • Logs a message at the debug level.
    • Logs a message at the error level.
    • Logs a message at the info level.
    • The standard logging macro.
    • Determines if a message logged at the specified level in that module will +be logged.
    • Logs a message at the trace level.
    • Logs a message at the warn level.

    Structs

    Enums

    • An enum representing the available verbosity levels of the logger.
    • An enum representing the available verbosity level filters of the logger.

    Constants

    Traits

    • A trait encapsulating the operations required of a logger.

    Functions

    \ No newline at end of file diff --git a/log/macro.debug.html b/log/macro.debug.html index 65b95af..2ec3850 100644 --- a/log/macro.debug.html +++ b/log/macro.debug.html @@ -1,14 +1,12 @@ -debug in log - Rust

    Macro log::debug

    source ·
    macro_rules! debug {
    +debug in log - Rust

    Macro log::debug

    source ·
    macro_rules! debug {
         (target: $target:expr, $($arg:tt)+) => { ... };
         ($($arg:tt)+) => { ... };
    -}
    -
    Expand description

    Logs a message at the debug level.

    +}
    Expand description

    Logs a message at the debug level.

    Examples

    -
    use log::debug;
    +
    use log::debug;
     
     let pos = Position { x: 3.234, y: -1.223 };
     
     debug!("New position: x: {}, y: {}", pos.x, pos.y);
     debug!(target: "app_events", "New position: x: {}, y: {}", pos.x, pos.y);
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/macro.error.html b/log/macro.error.html index 10a068d..fcdabb7 100644 --- a/log/macro.error.html +++ b/log/macro.error.html @@ -1,14 +1,12 @@ -error in log - Rust

    Macro log::error

    source ·
    macro_rules! error {
    +error in log - Rust

    Macro log::error

    source ·
    macro_rules! error {
         (target: $target:expr, $($arg:tt)+) => { ... };
         ($($arg:tt)+) => { ... };
    -}
    -
    Expand description

    Logs a message at the error level.

    +}
    Expand description

    Logs a message at the error level.

    Examples

    -
    use log::error;
    +
    use log::error;
     
     let (err_info, port) = ("No connection", 22);
     
     error!("Error: {} on port {}", err_info, port);
     error!(target: "app_events", "App Error: {}, Port: {}", err_info, 22);
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/macro.info.html b/log/macro.info.html index a6a032e..43cef05 100644 --- a/log/macro.info.html +++ b/log/macro.info.html @@ -1,15 +1,13 @@ -info in log - Rust

    Macro log::info

    source ·
    macro_rules! info {
    +info in log - Rust

    Macro log::info

    source ·
    macro_rules! info {
         (target: $target:expr, $($arg:tt)+) => { ... };
         ($($arg:tt)+) => { ... };
    -}
    -
    Expand description

    Logs a message at the info level.

    +}
    Expand description

    Logs a message at the info level.

    Examples

    -
    use log::info;
    +
    use log::info;
     
     let conn_info = Connection { port: 40, speed: 3.20 };
     
     info!("Connected to port {} at {} Mb/s", conn_info.port, conn_info.speed);
    -info!(target: "connection_events", "Successfull connection, port: {}, speed: {}",
    +info!(target: "connection_events", "Successful connection, port: {}, speed: {}",
           conn_info.port, conn_info.speed);
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/macro.log.html b/log/macro.log.html index 043737f..1a7353d 100644 --- a/log/macro.log.html +++ b/log/macro.log.html @@ -1,14 +1,12 @@ -log in log - Rust

    Macro log::log

    source ·
    macro_rules! log {
    +log in log - Rust

    Macro log::log

    source ·
    macro_rules! log {
         (target: $target:expr, $lvl:expr, $($key:tt = $value:expr),+; $($arg:tt)+) => { ... };
         (target: $target:expr, $lvl:expr, $($arg:tt)+) => { ... };
         ($lvl:expr, $($arg:tt)+) => { ... };
    -}
    -
    Expand description

    The standard logging macro.

    +}
    Expand description

    The standard logging macro.

    This macro will generically log with the specified Level and format! based argument list.

    Examples

    -
    use log::{log, Level};
    +
    use log::{log, Level};
     
     let data = (42, "Forty-two");
     let private_data = "private";
    @@ -16,4 +14,4 @@ based argument list.

    log!(Level::Error, "Received errors: {}, {}", data.0, data.1); log!(target: "app_events", Level::Warn, "App warning: {}, {}, {}", data.0, data.1, private_data);
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/macro.log_enabled.html b/log/macro.log_enabled.html index 33add38..6053817 100644 --- a/log/macro.log_enabled.html +++ b/log/macro.log_enabled.html @@ -1,14 +1,12 @@ -log_enabled in log - Rust

    Macro log::log_enabled

    source ·
    macro_rules! log_enabled {
    +log_enabled in log - Rust

    Macro log::log_enabled

    source ·
    macro_rules! log_enabled {
         (target: $target:expr, $lvl:expr) => { ... };
         ($lvl:expr) => { ... };
    -}
    -
    Expand description

    Determines if a message logged at the specified level in that module will +}

    Expand description

    Determines if a message logged at the specified level in that module will be logged.

    This can be used to avoid expensive computation of log message arguments if the message would be ignored anyway.

    Examples

    -
    use log::Level::Debug;
    +
    use log::Level::Debug;
     use log::{debug, log_enabled};
     
     if log_enabled!(Debug) {
    @@ -19,4 +17,4 @@ the message would be ignored anyway.

    let data = expensive_call(); debug!(target: "Global", "expensive debug data: {} {}", data.x, data.y); }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/macro.trace.html b/log/macro.trace.html index 56a3b4a..a4c996c 100644 --- a/log/macro.trace.html +++ b/log/macro.trace.html @@ -1,11 +1,9 @@ -trace in log - Rust

    Macro log::trace

    source ·
    macro_rules! trace {
    +trace in log - Rust

    Macro log::trace

    source ·
    macro_rules! trace {
         (target: $target:expr, $($arg:tt)+) => { ... };
         ($($arg:tt)+) => { ... };
    -}
    -
    Expand description

    Logs a message at the trace level.

    +}
    Expand description

    Logs a message at the trace level.

    Examples

    -
    use log::trace;
    +
    use log::trace;
     
     let pos = Position { x: 3.234, y: -1.223 };
     
    @@ -13,4 +11,4 @@
     trace!(target: "app_events", "x is {} and y is {}",
            if pos.x >= 0.0 { "positive" } else { "negative" },
            if pos.y >= 0.0 { "positive" } else { "negative" });
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/macro.warn.html b/log/macro.warn.html index a9a3212..1467ac6 100644 --- a/log/macro.warn.html +++ b/log/macro.warn.html @@ -1,14 +1,12 @@ -warn in log - Rust

    Macro log::warn

    source ·
    macro_rules! warn {
    +warn in log - Rust

    Macro log::warn

    source ·
    macro_rules! warn {
         (target: $target:expr, $($arg:tt)+) => { ... };
         ($($arg:tt)+) => { ... };
    -}
    -
    Expand description

    Logs a message at the warn level.

    +}
    Expand description

    Logs a message at the warn level.

    Examples

    -
    use log::warn;
    +
    use log::warn;
     
     let warn_description = "Invalid Input";
     
     warn!("Warning! {}!", warn_description);
     warn!(target: "input_events", "App received warning: {}", warn_description);
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/log/sidebar-items.js b/log/sidebar-items.js index 9d322dc..3485055 100644 --- a/log/sidebar-items.js +++ b/log/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["STATIC_MAX_LEVEL","The statically resolved maximum log level."]],"enum":[["Level","An enum representing the available verbosity levels of the logger."],["LevelFilter","An enum representing the available verbosity level filters of the logger."]],"fn":[["logger","Returns a reference to the logger."],["max_level","Returns the current maximum log level."],["set_logger","Sets the global logger to a `&'static Log`."],["set_logger_racy","A thread-unsafe version of `set_logger`."],["set_max_level","Sets the global maximum log level."]],"macro":[["debug","Logs a message at the debug level."],["error","Logs a message at the error level."],["info","Logs a message at the info level."],["log","The standard logging macro."],["log_enabled","Determines if a message logged at the specified level in that module will be logged."],["trace","Logs a message at the trace level."],["warn","Logs a message at the warn level."]],"struct":[["Metadata","Metadata about a log message."],["MetadataBuilder","Builder for `Metadata`."],["ParseLevelError","The type returned by `from_str` when the string doesn’t match any of the log levels."],["Record","The “payload” of a log message."],["RecordBuilder","Builder for `Record`."],["SetLoggerError","The type returned by `set_logger` if `set_logger` has already been called."]],"trait":[["Log","A trait encapsulating the operations required of a logger."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["STATIC_MAX_LEVEL"],"enum":["Level","LevelFilter"],"fn":["logger","max_level","set_logger","set_logger_racy","set_max_level","set_max_level_racy"],"macro":["debug","error","info","log","log_enabled","trace","warn"],"struct":["Metadata","MetadataBuilder","ParseLevelError","Record","RecordBuilder","SetLoggerError"],"trait":["Log"]}; \ No newline at end of file diff --git a/log/struct.Metadata.html b/log/struct.Metadata.html index f14943d..065c654 100644 --- a/log/struct.Metadata.html +++ b/log/struct.Metadata.html @@ -1,5 +1,4 @@ -Metadata in log - Rust

    Struct log::Metadata

    source ·
    pub struct Metadata<'a> { /* private fields */ }
    Expand description

    Metadata about a log message.

    +Metadata in log - Rust

    Struct log::Metadata

    source ·
    pub struct Metadata<'a> { /* private fields */ }
    Expand description

    Metadata about a log message.

    Use

    Metadata structs are created when users of the library use logging macros.

    @@ -10,7 +9,7 @@ and target.

    Users should use the log_enabled! macro in their code to avoid constructing expensive log messages.

    Examples

    -
    use log::{Record, Level, Metadata};
    +
    use log::{Record, Level, Metadata};
     
     struct MyLogger;
     
    @@ -27,15 +26,26 @@ constructing expensive log messages.

    fn flush(&self) {} }
    -

    Implementations§

    Returns a new builder.

    -

    The verbosity level of the message.

    -

    The name of the target of the directive.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method returns an Ordering between self and other. Read more
    Compares and returns the maximum of two values. Read more
    Compares and returns the minimum of two values. Read more
    Restrict a value to a certain interval. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method returns an ordering between self and other values if one exists. Read more
    This method tests less than (for self and other) and is used by the < operator. Read more
    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    This method tests greater than (for self and other) and is used by the > operator. Read more
    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Implementations§

    source§

    impl<'a> Metadata<'a>

    source

    pub fn builder() -> MetadataBuilder<'a>

    Returns a new builder.

    +
    source

    pub fn level(&self) -> Level

    The verbosity level of the message.

    +
    source

    pub fn target(&self) -> &'a str

    The name of the target of the directive.

    +

    Trait Implementations§

    source§

    impl<'a> Clone for Metadata<'a>

    source§

    fn clone(&self) -> Metadata<'a>

    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<'a> Debug for Metadata<'a>

    source§

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

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

    impl<'a> Hash for Metadata<'a>

    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<'a> Ord for Metadata<'a>

    source§

    fn cmp(&self, other: &Metadata<'a>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

    Restrict a value to a certain interval. Read more
    source§

    impl<'a> PartialEq<Metadata<'a>> for Metadata<'a>

    source§

    fn eq(&self, other: &Metadata<'a>) -> 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<'a> PartialOrd<Metadata<'a>> for Metadata<'a>

    source§

    fn partial_cmp(&self, other: &Metadata<'a>) -> 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
    source§

    impl<'a> Eq for Metadata<'a>

    source§

    impl<'a> StructuralEq for Metadata<'a>

    source§

    impl<'a> StructuralPartialEq for Metadata<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Metadata<'a>

    §

    impl<'a> Send for Metadata<'a>

    §

    impl<'a> Sync for Metadata<'a>

    §

    impl<'a> Unpin for Metadata<'a>

    §

    impl<'a> UnwindSafe for Metadata<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/log/struct.MetadataBuilder.html b/log/struct.MetadataBuilder.html index 029a438..6232fa1 100644 --- a/log/struct.MetadataBuilder.html +++ b/log/struct.MetadataBuilder.html @@ -1,30 +1,40 @@ -MetadataBuilder in log - Rust

    Struct log::MetadataBuilder

    source ·
    pub struct MetadataBuilder<'a> { /* private fields */ }
    Expand description

    Builder for Metadata.

    +MetadataBuilder in log - Rust

    Struct log::MetadataBuilder

    source ·
    pub struct MetadataBuilder<'a> { /* private fields */ }
    Expand description

    Builder for Metadata.

    Typically should only be used by log library creators or for testing and “shim loggers”. The MetadataBuilder can set the different parameters of a Metadata object, and returns the created object when build is called.

    Example

    -
    let target = "myApp";
    +
    let target = "myApp";
     use log::{Level, MetadataBuilder};
     let metadata = MetadataBuilder::new()
                         .level(Level::Debug)
                         .target(target)
                         .build();
    -

    Implementations§

    Construct a new MetadataBuilder.

    +

    Implementations§

    source§

    impl<'a> MetadataBuilder<'a>

    source

    pub fn new() -> MetadataBuilder<'a>

    Construct a new MetadataBuilder.

    The default options are:

    • level: Level::Info
    • target: ""
    -

    Setter for level.

    -

    Setter for target.

    -

    Returns a Metadata object.

    -

    Trait Implementations§

    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method returns an Ordering between self and other. Read more
    Compares and returns the maximum of two values. Read more
    Compares and returns the minimum of two values. Read more
    Restrict a value to a certain interval. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method returns an ordering between self and other values if one exists. Read more
    This method tests less than (for self and other) and is used by the < operator. Read more
    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    This method tests greater than (for self and other) and is used by the > operator. Read more
    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn level(&mut self, arg: Level) -> &mut MetadataBuilder<'a>

    Setter for level.

    +
    source

    pub fn target(&mut self, target: &'a str) -> &mut MetadataBuilder<'a>

    Setter for target.

    +
    source

    pub fn build(&self) -> Metadata<'a>

    Returns a Metadata object.

    +

    Trait Implementations§

    source§

    impl<'a> Debug for MetadataBuilder<'a>

    source§

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

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

    impl<'a> Default for MetadataBuilder<'a>

    source§

    fn default() -> Self

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

    impl<'a> Hash for MetadataBuilder<'a>

    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<'a> Ord for MetadataBuilder<'a>

    source§

    fn cmp(&self, other: &MetadataBuilder<'a>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

    Restrict a value to a certain interval. Read more
    source§

    impl<'a> PartialEq<MetadataBuilder<'a>> for MetadataBuilder<'a>

    source§

    fn eq(&self, other: &MetadataBuilder<'a>) -> 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<'a> PartialOrd<MetadataBuilder<'a>> for MetadataBuilder<'a>

    source§

    fn partial_cmp(&self, other: &MetadataBuilder<'a>) -> 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
    source§

    impl<'a> Eq for MetadataBuilder<'a>

    source§

    impl<'a> StructuralEq for MetadataBuilder<'a>

    source§

    impl<'a> StructuralPartialEq for MetadataBuilder<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for MetadataBuilder<'a>

    §

    impl<'a> Send for MetadataBuilder<'a>

    §

    impl<'a> Sync for MetadataBuilder<'a>

    §

    impl<'a> Unpin for MetadataBuilder<'a>

    §

    impl<'a> UnwindSafe for MetadataBuilder<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/log/struct.ParseLevelError.html b/log/struct.ParseLevelError.html index a2c49e4..bd214a3 100644 --- a/log/struct.ParseLevelError.html +++ b/log/struct.ParseLevelError.html @@ -1,9 +1,14 @@ -ParseLevelError in log - Rust

    Struct log::ParseLevelError

    source ·
    pub struct ParseLevelError(_);
    Expand description

    The type returned by from_str when the string doesn’t match any of the log levels.

    -

    Trait Implementations§

    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +ParseLevelError in log - Rust

    Struct log::ParseLevelError

    source ·
    pub struct ParseLevelError(/* private fields */);
    Expand description

    The type returned by from_str when the string doesn’t match any of the log levels.

    +

    Trait Implementations§

    source§

    impl Debug for ParseLevelError

    source§

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

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

    impl Display for ParseLevelError

    source§

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

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

    impl PartialEq<ParseLevelError> for ParseLevelError

    source§

    fn eq(&self, other: &ParseLevelError) -> 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 Eq for ParseLevelError

    source§

    impl StructuralEq for ParseLevelError

    source§

    impl StructuralPartialEq for ParseLevelError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/log/struct.Record.html b/log/struct.Record.html index 5a66832..dd49e7b 100644 --- a/log/struct.Record.html +++ b/log/struct.Record.html @@ -1,5 +1,4 @@ -Record in log - Rust

    Struct log::Record

    source ·
    pub struct Record<'a> { /* private fields */ }
    Expand description

    The “payload” of a log message.

    +Record in log - Rust

    Struct log::Record

    source ·
    pub struct Record<'a> { /* private fields */ }
    Expand description

    The “payload” of a log message.

    Use

    Record structures are passed as parameters to the log method of the Log trait. Logger implementors manipulate these @@ -12,10 +11,10 @@ These methods are provided as a convenience for users of this structure.

    The following example shows a simple logger that displays the level, module path, and message of any Record that is passed to it.

    -
    struct SimpleLogger;
    +
    struct SimpleLogger;
     
     impl log::Log for SimpleLogger {
    -   fn enabled(&self, metadata: &log::Metadata) -> bool {
    +   fn enabled(&self, _metadata: &log::Metadata) -> bool {
            true
        }
     
    @@ -31,18 +30,24 @@ module path, and message of any Record that is passed to it.

    } fn flush(&self) {} }
    -

    Implementations§

    Returns a new builder.

    -

    The message body.

    -

    Metadata about the log directive.

    -

    The verbosity level of the message.

    -

    The name of the target of the directive.

    -

    The module path of the message.

    -

    The module path of the message, if it is a 'static string.

    -

    The source file containing the message.

    -

    The module path of the message, if it is a 'static string.

    -

    The line containing the message.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Implementations§

    source§

    impl<'a> Record<'a>

    source

    pub fn builder() -> RecordBuilder<'a>

    Returns a new builder.

    +
    source

    pub fn args(&self) -> &Arguments<'a>

    The message body.

    +
    source

    pub fn metadata(&self) -> &Metadata<'a>

    Metadata about the log directive.

    +
    source

    pub fn level(&self) -> Level

    The verbosity level of the message.

    +
    source

    pub fn target(&self) -> &'a str

    The name of the target of the directive.

    +
    source

    pub fn module_path(&self) -> Option<&'a str>

    The module path of the message.

    +
    source

    pub fn module_path_static(&self) -> Option<&'static str>

    The module path of the message, if it is a 'static string.

    +
    source

    pub fn file(&self) -> Option<&'a str>

    The source file containing the message.

    +
    source

    pub fn file_static(&self) -> Option<&'static str>

    The module path of the message, if it is a 'static string.

    +
    source

    pub fn line(&self) -> Option<u32>

    The line containing the message.

    +

    Trait Implementations§

    source§

    impl<'a> Clone for Record<'a>

    source§

    fn clone(&self) -> Record<'a>

    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<'a> Debug for Record<'a>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

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

    §

    impl<'a> !Send for Record<'a>

    §

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

    §

    impl<'a> Unpin for Record<'a>

    §

    impl<'a> !UnwindSafe for Record<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/log/struct.RecordBuilder.html b/log/struct.RecordBuilder.html index b9a81fe..4eb9e01 100644 --- a/log/struct.RecordBuilder.html +++ b/log/struct.RecordBuilder.html @@ -1,10 +1,9 @@ -RecordBuilder in log - Rust

    Struct log::RecordBuilder

    source ·
    pub struct RecordBuilder<'a> { /* private fields */ }
    Expand description

    Builder for Record.

    +RecordBuilder in log - Rust

    Struct log::RecordBuilder

    source ·
    pub struct RecordBuilder<'a> { /* private fields */ }
    Expand description

    Builder for Record.

    Typically should only be used by log library creators or for testing and “shim loggers”. The RecordBuilder can set the different parameters of Record object, and returns the created object when build is called.

    Examples

    -
    use log::{Level, Record};
    +
    use log::{Level, Record};
     
     let record = Record::builder()
                     .args(format_args!("Error!"))
    @@ -16,7 +15,7 @@ the created object when build is called.

    .build();

    Alternatively, use MetadataBuilder:

    -
    use log::{Record, Level, MetadataBuilder};
    +
    use log::{Record, Level, MetadataBuilder};
     
     let error_metadata = MetadataBuilder::new()
                             .target("myApp")
    @@ -30,7 +29,7 @@ the created object when build is called.

    .file(Some("app.rs")) .module_path(Some("server")) .build();
    -

    Implementations§

    Construct new RecordBuilder.

    +

    Implementations§

    source§

    impl<'a> RecordBuilder<'a>

    source

    pub fn new() -> RecordBuilder<'a>

    Construct new RecordBuilder.

    The default options are:

    • args: format_args!("")
    • @@ -39,18 +38,30 @@ the created object when build is called.

    • file: None
    • line: None
    -

    Set args.

    -

    Set metadata. Construct a Metadata object with MetadataBuilder.

    -

    Set module_path to a 'static string

    -

    Set file

    -

    Set file to a 'static string.

    -

    Set line

    -

    Invoke the builder and return a Record

    -

    Trait Implementations§

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn args(&mut self, args: Arguments<'a>) -> &mut RecordBuilder<'a>

    Set args.

    +
    source

    pub fn metadata(&mut self, metadata: Metadata<'a>) -> &mut RecordBuilder<'a>

    Set metadata. Construct a Metadata object with MetadataBuilder.

    +
    source

    pub fn level(&mut self, level: Level) -> &mut RecordBuilder<'a>

    source

    pub fn target(&mut self, target: &'a str) -> &mut RecordBuilder<'a>

    source

    pub fn module_path(&mut self, path: Option<&'a str>) -> &mut RecordBuilder<'a>

    source

    pub fn module_path_static( + &mut self, + path: Option<&'static str> +) -> &mut RecordBuilder<'a>

    Set module_path to a 'static string

    +
    source

    pub fn file(&mut self, file: Option<&'a str>) -> &mut RecordBuilder<'a>

    Set file

    +
    source

    pub fn file_static( + &mut self, + file: Option<&'static str> +) -> &mut RecordBuilder<'a>

    Set file to a 'static string.

    +
    source

    pub fn line(&mut self, line: Option<u32>) -> &mut RecordBuilder<'a>

    Set line

    +
    source

    pub fn build(&self) -> Record<'a>

    Invoke the builder and return a Record

    +

    Trait Implementations§

    source§

    impl<'a> Debug for RecordBuilder<'a>

    source§

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

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

    impl<'a> Default for RecordBuilder<'a>

    source§

    fn default() -> Self

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

    Auto Trait Implementations§

    §

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

    §

    impl<'a> !Send for RecordBuilder<'a>

    §

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

    §

    impl<'a> Unpin for RecordBuilder<'a>

    §

    impl<'a> !UnwindSafe for RecordBuilder<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/log/struct.SetLoggerError.html b/log/struct.SetLoggerError.html index b2999cd..38505fe 100644 --- a/log/struct.SetLoggerError.html +++ b/log/struct.SetLoggerError.html @@ -1,7 +1,12 @@ -SetLoggerError in log - Rust

    Struct log::SetLoggerError

    source ·
    pub struct SetLoggerError(_);
    Expand description

    The type returned by set_logger if set_logger has already been called.

    -

    Trait Implementations§

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

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +SetLoggerError in log - Rust

    Struct log::SetLoggerError

    source ·
    pub struct SetLoggerError(/* private fields */);
    Expand description

    The type returned by set_logger if set_logger has already been called.

    +

    Trait Implementations§

    source§

    impl Debug for SetLoggerError

    source§

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

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

    impl Display for SetLoggerError

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/log/trait.Log.html b/log/trait.Log.html index 5783b59..c4940cf 100644 --- a/log/trait.Log.html +++ b/log/trait.Log.html @@ -1,10 +1,10 @@ -Log in log - Rust

    Trait log::Log

    source ·
    pub trait Log: Sync + Send {
    -    fn enabled(&self, metadata: &Metadata<'_>) -> bool;
    +Log in log - Rust

    Trait log::Log

    source ·
    pub trait Log: Sync + Send {
    +    // Required methods
    +    fn enabled(&self, metadata: &Metadata<'_>) -> bool;
         fn log(&self, record: &Record<'_>);
         fn flush(&self);
    -}
    Expand description

    A trait encapsulating the operations required of a logger.

    -

    Required Methods§

    Determines if a log message with the specified metadata would be +}

    Expand description

    A trait encapsulating the operations required of a logger.

    +

    Required Methods§

    source

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be logged.

    This is used by the log_enabled! macro to allow callers to avoid expensive computation of log message arguments if the message would be @@ -13,10 +13,11 @@ discarded anyway.

    This method isn’t called automatically by the log! macros. It’s up to an implementation of the Log trait to call enabled in its own log method implementation to guarantee that filtering is applied.

    -

    Logs the Record.

    +
    source

    fn log(&self, record: &Record<'_>)

    Logs the Record.

    For implementors

    Note that enabled is not necessarily called before this method. Implementations of log should perform all necessary filtering internally.

    -

    Flushes any buffered records.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +
    source

    fn flush(&self)

    Flushes any buffered records.

    +

    Implementations on Foreign Types§

    source§

    impl<T> Log for &Twhere + T: ?Sized + Log,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    source§

    fn log(&self, record: &Record<'_>)

    source§

    fn flush(&self)

    Implementors§

    \ No newline at end of file diff --git a/proc_macro2/all.html b/proc_macro2/all.html index e7ac14a..e90fb5d 100644 --- a/proc_macro2/all.html +++ b/proc_macro2/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/proc_macro2/enum.Delimiter.html b/proc_macro2/enum.Delimiter.html index cbbec2e..105b2fc 100644 --- a/proc_macro2/enum.Delimiter.html +++ b/proc_macro2/enum.Delimiter.html @@ -1,9 +1,9 @@ -Delimiter in proc_macro2 - Rust
    pub enum Delimiter {
    +Delimiter in proc_macro2 - Rust
    pub enum Delimiter {
         Parenthesis,
         Brace,
         Bracket,
         None,
    -}
    Expand description

    Describes how a sequence of token trees is delimited.

    +}
    Expand description

    Describes how a sequence of token trees is delimited.

    Variants§

    §

    Parenthesis

    ( ... )

    §

    Brace

    { ... }

    §

    Bracket

    [ ... ]

    @@ -13,10 +13,17 @@ coming from a “macro variable” $var. It is important to preserv operator priorities in cases like $var * 3 where $var is 1 + 2. Implicit delimiters may not survive roundtrip of a token stream through a string.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Delimiter

    source§

    fn clone(&self) -> Delimiter

    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 Delimiter

    source§

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

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

    impl PartialEq<Delimiter> for Delimiter

    source§

    fn eq(&self, other: &Delimiter) -> 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 Copy for Delimiter

    source§

    impl Eq for Delimiter

    source§

    impl StructuralEq for Delimiter

    source§

    impl StructuralPartialEq for Delimiter

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/enum.Spacing.html b/proc_macro2/enum.Spacing.html index 4f1265a..b19d596 100644 --- a/proc_macro2/enum.Spacing.html +++ b/proc_macro2/enum.Spacing.html @@ -1,16 +1,23 @@ -Spacing in proc_macro2 - Rust

    Enum proc_macro2::Spacing

    source ·
    pub enum Spacing {
    +Spacing in proc_macro2 - Rust

    Enum proc_macro2::Spacing

    source ·
    pub enum Spacing {
         Alone,
         Joint,
    -}
    Expand description

    Whether a Punct is followed immediately by another Punct or followed by +}

    Expand description

    Whether a Punct is followed immediately by another Punct or followed by another token or whitespace.

    Variants§

    §

    Alone

    E.g. + is Alone in + =, +ident or +().

    §

    Joint

    E.g. + is Joint in += or ' is Joint in '#.

    Additionally, single quote ' can join with identifiers to form lifetimes 'ident.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Spacing

    source§

    fn clone(&self) -> Spacing

    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 Spacing

    source§

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

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

    impl PartialEq<Spacing> for Spacing

    source§

    fn eq(&self, other: &Spacing) -> 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 Copy for Spacing

    source§

    impl Eq for Spacing

    source§

    impl StructuralEq for Spacing

    source§

    impl StructuralPartialEq for Spacing

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/enum.TokenTree.html b/proc_macro2/enum.TokenTree.html index bd45d43..4920e43 100644 --- a/proc_macro2/enum.TokenTree.html +++ b/proc_macro2/enum.TokenTree.html @@ -1,27 +1,35 @@ -TokenTree in proc_macro2 - Rust
    pub enum TokenTree {
    +TokenTree in proc_macro2 - Rust
    pub enum TokenTree {
         Group(Group),
         Ident(Ident),
         Punct(Punct),
         Literal(Literal),
    -}
    Expand description

    A single token or a delimited sequence of token trees (e.g. [1, (), ..]).

    +}
    Expand description

    A single token or a delimited sequence of token trees (e.g. [1, (), ..]).

    Variants§

    §

    Group(Group)

    A token stream surrounded by bracket delimiters.

    §

    Ident(Ident)

    An identifier.

    §

    Punct(Punct)

    A single punctuation character (+, ,, $, etc.).

    §

    Literal(Literal)

    A literal character ('a'), string ("hello"), number (2.3), etc.

    -

    Implementations§

    Returns the span of this tree, delegating to the span method of +

    Implementations§

    source§

    impl TokenTree

    source

    pub fn span(&self) -> Span

    Returns the span of this tree, delegating to the span method of the contained token or a delimited stream.

    -

    Configures the span for only this token.

    +
    source

    pub fn set_span(&mut self, span: Span)

    Configures the span for only this token.

    Note that if this token is a Group then this method will not configure the span of each of the internal tokens, this will simply delegate to the set_span method of each variant.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more

    Prints token tree in a form convenient for debugging.

    -
    Formats the value using the given formatter. Read more

    Prints the token tree as a string that is supposed to be losslessly +

    Trait Implementations§

    source§

    impl Clone for TokenTree

    source§

    fn clone(&self) -> TokenTree

    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 TokenTree

    Prints token tree in a form convenient for debugging.

    +
    source§

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

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

    impl Display for TokenTree

    Prints the token tree as a string that is supposed to be losslessly convertible back into the same token tree (modulo spans), except for possibly TokenTree::Groups with Delimiter::None delimiters and negative numeric literals.

    -
    Formats the value using the given formatter. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.

    Collects a number of token trees into a single stream.

    -
    Creates a value from an iterator. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source§

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

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

    impl Extend<TokenTree> for TokenStream

    source§

    fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, streams: I)

    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 From<Group> for TokenTree

    source§

    fn from(g: Group) -> Self

    Converts to this type from the input type.
    source§

    impl From<Ident> for TokenTree

    source§

    fn from(g: Ident) -> Self

    Converts to this type from the input type.
    source§

    impl From<Literal> for TokenTree

    source§

    fn from(g: Literal) -> Self

    Converts to this type from the input type.
    source§

    impl From<Punct> for TokenTree

    source§

    fn from(g: Punct) -> Self

    Converts to this type from the input type.
    source§

    impl From<TokenTree> for TokenStream

    source§

    fn from(token: TokenTree) -> Self

    Converts to this type from the input type.
    source§

    impl FromIterator<TokenTree> for TokenStream

    Collects a number of token trees into a single stream.

    +
    source§

    fn from_iter<I: IntoIterator<Item = TokenTree>>(streams: I) -> Self

    Creates a value from an iterator. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/extra/index.html b/proc_macro2/extra/index.html new file mode 100644 index 0000000..9c8ee70 --- /dev/null +++ b/proc_macro2/extra/index.html @@ -0,0 +1,4 @@ +proc_macro2::extra - Rust

    Module proc_macro2::extra

    source ·
    Expand description

    Items which do not have a correspondence to any API in the proc_macro crate, +but are necessary to include in proc-macro2.

    +

    Structs

    • An object that holds a Group’s span_open() and span_close() together +(in a more compact representation than holding those 2 spans individually.
    \ No newline at end of file diff --git a/proc_macro2/extra/sidebar-items.js b/proc_macro2/extra/sidebar-items.js new file mode 100644 index 0000000..efa6967 --- /dev/null +++ b/proc_macro2/extra/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":["DelimSpan"]}; \ No newline at end of file diff --git a/proc_macro2/extra/struct.DelimSpan.html b/proc_macro2/extra/struct.DelimSpan.html new file mode 100644 index 0000000..050a2df --- /dev/null +++ b/proc_macro2/extra/struct.DelimSpan.html @@ -0,0 +1,17 @@ +DelimSpan in proc_macro2::extra - Rust
    pub struct DelimSpan { /* private fields */ }
    Expand description

    An object that holds a Group’s span_open() and span_close() together +(in a more compact representation than holding those 2 spans individually.

    +

    Implementations§

    source§

    impl DelimSpan

    source

    pub fn join(&self) -> Span

    Returns a span covering the entire delimited group.

    +
    source

    pub fn open(&self) -> Span

    Returns a span for the opening punctuation of the group only.

    +
    source

    pub fn close(&self) -> Span

    Returns a span for the closing punctuation of the group only.

    +

    Trait Implementations§

    source§

    impl Clone for DelimSpan

    source§

    fn clone(&self) -> DelimSpan

    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 DelimSpan

    source§

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

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

    impl Copy for DelimSpan

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/index.html b/proc_macro2/index.html index 35a8206..fa60d2c 100644 --- a/proc_macro2/index.html +++ b/proc_macro2/index.html @@ -1,4 +1,4 @@ -proc_macro2 - Rust

    Crate proc_macro2

    source ·
    Expand description

    githubcrates-iodocs-rs

    +proc_macro2 - Rust

    Crate proc_macro2

    source ·
    Expand description

    githubcrates-iodocs-rs


    A wrapper around the procedural macro API of the compiler’s proc_macro crate. This library serves two purposes:

    @@ -36,7 +36,7 @@ a macro to be testable in isolation, they must be implemented using proc_macro::TokenStream::from(output) }
    -

    If parsing with Syn, you’ll use parse_macro_input! instead to +

    If parsing with Syn, you’ll use parse_macro_input! instead to propagate parse errors correctly back to the compiler when parsing fails.

    Unstable features

    The default feature set of proc-macro2 tracks the most recent stable @@ -44,7 +44,7 @@ compiler API. Functionality in proc_macro that is not yet stable is exposed by proc-macro2 by default.

    To opt into the additional APIs available in the most recent nightly compiler, the procmacro2_semver_exempt config flag must be passed to -rustc. We will polyfill those nightly-only APIs back to Rust 1.31.0. As +rustc. We will polyfill those nightly-only APIs back to Rust 1.56.0. As these are unstable APIs that track the nightly compiler, minor versions of proc-macro2 may make breaking changes to them at any time.

    RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo build
    @@ -57,7 +57,8 @@ as a reminder that you are outside of the normal semver guarantees.

    Most types in this crate are !Sync because the underlying compiler types make use of thread-local memory, meaning they cannot be accessed from a different thread.

    -

    Modules

    Public implementation details for the TokenStream type, such as iterators.

    Structs

    A delimited token stream.
    A word of Rust code, which may be a keyword or legal variable name.
    Error returned from TokenStream::from_str.
    A literal string ("hello"), byte string (b"hello"), character ('a'), +

    Modules

    • Items which do not have a correspondence to any API in the proc_macro crate, +but are necessary to include in proc-macro2.
    • Public implementation details for the TokenStream type, such as iterators.

    Structs

    • A delimited token stream.
    • A word of Rust code, which may be a keyword or legal variable name.
    • Error returned from TokenStream::from_str.
    • A literal string ("hello"), byte string (b"hello"), character ('a'), byte character (b'a'), an integer or floating point number with or without -a suffix (1, 1u8, 2.3, 2.3f32).
    A Punct is a single punctuation character like +, - or #.
    A region of source code, along with macro expansion information.
    An abstract stream of tokens, or more concretely a sequence of token trees.

    Enums

    Describes how a sequence of token trees is delimited.
    Whether a Punct is followed immediately by another Punct or followed by -another token or whitespace.
    A single token or a delimited sequence of token trees (e.g. [1, (), ..]).
    \ No newline at end of file +a suffix (1, 1u8, 2.3, 2.3f32).
  • A Punct is a single punctuation character like +, - or #.
  • A region of source code, along with macro expansion information.
  • An abstract stream of tokens, or more concretely a sequence of token trees.
  • Enums

    • Describes how a sequence of token trees is delimited.
    • Whether a Punct is followed immediately by another Punct or followed by +another token or whitespace.
    • A single token or a delimited sequence of token trees (e.g. [1, (), ..]).
    \ No newline at end of file diff --git a/proc_macro2/sidebar-items.js b/proc_macro2/sidebar-items.js index c733b2c..ad457cb 100644 --- a/proc_macro2/sidebar-items.js +++ b/proc_macro2/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["Delimiter","Describes how a sequence of token trees is delimited."],["Spacing","Whether a `Punct` is followed immediately by another `Punct` or followed by another token or whitespace."],["TokenTree","A single token or a delimited sequence of token trees (e.g. `[1, (), ..]`)."]],"mod":[["token_stream","Public implementation details for the `TokenStream` type, such as iterators."]],"struct":[["Group","A delimited token stream."],["Ident","A word of Rust code, which may be a keyword or legal variable name."],["LexError","Error returned from `TokenStream::from_str`."],["Literal","A literal string (`\"hello\"`), byte string (`b\"hello\"`), character (`'a'`), byte character (`b'a'`), an integer or floating point number with or without a suffix (`1`, `1u8`, `2.3`, `2.3f32`)."],["Punct","A `Punct` is a single punctuation character like `+`, `-` or `#`."],["Span","A region of source code, along with macro expansion information."],["TokenStream","An abstract stream of tokens, or more concretely a sequence of token trees."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["Delimiter","Spacing","TokenTree"],"mod":["extra","token_stream"],"struct":["Group","Ident","LexError","Literal","Punct","Span","TokenStream"]}; \ No newline at end of file diff --git a/proc_macro2/struct.Group.html b/proc_macro2/struct.Group.html index 0b098b6..3cff770 100644 --- a/proc_macro2/struct.Group.html +++ b/proc_macro2/struct.Group.html @@ -1,34 +1,46 @@ -Group in proc_macro2 - Rust

    Struct proc_macro2::Group

    source ·
    pub struct Group { /* private fields */ }
    Expand description

    A delimited token stream.

    +Group in proc_macro2 - Rust

    Struct proc_macro2::Group

    source ·
    pub struct Group { /* private fields */ }
    Expand description

    A delimited token stream.

    A Group internally contains a TokenStream which is surrounded by Delimiters.

    -

    Implementations§

    Creates a new Group with the given delimiter and token stream.

    +

    Implementations§

    source§

    impl Group

    source

    pub fn new(delimiter: Delimiter, stream: TokenStream) -> Self

    Creates a new Group with the given delimiter and token stream.

    This constructor will set the span for this group to Span::call_site(). To change the span you can use the set_span method below.

    -

    Returns the delimiter of this Group

    -

    Returns the TokenStream of tokens that are delimited in this Group.

    +
    source

    pub fn delimiter(&self) -> Delimiter

    Returns the punctuation used as the delimiter for this group: a set of +parentheses, square brackets, or curly braces.

    +
    source

    pub fn stream(&self) -> TokenStream

    Returns the TokenStream of tokens that are delimited in this Group.

    Note that the returned token stream does not include the delimiter returned above.

    -

    Returns the span for the delimiters of this token stream, spanning the +

    source

    pub fn span(&self) -> Span

    Returns the span for the delimiters of this token stream, spanning the entire Group.

    pub fn span(&self) -> Span {
                ^^^^^^^
    -

    Returns the span pointing to the opening delimiter of this group.

    +
    source

    pub fn span_open(&self) -> Span

    Returns the span pointing to the opening delimiter of this group.

    pub fn span_open(&self) -> Span {
                     ^
    -

    Returns the span pointing to the closing delimiter of this group.

    +
    source

    pub fn span_close(&self) -> Span

    Returns the span pointing to the closing delimiter of this group.

    pub fn span_close(&self) -> Span {
                            ^
    -

    Configures the span for this Group’s delimiters, but not its internal +

    source

    pub fn delim_span(&self) -> DelimSpan

    Returns an object that holds this group’s span_open() and +span_close() together (in a more compact representation than holding +those 2 spans individually).

    +
    source

    pub fn set_span(&mut self, span: Span)

    Configures the span for this Group’s delimiters, but not its internal tokens.

    This method will not set the span of all the internal tokens spanned by this group, but rather it will only set the span of the delimiter tokens at the level of the Group.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more

    Prints the group as a string that should be losslessly convertible back +

    Trait Implementations§

    source§

    impl Clone for Group

    source§

    fn clone(&self) -> Group

    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 Group

    source§

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

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

    impl Display for Group

    Prints the group as a string that should be losslessly convertible back into the same group (modulo spans), except for possibly TokenTree::Groups with Delimiter::None delimiters.

    -
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source§

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

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

    impl From<Group> for TokenTree

    source§

    fn from(g: Group) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Group

    §

    impl !Send for Group

    §

    impl !Sync for Group

    §

    impl Unpin for Group

    §

    impl UnwindSafe for Group

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/struct.Ident.html b/proc_macro2/struct.Ident.html index fecf2a3..4421a08 100644 --- a/proc_macro2/struct.Ident.html +++ b/proc_macro2/struct.Ident.html @@ -1,4 +1,4 @@ -Ident in proc_macro2 - Rust

    Struct proc_macro2::Ident

    source ·
    pub struct Ident { /* private fields */ }
    Expand description

    A word of Rust code, which may be a keyword or legal variable name.

    +Ident in proc_macro2 - Rust

    Struct proc_macro2::Ident

    source ·
    pub struct Ident { /* private fields */ }
    Expand description

    A word of Rust code, which may be a keyword or legal variable name.

    An identifier consists of at least one Unicode code point, the first of which has the XID_Start property and the rest of which have the XID_Continue property.

    @@ -7,7 +7,7 @@ property.

  • A lifetime is not an identifier. Use syn::Lifetime instead.
  • An identifier constructed with Ident::new is permitted to be a Rust -keyword, though parsing one through its Parse implementation rejects +keyword, though parsing one through its Parse implementation rejects Rust keywords. Use input.call(Ident::parse_any) when parsing to match the behaviour of Ident::new.

    Examples

    @@ -45,7 +45,7 @@ method.

    if ident_string.len() > 60 { println!("Very long identifier: {}", ident_string) }
    -

    Implementations§

    Creates a new Ident with the given string as well as the specified +

    Implementations§

    source§

    impl Ident

    source

    pub fn new(string: &str, span: Span) -> Self

    Creates a new Ident with the given string as well as the specified span.

    The string argument must be a valid identifier permitted by the language, otherwise the function will panic.

    @@ -65,28 +65,42 @@ tokens, requires a Span to be specified at construction.

    Panics if the input string is neither a keyword nor a legal variable name. If you are not sure whether the string contains an identifier and need to handle an error case, use -syn::parse_str::<Ident> rather than Ident::new.

    -

    Same as Ident::new, but creates a raw identifier (r#ident). The +

    source

    pub fn new_raw(string: &str, span: Span) -> Self

    Same as Ident::new, but creates a raw identifier (r#ident). The string argument must be a valid identifier permitted by the language (including keywords, e.g. fn). Keywords which are usable in path segments (e.g. self, super) are not supported, and will cause a panic.

    -

    Returns the span of this Ident.

    -

    Configures the span of this Ident, possibly changing its hygiene +

    source

    pub fn span(&self) -> Span

    Returns the span of this Ident.

    +
    source

    pub fn set_span(&mut self, span: Span)

    Configures the span of this Ident, possibly changing its hygiene context.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more

    Prints the identifier as a string that should be losslessly convertible back +

    Trait Implementations§

    source§

    impl Clone for Ident

    source§

    fn clone(&self) -> Ident

    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 Ident

    source§

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

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

    impl Display for Ident

    Prints the identifier as a string that should be losslessly convertible back into the same identifier.

    -
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method returns an Ordering between self and other. Read more
    Compares and returns the maximum of two values. Read more
    Compares and returns the minimum of two values. Read more
    Restrict a value to a certain interval. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method returns an ordering between self and other values if one exists. Read more
    This method tests less than (for self and other) and is used by the < operator. Read more
    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    This method tests greater than (for self and other) and is used by the > operator. Read more
    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source§

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

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

    impl From<Ident> for TokenTree

    source§

    fn from(g: Ident) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Ident

    source§

    fn hash<H: Hasher>(&self, hasher: &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 Ord for Ident

    source§

    fn cmp(&self, other: &Ident) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq<Ident> for Ident

    source§

    fn eq(&self, other: &Ident) -> 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<T> PartialEq<T> for Identwhere + T: ?Sized + AsRef<str>,

    source§

    fn eq(&self, other: &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.
    source§

    impl PartialOrd<Ident> for Ident

    source§

    fn partial_cmp(&self, other: &Ident) -> 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
    source§

    impl Eq for Ident

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ident

    §

    impl !Send for Ident

    §

    impl !Sync for Ident

    §

    impl Unpin for Ident

    §

    impl UnwindSafe for Ident

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/struct.LexError.html b/proc_macro2/struct.LexError.html index f2717c9..6b30a87 100644 --- a/proc_macro2/struct.LexError.html +++ b/proc_macro2/struct.LexError.html @@ -1,7 +1,13 @@ -LexError in proc_macro2 - Rust

    Struct proc_macro2::LexError

    source ·
    pub struct LexError { /* private fields */ }
    Expand description

    Error returned from TokenStream::from_str.

    -

    Implementations§

    Trait Implementations§

    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    The lower-level source of this error, if any. Read more
    👎Deprecated since 1.42.0: use the Display impl or to_string()
    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +LexError in proc_macro2 - Rust

    Struct proc_macro2::LexError

    source ·
    pub struct LexError { /* private fields */ }
    Expand description

    Error returned from TokenStream::from_str.

    +

    Implementations§

    source§

    impl LexError

    source

    pub fn span(&self) -> Span

    Trait Implementations§

    source§

    impl Debug for LexError

    source§

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

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

    impl Display for LexError

    source§

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

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

    impl Error for LexError

    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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/struct.Literal.html b/proc_macro2/struct.Literal.html index 5fecab2..b9a38dc 100644 --- a/proc_macro2/struct.Literal.html +++ b/proc_macro2/struct.Literal.html @@ -1,9 +1,9 @@ -Literal in proc_macro2 - Rust

    Struct proc_macro2::Literal

    source ·
    pub struct Literal { /* private fields */ }
    Expand description

    A literal string ("hello"), byte string (b"hello"), character ('a'), +Literal in proc_macro2 - Rust

    Struct proc_macro2::Literal

    source ·
    pub struct Literal { /* private fields */ }
    Expand description

    A literal string ("hello"), byte string (b"hello"), character ('a'), byte character (b'a'), an integer or floating point number with or without a suffix (1, 1u8, 2.3, 2.3f32).

    Boolean literals like true and false do not belong here, they are Idents.

    -

    Implementations§

    Creates a new suffixed integer literal with the specified value.

    +

    Implementations§

    source§

    impl Literal

    source

    pub fn u8_suffixed(n: u8) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -12,7 +12,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn u16_suffixed(n: u16) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -21,7 +21,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn u32_suffixed(n: u32) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -30,7 +30,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn u64_suffixed(n: u64) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -39,7 +39,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn u128_suffixed(n: u128) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -48,7 +48,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn usize_suffixed(n: usize) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -57,7 +57,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn i8_suffixed(n: i8) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -66,7 +66,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn i16_suffixed(n: i16) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -75,7 +75,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn i32_suffixed(n: i32) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -84,7 +84,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn i64_suffixed(n: i64) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -93,7 +93,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn i128_suffixed(n: i128) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -102,7 +102,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new suffixed integer literal with the specified value.

    +
    source

    pub fn isize_suffixed(n: isize) -> Literal

    Creates a new suffixed integer literal with the specified value.

    This function will create an integer like 1u32 where the integer value specified is the first part of the token and the integral is also suffixed at the end. Literals created from negative numbers may @@ -111,7 +111,7 @@ broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn u8_unsuffixed(n: u8) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -122,7 +122,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn u16_unsuffixed(n: u16) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -133,7 +133,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn u32_unsuffixed(n: u32) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -144,7 +144,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn u64_unsuffixed(n: u64) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -155,7 +155,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn u128_unsuffixed(n: u128) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -166,7 +166,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn usize_unsuffixed(n: usize) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -177,7 +177,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn i8_unsuffixed(n: i8) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -188,7 +188,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn i16_unsuffixed(n: i16) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -199,7 +199,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn i32_unsuffixed(n: i32) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -210,7 +210,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn i64_unsuffixed(n: i64) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -221,7 +221,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn i128_unsuffixed(n: i128) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -232,7 +232,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed integer literal with the specified value.

    +
    source

    pub fn isize_unsuffixed(n: isize) -> Literal

    Creates a new unsuffixed integer literal with the specified value.

    This function will create an integer like 1 where the integer value specified is the first part of the token. No suffix is specified on this token, meaning that invocations like @@ -243,7 +243,7 @@ be broken into two tokens (- and positive literal).

    Literals created through this method have the Span::call_site() span by default, which can be configured with the set_span method below.

    -

    Creates a new unsuffixed floating-point literal.

    +
    source

    pub fn f64_unsuffixed(f: f64) -> Literal

    Creates a new unsuffixed floating-point literal.

    This constructor is similar to those like Literal::i8_unsuffixed where the float’s value is emitted directly into the token but no suffix is used, so it may be inferred to be a f64 later in the compiler. @@ -253,7 +253,7 @@ and positive literal).

    Panics

    This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.

    -

    Creates a new suffixed floating-point literal.

    +
    source

    pub fn f64_suffixed(f: f64) -> Literal

    Creates a new suffixed floating-point literal.

    This constructor will create a literal like 1.0f64 where the value specified is the preceding part of the token and f64 is the suffix of the token. This token will always be inferred to be an f64 in the @@ -263,7 +263,7 @@ tokens (- and positive literal).

    Panics

    This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.

    -

    Creates a new unsuffixed floating-point literal.

    +
    source

    pub fn f32_unsuffixed(f: f32) -> Literal

    Creates a new unsuffixed floating-point literal.

    This constructor is similar to those like Literal::i8_unsuffixed where the float’s value is emitted directly into the token but no suffix is used, so it may be inferred to be a f64 later in the compiler. @@ -273,7 +273,7 @@ and positive literal).

    Panics

    This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.

    -

    Creates a new suffixed floating-point literal.

    +
    source

    pub fn f32_suffixed(f: f32) -> Literal

    Creates a new suffixed floating-point literal.

    This constructor will create a literal like 1.0f32 where the value specified is the preceding part of the token and f32 is the suffix of the token. This token will always be inferred to be an f32 in the @@ -283,19 +283,27 @@ tokens (- and positive literal).

    Panics

    This function requires that the specified float is finite, for example if it is infinity or NaN this function will panic.

    -

    String literal.

    -

    Character literal.

    -

    Byte string literal.

    -

    Returns the span encompassing this literal.

    -

    Configures the span associated for this literal.

    -

    Returns a Span that is a subset of self.span() containing only +

    source

    pub fn string(string: &str) -> Literal

    String literal.

    +
    source

    pub fn character(ch: char) -> Literal

    Character literal.

    +
    source

    pub fn byte_string(s: &[u8]) -> Literal

    Byte string literal.

    +
    source

    pub fn span(&self) -> Span

    Returns the span encompassing this literal.

    +
    source

    pub fn set_span(&mut self, span: Span)

    Configures the span associated for this literal.

    +
    source

    pub fn subspan<R: RangeBounds<usize>>(&self, range: R) -> Option<Span>

    Returns a Span that is a subset of self.span() containing only the source bytes in range range. Returns None if the would-be trimmed span is outside the bounds of self.

    Warning: the underlying proc_macro::Literal::subspan method is nightly-only. When called from within a procedural macro not using a nightly compiler, this method will always return None.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    The associated error which can be returned from parsing.
    Parses a string s to return a value of this type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Literal

    source§

    fn clone(&self) -> Literal

    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 Literal

    source§

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

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

    impl Display for Literal

    source§

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

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

    impl From<Literal> for TokenTree

    source§

    fn from(g: Literal) -> Self

    Converts to this type from the input type.
    source§

    impl FromStr for Literal

    §

    type Err = LexError

    The associated error which can be returned from parsing.
    source§

    fn from_str(repr: &str) -> Result<Self, LexError>

    Parses a string s to return a value of this type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/struct.Punct.html b/proc_macro2/struct.Punct.html index e35b32d..d2ac655 100644 --- a/proc_macro2/struct.Punct.html +++ b/proc_macro2/struct.Punct.html @@ -1,23 +1,31 @@ -Punct in proc_macro2 - Rust

    Struct proc_macro2::Punct

    source ·
    pub struct Punct { /* private fields */ }
    Expand description

    A Punct is a single punctuation character like +, - or #.

    +Punct in proc_macro2 - Rust

    Struct proc_macro2::Punct

    source ·
    pub struct Punct { /* private fields */ }
    Expand description

    A Punct is a single punctuation character like +, - or #.

    Multicharacter operators like += are represented as two instances of Punct with different forms of Spacing returned.

    -

    Implementations§

    Creates a new Punct from the given character and spacing.

    +

    Implementations§

    source§

    impl Punct

    source

    pub fn new(ch: char, spacing: Spacing) -> Self

    Creates a new Punct from the given character and spacing.

    The ch argument must be a valid punctuation character permitted by the language, otherwise the function will panic.

    The returned Punct will have the default span of Span::call_site() which can be further configured with the set_span method below.

    -

    Returns the value of this punctuation character as char.

    -

    Returns the spacing of this punctuation character, indicating whether +

    source

    pub fn as_char(&self) -> char

    Returns the value of this punctuation character as char.

    +
    source

    pub fn spacing(&self) -> Spacing

    Returns the spacing of this punctuation character, indicating whether it’s immediately followed by another Punct in the token stream, so they can potentially be combined into a multicharacter operator (Joint), or it’s followed by some other token or whitespace (Alone) so the operator has certainly ended.

    -

    Returns the span for this punctuation character.

    -

    Configure the span for this punctuation character.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more

    Prints the punctuation character as a string that should be losslessly +

    source

    pub fn span(&self) -> Span

    Returns the span for this punctuation character.

    +
    source

    pub fn set_span(&mut self, span: Span)

    Configure the span for this punctuation character.

    +

    Trait Implementations§

    source§

    impl Clone for Punct

    source§

    fn clone(&self) -> Punct

    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 Punct

    source§

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

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

    impl Display for Punct

    Prints the punctuation character as a string that should be losslessly convertible back into the same character.

    -
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source§

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

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

    impl From<Punct> for TokenTree

    source§

    fn from(g: Punct) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Punct

    §

    impl !Send for Punct

    §

    impl !Sync for Punct

    §

    impl Unpin for Punct

    §

    impl UnwindSafe for Punct

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/struct.Span.html b/proc_macro2/struct.Span.html index d0956fa..30ea5a4 100644 --- a/proc_macro2/struct.Span.html +++ b/proc_macro2/struct.Span.html @@ -1,31 +1,43 @@ -Span in proc_macro2 - Rust

    Struct proc_macro2::Span

    source ·
    pub struct Span { /* private fields */ }
    Expand description

    A region of source code, along with macro expansion information.

    -

    Implementations§

    The span of the invocation of the current procedural macro.

    +Span in proc_macro2 - Rust

    Struct proc_macro2::Span

    source ·
    pub struct Span { /* private fields */ }
    Expand description

    A region of source code, along with macro expansion information.

    +

    Implementations§

    source§

    impl Span

    source

    pub fn call_site() -> Self

    The span of the invocation of the current procedural macro.

    Identifiers created with this span will be resolved as if they were written directly at the macro call location (call-site hygiene) and other code at the macro call site will be able to refer to them as well.

    -

    The span located at the invocation of the procedural macro, but with +

    source

    pub fn mixed_site() -> Self

    The span located at the invocation of the procedural macro, but with local variables, labels, and $crate resolved at the definition site of the macro. This is the same hygiene behavior as macro_rules.

    -

    This function requires Rust 1.45 or later.

    -

    Creates a new span with the same line/column information as self but +

    source

    pub fn resolved_at(&self, other: Span) -> Span

    Creates a new span with the same line/column information as self but that resolves symbols as though it were at other.

    -

    Creates a new span with the same name resolution behavior as self but +

    source

    pub fn located_at(&self, other: Span) -> Span

    Creates a new span with the same name resolution behavior as self but with the line/column information of other.

    -

    Convert proc_macro2::Span to proc_macro::Span.

    +
    source

    pub fn unwrap(self) -> Span

    Convert proc_macro2::Span to proc_macro::Span.

    This method is available when building with a nightly compiler, or when building with rustc 1.29+ without semver exempt features.

    Panics

    Panics if called from outside of a procedural macro. Unlike proc_macro2::Span, the proc_macro::Span type can only exist within the context of a procedural macro invocation.

    -

    Create a new span encompassing self and other.

    +
    source

    pub fn join(&self, other: Span) -> Option<Span>

    Create a new span encompassing self and other.

    Returns None if self and other are from different files.

    Warning: the underlying proc_macro::Span::join method is nightly-only. When called from within a procedural macro not using a nightly compiler, this method will always return None.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more

    Prints a span in a form convenient for debugging.

    -
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn source_text(&self) -> Option<String>

    Returns the source text behind a span. This preserves the original +source code, including spaces and comments. It only returns a result if +the span corresponds to real source code.

    +

    Note: The observable result of a macro should only rely on the tokens +and not on this source text. The result of this function is a best +effort to be used for diagnostics only.

    +

    Trait Implementations§

    source§

    impl Clone for Span

    source§

    fn clone(&self) -> Span

    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 Span

    Prints a span in a form convenient for debugging.

    +
    source§

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

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

    impl From<Span> for Span

    source§

    fn from(proc_span: Span) -> Self

    Converts to this type from the input type.
    source§

    impl Copy for Span

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Span

    §

    impl !Send for Span

    §

    impl !Sync for Span

    §

    impl Unpin for Span

    §

    impl UnwindSafe for Span

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/struct.TokenStream.html b/proc_macro2/struct.TokenStream.html index 55e2b26..90506b8 100644 --- a/proc_macro2/struct.TokenStream.html +++ b/proc_macro2/struct.TokenStream.html @@ -1,26 +1,34 @@ -TokenStream in proc_macro2 - Rust
    pub struct TokenStream { /* private fields */ }
    Expand description

    An abstract stream of tokens, or more concretely a sequence of token trees.

    +TokenStream in proc_macro2 - Rust
    pub struct TokenStream { /* private fields */ }
    Expand description

    An abstract stream of tokens, or more concretely a sequence of token trees.

    This type provides interfaces for iterating over token trees and for collecting token trees into one stream.

    Token stream is both the input and output of #[proc_macro], #[proc_macro_attribute] and #[proc_macro_derive] definitions.

    -

    Implementations§

    Returns an empty TokenStream containing no token trees.

    -

    Checks if this TokenStream is empty.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more

    Prints token in a form convenient for debugging.

    -
    Formats the value using the given formatter. Read more

    TokenStream::default() returns an empty stream, +

    Implementations§

    source§

    impl TokenStream

    source

    pub fn new() -> Self

    Returns an empty TokenStream containing no token trees.

    +
    source

    pub fn is_empty(&self) -> bool

    Checks if this TokenStream is empty.

    +

    Trait Implementations§

    source§

    impl Clone for TokenStream

    source§

    fn clone(&self) -> TokenStream

    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 TokenStream

    Prints token in a form convenient for debugging.

    +
    source§

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

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

    impl Default for TokenStream

    TokenStream::default() returns an empty stream, i.e. this is equivalent with TokenStream::new().

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

    Prints the token stream as a string that is supposed to be losslessly +

    source§

    fn default() -> Self

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

    impl Display for TokenStream

    Prints the token stream as a string that is supposed to be losslessly convertible back into the same token stream (modulo spans), except for possibly TokenTree::Groups with Delimiter::None delimiters and negative numeric literals.

    -
    Formats the value using the given formatter. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Creates a value from an iterator. Read more

    Collects a number of token trees into a single stream.

    -
    Creates a value from an iterator. Read more

    Attempts to break the string into tokens and parse those tokens into a token +

    source§

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

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

    impl Extend<TokenStream> for TokenStream

    source§

    fn extend<I: IntoIterator<Item = TokenStream>>(&mut self, streams: I)

    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 Extend<TokenTree> for TokenStream

    source§

    fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, streams: I)

    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 From<TokenStream> for TokenStream

    source§

    fn from(inner: TokenStream) -> Self

    Converts to this type from the input type.
    source§

    impl From<TokenStream> for TokenStream

    source§

    fn from(inner: TokenStream) -> Self

    Converts to this type from the input type.
    source§

    impl From<TokenTree> for TokenStream

    source§

    fn from(token: TokenTree) -> Self

    Converts to this type from the input type.
    source§

    impl FromIterator<TokenStream> for TokenStream

    source§

    fn from_iter<I: IntoIterator<Item = TokenStream>>(streams: I) -> Self

    Creates a value from an iterator. Read more
    source§

    impl FromIterator<TokenTree> for TokenStream

    Collects a number of token trees into a single stream.

    +
    source§

    fn from_iter<I: IntoIterator<Item = TokenTree>>(streams: I) -> Self

    Creates a value from an iterator. Read more
    source§

    impl FromStr for TokenStream

    Attempts to break the string into tokens and parse those tokens into a token stream.

    May fail for a number of reasons, for example, if the string contains unbalanced delimiters or characters not existing in the language.

    NOTE: Some errors may cause panics instead of returning LexError. We reserve the right to change these errors into LexErrors later.

    -
    The associated error which can be returned from parsing.
    Parses a string s to return a value of this type. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    §

    type Err = LexError

    The associated error which can be returned from parsing.
    source§

    fn from_str(src: &str) -> Result<TokenStream, LexError>

    Parses a string s to return a value of this type. Read more
    source§

    impl IntoIterator for TokenStream

    §

    type Item = TokenTree

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter

    Which kind of iterator are we turning this into?
    source§

    fn into_iter(self) -> IntoIter

    Creates an iterator from a value. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/proc_macro2/token_stream/index.html b/proc_macro2/token_stream/index.html index ddc7a18..479bb14 100644 --- a/proc_macro2/token_stream/index.html +++ b/proc_macro2/token_stream/index.html @@ -1,2 +1,2 @@ -proc_macro2::token_stream - Rust
    Expand description

    Public implementation details for the TokenStream type, such as iterators.

    -

    Re-exports

    pub use crate::TokenStream;

    Structs

    An iterator over TokenStream’s TokenTrees.
    \ No newline at end of file +proc_macro2::token_stream - Rust
    Expand description

    Public implementation details for the TokenStream type, such as iterators.

    +

    Re-exports

    Structs

    • An iterator over TokenStream’s TokenTrees.
    \ No newline at end of file diff --git a/proc_macro2/token_stream/sidebar-items.js b/proc_macro2/token_stream/sidebar-items.js index 1cfb51e..3999696 100644 --- a/proc_macro2/token_stream/sidebar-items.js +++ b/proc_macro2/token_stream/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":[["IntoIter","An iterator over `TokenStream`’s `TokenTree`s."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["IntoIter"]}; \ No newline at end of file diff --git a/proc_macro2/token_stream/struct.IntoIter.html b/proc_macro2/token_stream/struct.IntoIter.html index c01adee..3ad91b6 100644 --- a/proc_macro2/token_stream/struct.IntoIter.html +++ b/proc_macro2/token_stream/struct.IntoIter.html @@ -1,40 +1,197 @@ -IntoIter in proc_macro2::token_stream - Rust
    pub struct IntoIter { /* private fields */ }
    Expand description

    An iterator over TokenStream’s TokenTrees.

    +IntoIter in proc_macro2::token_stream - Rust
    pub struct IntoIter { /* private fields */ }
    Expand description

    An iterator over TokenStream’s TokenTrees.

    The iteration is “shallow”, e.g. the iterator doesn’t recurse into delimited groups, and returns whole groups as token trees.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +

    Trait Implementations§

    source§

    impl Clone for IntoIter

    source§

    fn clone(&self) -> IntoIter

    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 IntoIter

    source§

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

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

    impl Iterator for IntoIter

    §

    type Item = TokenTree

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<TokenTree>

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse(self, separator: Self::Item) -> Intersperse<Self>where + Self: Sized, + Self::Item: Clone,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places a copy of separator between adjacent +items of the original iterator. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    Repeats an iterator endlessly. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 · source§

    fn cycle(self) -> Cycle<Self>where + Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/quote/all.html b/quote/all.html index 2ac18a0..fa43c03 100644 --- a/quote/all.html +++ b/quote/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/quote/index.html b/quote/index.html index 17b1ba4..0718344 100644 --- a/quote/index.html +++ b/quote/index.html @@ -1,4 +1,4 @@ -quote - Rust

    Crate quote

    source ·
    Expand description

    githubcrates-iodocs-rs

    +quote - Rust

    Crate quote

    source ·
    Expand description

    githubcrates-iodocs-rs


    This crate provides the quote! macro for turning Rust syntax tree data structures into tokens of source code.

    @@ -48,5 +48,11 @@ implementing hygienic procedural macros.

    phantom: core::marker::PhantomData::<#item_ty>, } };
    -

    Macros

    Formatting macro for constructing Idents.
    The whole point.
    Same as quote!, but applies a given span to all tokens originating within -the macro invocation.

    Traits

    Specialized formatting trait used by format_ident!.
    Types that can be interpolated inside a quote! invocation.
    TokenStream extension trait with methods for appending tokens.
    \ No newline at end of file +
    +

    Non-macro code generators

    +

    When using quote in a build.rs or main.rs and writing the output out to a +file, consider having the code generator pass the tokens through +prettyplease before writing. This way if an error occurs in the generated +code it is convenient for a human to read and debug.

    +

    Macros

    • Formatting macro for constructing Idents.
    • The whole point.
    • Same as quote!, but applies a given span to all tokens originating within +the macro invocation.

    Traits

    • Specialized formatting trait used by format_ident!.
    • Types that can be interpolated inside a quote! invocation.
    • TokenStream extension trait with methods for appending tokens.
    \ No newline at end of file diff --git a/quote/macro.format_ident.html b/quote/macro.format_ident.html index 64f08da..45542c3 100644 --- a/quote/macro.format_ident.html +++ b/quote/macro.format_ident.html @@ -1,35 +1,34 @@ -format_ident in quote - Rust

    Macro quote::format_ident

    source ·
    macro_rules! format_ident {
    +format_ident in quote - Rust

    Macro quote::format_ident

    source ·
    macro_rules! format_ident {
         ($fmt:expr) => { ... };
         ($fmt:expr, $($rest:tt)*) => { ... };
    -}
    -
    Expand description

    Formatting macro for constructing Idents.

    +}
    Expand description

    Formatting macro for constructing Idents.


    Syntax

    -

    Syntax is copied from the format! macro, supporting both positional and +

    Syntax is copied from the format! macro, supporting both positional and named arguments.

    Only a limited set of formatting traits are supported. The current mapping of format types to traits is:

    -

    See std::fmt for more information.

    +

    See std::fmt for more information.


    IdentFragment

    -

    Unlike format!, this macro uses the IdentFragment formatting trait by +

    Unlike format!, this macro uses the IdentFragment formatting trait by default. This trait is like Display, with a few differences:

    • IdentFragment is only implemented for a limited set of types, such as unsigned integers and strings.
    • -
    • Ident arguments will have their r# prefixes stripped, if present.
    • +
    • Ident arguments will have their r# prefixes stripped, if present.

    Hygiene

    -

    The Span of the first Ident argument is used as the span of the final -identifier, falling back to Span::call_site when no identifiers are +

    The Span of the first Ident argument is used as the span of the final +identifier, falling back to Span::call_site when no identifiers are provided.

    // If `ident` is an Ident, the span of `my_ident` will be inherited from it.
    @@ -74,4 +73,4 @@ identifier.

    let upper_hex = format_ident!("Id_{:X}", num); assert_eq!(upper_hex, "Id_A");
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/quote/macro.quote.html b/quote/macro.quote.html index 5f24966..1e52b9e 100644 --- a/quote/macro.quote.html +++ b/quote/macro.quote.html @@ -1,11 +1,10 @@ -quote in quote - Rust

    Macro quote::quote

    source ·
    macro_rules! quote {
    +quote in quote - Rust

    Macro quote::quote

    source ·
    macro_rules! quote {
         ($($tt:tt)*) => { ... };
    -}
    -
    Expand description

    The whole point.

    +}
    Expand description

    The whole point.

    Performs variable interpolation against the input and produces it as -proc_macro2::TokenStream.

    +proc_macro2::TokenStream.

    Note: for returning tokens to the compiler in a procedural macro, use -.into() on the result to convert to proc_macro::TokenStream.

    +.into() on the result to convert to proc_macro::TokenStream.


    Interpolation

    Variable interpolation is done with #var (similar to $var in @@ -103,7 +102,7 @@ continue to be two separate tokens as if you had written _ x.

    let mut _#ident = 0; }

    The solution is to build a new identifier token with the correct value. As -this is such a common case, the format_ident! macro provides a +this is such a common case, the format_ident! macro provides a convenient utility for doing so correctly.

    let varname = format_ident!("_{}", ident);
    @@ -149,13 +148,13 @@ but for macros often the following is more convenient.

    Neither doc comments nor string literals get interpolation behavior in quote:

    -
    quote! {
    +
    quote! {
         /// try to interpolate: #ident
         ///
         /// ...
     }
    -
    quote! {
    +
    quote! {
         #[doc = "try to interpolate: #ident"]
     }

    Instead the best way to build doc comments that involve variables is by @@ -173,7 +172,7 @@ formatting the doc string literal outside of quote.

    appears suffixed as integer literals by interpolating them as syn::Index instead.

    -
    let i = 0usize..self.fields.len();
    +
    let i = 0usize..self.fields.len();
     
     // expands to 0 + self.0usize.heap_size() + self.1usize.heap_size() + ...
     // which is not valid syntax
    @@ -187,4 +186,4 @@ instead.

    quote! { 0 #( + self.#i.heap_size() )* }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/quote/macro.quote_spanned.html b/quote/macro.quote_spanned.html index 48ea26f..07c0e41 100644 --- a/quote/macro.quote_spanned.html +++ b/quote/macro.quote_spanned.html @@ -1,7 +1,6 @@ -quote_spanned in quote - Rust

    Macro quote::quote_spanned

    source ·
    macro_rules! quote_spanned {
    +quote_spanned in quote - Rust

    Macro quote::quote_spanned

    source ·
    macro_rules! quote_spanned {
         ($span:expr=> $($tt:tt)*) => { ... };
    -}
    -
    Expand description

    Same as quote!, but applies a given span to all tokens originating within +}

    Expand description

    Same as quote!, but applies a given span to all tokens originating within the macro invocation.


    Syntax

    @@ -50,4 +49,4 @@ input span of their type is highlighted in the error.

    In this example it is important for the where-clause to be spanned with the line/column information of the user’s input type so that error messages are placed appropriately by the compiler.

    -
    \ No newline at end of file + \ No newline at end of file diff --git a/quote/sidebar-items.js b/quote/sidebar-items.js index a83e7ac..408ea38 100644 --- a/quote/sidebar-items.js +++ b/quote/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"macro":[["format_ident","Formatting macro for constructing `Ident`s."],["quote","The whole point."],["quote_spanned","Same as `quote!`, but applies a given span to all tokens originating within the macro invocation."]],"trait":[["IdentFragment","Specialized formatting trait used by `format_ident!`."],["ToTokens","Types that can be interpolated inside a `quote!` invocation."],["TokenStreamExt","TokenStream extension trait with methods for appending tokens."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"macro":["format_ident","quote","quote_spanned"],"trait":["IdentFragment","ToTokens","TokenStreamExt"]}; \ No newline at end of file diff --git a/quote/trait.IdentFragment.html b/quote/trait.IdentFragment.html index 4bb0d2b..1fac0ed 100644 --- a/quote/trait.IdentFragment.html +++ b/quote/trait.IdentFragment.html @@ -1,12 +1,15 @@ -IdentFragment in quote - Rust

    Trait quote::IdentFragment

    source ·
    pub trait IdentFragment {
    -    fn fmt(&self, f: &mut Formatter<'_>) -> Result;
    +IdentFragment in quote - Rust

    Trait quote::IdentFragment

    source ·
    pub trait IdentFragment {
    +    // Required method
    +    fn fmt(&self, f: &mut Formatter<'_>) -> Result;
     
    -    fn span(&self) -> Option<Span> { ... }
    -}
    Expand description

    Specialized formatting trait used by format_ident!.

    -

    Ident arguments formatted using this trait will have their r# prefix + // Provided method + fn span(&self) -> Option<Span> { ... } +}

    Expand description

    Specialized formatting trait used by format_ident!.

    +

    Ident arguments formatted using this trait will have their r# prefix stripped, if present.

    -

    See [format_ident!] for more information.

    -

    Required Methods§

    Format this value as an identifier fragment.

    -

    Provided Methods§

    Span associated with this IdentFragment.

    +

    See format_ident! for more information.

    +

    Required Methods§

    source

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

    Format this value as an identifier fragment.

    +

    Provided Methods§

    source

    fn span(&self) -> Option<Span>

    Span associated with this IdentFragment.

    If non-None, may be inherited by formatted identifiers.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Implementations on Foreign Types§

    source§

    impl<T> IdentFragment for Cow<'_, T>where + T: IdentFragment + ToOwned + ?Sized,

    source§

    fn span(&self) -> Option<Span>

    source§

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

    source§

    impl<T: IdentFragment + ?Sized> IdentFragment for &T

    source§

    fn span(&self) -> Option<Span>

    source§

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

    source§

    impl IdentFragment for u16

    source§

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

    source§

    impl IdentFragment for str

    source§

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

    source§

    impl IdentFragment for bool

    source§

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

    source§

    impl IdentFragment for u8

    source§

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

    source§

    impl IdentFragment for u128

    source§

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

    source§

    impl IdentFragment for String

    source§

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

    source§

    impl IdentFragment for usize

    source§

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

    source§

    impl IdentFragment for char

    source§

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

    source§

    impl IdentFragment for u32

    source§

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

    source§

    impl IdentFragment for Ident

    source§

    fn span(&self) -> Option<Span>

    source§

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

    source§

    impl IdentFragment for u64

    source§

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

    source§

    impl<T: IdentFragment + ?Sized> IdentFragment for &mut T

    source§

    fn span(&self) -> Option<Span>

    source§

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

    Implementors§

    \ No newline at end of file diff --git a/quote/trait.ToTokens.html b/quote/trait.ToTokens.html index 4cb2c53..2457856 100644 --- a/quote/trait.ToTokens.html +++ b/quote/trait.ToTokens.html @@ -1,11 +1,13 @@ -ToTokens in quote - Rust

    Trait quote::ToTokens

    source ·
    pub trait ToTokens {
    +ToTokens in quote - Rust

    Trait quote::ToTokens

    source ·
    pub trait ToTokens {
    +    // Required method
         fn to_tokens(&self, tokens: &mut TokenStream);
     
    +    // Provided methods
         fn to_token_stream(&self) -> TokenStream { ... }
    -    fn into_token_stream(self) -> TokenStream
        where
            Self: Sized
    , - { ... } -}
    Expand description

    Types that can be interpolated inside a quote! invocation.

    -

    Required Methods§

    Write self to the given TokenStream.

    + fn into_token_stream(self) -> TokenStream + where Self: Sized { ... } +}
    Expand description

    Types that can be interpolated inside a quote! invocation.

    +

    Required Methods§

    source

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream.

    The token append methods provided by the TokenStreamExt extension trait may be useful for implementing ToTokens.

    Example
    @@ -32,10 +34,11 @@ trait may be useful for implementing ToTokens.

    } } }
    -

    Provided Methods§

    Convert self directly into a TokenStream object.

    +

    Provided Methods§

    source

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object.

    This method is implicitly implemented using to_tokens, and acts as a convenience method for consumers of the ToTokens trait.

    -

    Convert self directly into a TokenStream object.

    +
    source

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object.

    This method is implicitly implemented using to_tokens, and acts as a convenience method for consumers of the ToTokens trait.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Implementations on Foreign Types§

    source§

    impl ToTokens for u128

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for f32

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for u8

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for Punct

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for bool

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for f64

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for Ident

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for usize

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl<T: ToTokens> ToTokens for Option<T>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for char

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for i16

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for Literal

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for TokenTree

    source§

    fn to_tokens(&self, dst: &mut TokenStream)

    source§

    impl ToTokens for u16

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for i64

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for String

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl<'a, T: ?Sized + ToTokens> ToTokens for &'a mut T

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for str

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for u32

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl<T: ?Sized + ToTokens> ToTokens for Rc<T>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl<'a, T: ?Sized + ToTokens> ToTokens for &'a T

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for isize

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for i128

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl<'a, T: ?Sized + ToOwned + ToTokens> ToTokens for Cow<'a, T>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for i8

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for TokenStream

    source§

    impl ToTokens for u64

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for i32

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl ToTokens for Group

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    source§

    impl<T: ?Sized + ToTokens> ToTokens for Box<T>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Implementors§

    \ No newline at end of file diff --git a/quote/trait.TokenStreamExt.html b/quote/trait.TokenStreamExt.html index 886bd36..efe0db0 100644 --- a/quote/trait.TokenStreamExt.html +++ b/quote/trait.TokenStreamExt.html @@ -1,13 +1,26 @@ -TokenStreamExt in quote - Rust

    Trait quote::TokenStreamExt

    source ·
    pub trait TokenStreamExt: Sealed {
    -    fn append<U>(&mut self, token: U)
        where
            U: Into<TokenTree>
    ; - fn append_all<I>(&mut self, iter: I)
        where
            I: IntoIterator,
            I::Item: ToTokens
    ; - fn append_separated<I, U>(&mut self, iter: I, op: U)
        where
            I: IntoIterator,
            I::Item: ToTokens,
            U: ToTokens
    ; - fn append_terminated<I, U>(&mut self, iter: I, term: U)
        where
            I: IntoIterator,
            I::Item: ToTokens,
            U: ToTokens
    ; -}
    Expand description

    TokenStream extension trait with methods for appending tokens.

    +TokenStreamExt in quote - Rust

    Trait quote::TokenStreamExt

    source ·
    pub trait TokenStreamExt: Sealed {
    +    // Required methods
    +    fn append<U>(&mut self, token: U)
    +       where U: Into<TokenTree>;
    +    fn append_all<I>(&mut self, iter: I)
    +       where I: IntoIterator,
    +             I::Item: ToTokens;
    +    fn append_separated<I, U>(&mut self, iter: I, op: U)
    +       where I: IntoIterator,
    +             I::Item: ToTokens,
    +             U: ToTokens;
    +    fn append_terminated<I, U>(&mut self, iter: I, term: U)
    +       where I: IntoIterator,
    +             I::Item: ToTokens,
    +             U: ToTokens;
    +}
    Expand description

    TokenStream extension trait with methods for appending tokens.

    This trait is sealed and cannot be implemented outside of the quote crate.

    -

    Required Methods§

    For use by ToTokens implementations.

    +

    Required Methods§

    source

    fn append<U>(&mut self, token: U)where + U: Into<TokenTree>,

    For use by ToTokens implementations.

    Appends the token specified to this list of tokens.

    -

    For use by ToTokens implementations.

    +
    source

    fn append_all<I>(&mut self, iter: I)where + I: IntoIterator, + I::Item: ToTokens,

    For use by ToTokens implementations.

    struct X;
     
    @@ -19,10 +32,25 @@
     
     let tokens = quote!(#X);
     assert_eq!(tokens.to_string(), "true false");
    -

    For use by ToTokens implementations.

    +
    source

    fn append_separated<I, U>(&mut self, iter: I, op: U)where + I: IntoIterator, + I::Item: ToTokens, + U: ToTokens,

    For use by ToTokens implementations.

    Appends all of the items in the iterator I, separated by the tokens U.

    -

    For use by ToTokens implementations.

    +
    source

    fn append_terminated<I, U>(&mut self, iter: I, term: U)where + I: IntoIterator, + I::Item: ToTokens, + U: ToTokens,

    For use by ToTokens implementations.

    Appends all tokens in the iterator I, appending U after each element, including after the last element of the iterator.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Implementations on Foreign Types§

    source§

    impl TokenStreamExt for TokenStream

    source§

    fn append<U>(&mut self, token: U)where + U: Into<TokenTree>,

    source§

    fn append_all<I>(&mut self, iter: I)where + I: IntoIterator, + I::Item: ToTokens,

    source§

    fn append_separated<I, U>(&mut self, iter: I, op: U)where + I: IntoIterator, + I::Item: ToTokens, + U: ToTokens,

    source§

    fn append_terminated<I, U>(&mut self, iter: I, term: U)where + I: IntoIterator, + I::Item: ToTokens, + U: ToTokens,

    Implementors§

    \ No newline at end of file diff --git a/search-index.js b/search-index.js index 0920bda..2afb298 100644 --- a/search-index.js +++ b/search-index.js @@ -1,15 +1,14 @@ var searchIndex = JSON.parse('{\ -"cfg_if":{"doc":"A macro for defining #[cfg] if-else statements.","t":[14],"n":["cfg_if"],"q":["cfg_if"],"d":["The main macro provided by this crate. See crate …"],"i":[0],"f":[0],"p":[]},\ -"delog":{"doc":"Compile-time configurable deferred logging (for printf()…","t":[13,13,8,13,13,8,13,13,4,4,13,3,8,8,3,13,13,8,8,13,13,11,11,11,10,12,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,14,5,5,11,11,11,11,11,11,10,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,11,11,0,14,14,11,11,11,11,11,11,11,11,11,11,11,11,2,5,11,11,11,11,11,11,11,11,11,11,11,11,11,10,12,0,10,10,11,11,10,12,11,11,11,5,11,11,11,11,11,11,11,11,10,11,11,11,11,10,12,3,5,18,18,8,3,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,11,11,11,11,11,11,5,11,11,11,11,11,11,5,5,11,11,11,11,11,11],"n":["Debug","Debug","Delogger","Error","Error","Flusher","Info","Info","Level","LevelFilter","Off","Record","Renderer","State","Statistics","Trace","Trace","TryLog","TryLogWithStatistics","Warn","Warn","args","as_str","as_str","attempts","attempts","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffer","builder","capacity","capacity","claimed","clone","clone","clone","clone","cmp","cmp","delog","dequeue","enqueue","eq","eq","eq","eq","file","file_static","flush","flush","flushes","flushes","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_str","from_str","ge","ge","ge","ge","generate_macros","gt","gt","gt","gt","hash","hash","hex","hex_str","hexstr","into","into","into","into","iter","iter","le","le","le","le","level","line","log","logger","lt","lt","lt","lt","max","max","metadata","module_path","module_path_static","partial_cmp","partial_cmp","partial_cmp","partial_cmp","read","read","render","render","render","statistics","statistics","successes","successes","target","to_level","to_level_filter","try_enqueue","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_log","type_id","type_id","type_id","type_id","written","written","HexStr","HexStr","N","SEPARATOR","Separator","U1","Unsigned","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","value","DefaultRenderer","RipgrepRenderer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","default","from","from","into","into","render","render","render_arguments","render_record","try_from","try_from","try_into","try_into","type_id","type_id"],"q":["delog","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","delog::hex","","","","","","","","","","","","","","","","","","","","","","","","","","delog::render","","","","","","","","","","","","","","","","","","","","","",""],"d":["The “debug” level.","Corresponds to the Debug log level.","Semi-abstract characterization of the deferred loggers …","The “error” level.","Corresponds to the Error log level.","A way to pass on logs, user supplied.","The “info” level.","Corresponds to the Info log level.","An enum representing the available verbosity levels of the …","An enum representing the available verbosity level filters …","A level lower than all log levels.","The “payload” of a log message.","A way to format logs, user supplied.","Trait for either state or statistics of loggers.","Statistics on logger usage.","The “trace” level.","Corresponds to the Trace log level.","Fallible, panic-free version of the log::Log trait.","TryLog with some usage statistics on top.","The “warn” level.","Corresponds to the Warn log level.","The message body.","Returns the string representation of the Level.","Returns the string representation of the LevelFilter.","How often was one of the logging macros called.","How often was one of the logging macros called.","","","","","","","","","the underlying buffer","Returns a new builder.","Capacity of circular buffer.","Capacity of circular buffer.","How many characters were claimed so far.","","","","","","","Generate a deferred logger with specified capacity and …","The core “read from circular buffer” method. Marked …","The core “write to circular buffer” method. Marked …","","","","","The source file containing the message.","The module path of the message, if it is a 'static string.","Call the flusher.","Implementor must handle passed log &str in some hopefully …","How often was the flusher called.","How often was the flusher called.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Generate logging macros that can be gated by library.","","","","","","","Convenient Display and other traits for binary data.","Compactly format byte arrays and slices as hexadecimals.","More compactly format byte arrays and slices as …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate through all supported logging levels.","Iterate through all supported filtering levels.","","","","","The verbosity level of the message.","The line containing the message.","","Returns a reference to the logger (as TryLogWithStatistics …","","","","","Returns the most verbose logging level.","Returns the most verbose logging level filter.","Metadata about the log directive.","The module path of the message.","The module path of the message, if it is a 'static string.","","","","","How many bytes were flushed so far.","How many bytes were flushed so far.","The default, minimal renderer, and some helper functions.","Actually render the arguments (via internal static buffer).","Implementor must render record into buf, returning the …","Read out statistics on logger usage.","Read out statistics on logger usage.","How often was one of the logging macros called without …","How often was one of the logging macros called without …","The name of the target of the directive.","Converts self to the equivalent Level.","Converts the Level to the equivalent LevelFilter.","The fallible “write to circular buffer” method. Marked …","","","","","","","","","Fallible logging call (fails when buffer is full)","","","","","How many bytes were logged so far.","How many bytes were logged so far.","Zero-sized wrapper newtype, allowing grouping bytes in …","Explicitly construct a newtype to format with.","The actual number.","The actual separator str.","A type that specifies a separator str.","A type that represents the integer 1.","A type that specifies an unsigned integer.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","The value to be formatted.","Renders just the record.args().","Renders the record.args(), prefixed by level, target, and …","","","","","","","The default, minimal renderer.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","For some reason, there seems to be no existing method to …","Render record, based on feature flags.","","","","","",""],"i":[3,5,0,3,5,0,3,5,0,0,5,0,0,0,0,3,5,0,0,3,5,1,3,5,28,9,9,3,5,1,9,3,5,1,11,1,11,11,11,9,3,5,1,3,5,0,0,0,3,3,5,5,1,1,11,29,28,9,9,3,3,5,5,1,9,3,5,1,3,5,3,3,5,5,0,3,3,5,5,3,5,0,0,0,9,3,5,1,3,5,3,3,5,5,1,1,0,0,3,3,5,5,3,5,1,1,1,3,3,5,5,28,9,0,11,30,31,31,28,9,1,5,3,0,9,3,5,1,9,3,5,1,32,9,3,5,1,28,9,0,0,23,24,0,0,0,33,25,33,25,25,25,25,25,33,25,33,25,33,25,33,25,33,25,25,0,0,26,27,26,27,26,27,0,26,27,26,27,26,27,0,0,26,27,26,27,26,27],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,4],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],6],[[],7],[[],7],[[],8],[9,9],[3,3],[5,5],[1,1],[[3,3],10],[[5,5],10],0,[11,4],[[11,1]],[[3,3],12],[[3,5],12],[[5,3],12],[[5,5],12],[1,[[13,[4]]]],[1,[[13,[4]]]],[4],[4],[[]],0,[[9,14],15],[[3,14],[[17,[16]]]],[[3,14],[[17,[16]]]],[[5,14],[[17,[16]]]],[[5,14],[[17,[16]]]],[[1,14],[[17,[16]]]],[[]],[[]],[[]],[[]],[4,[[17,[3]]]],[4,[[17,[5]]]],[[3,3],12],[[3,5],12],[[5,3],12],[[5,5],12],0,[[3,5],12],[[3,3],12],[[5,5],12],[[5,3],12],[3],[5],0,0,0,[[]],[[]],[[]],[[]],[[],18],[[],18],[[3,3],12],[[3,5],12],[[5,5],12],[[5,3],12],[1,3],[1,[[13,[19]]]],0,[[],13],[[3,5],12],[[3,3],12],[[5,3],12],[[5,5],12],[[],3],[[],5],[1,20],[1,[[13,[4]]]],[1,[[13,[4]]]],[[3,5],[[13,[10]]]],[[3,3],[[13,[10]]]],[[5,3],[[13,[10]]]],[[5,5],[[13,[10]]]],[[]],0,0,[1],[1],[[],9],[[],9],[[]],0,[1,4],[5,[[13,[3]]]],[3,5],[[11,1],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[1,17],[[],21],[[],21],[[],21],[[],21],[[]],0,0,[[],[[25,[22,23,24]]]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[25,14],[[17,[16]]]],[[25,14],[[17,[16]]]],[[25,14],[[17,[16]]]],[[25,14],[[17,[16]]]],[[]],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],21],[[],21],0,0,0,[[]],[[]],[[]],[[]],[26,26],[27,27],[[],26],[[]],[[]],[[]],[[]],[[26,1]],[[27,1]],[2],[1],[[],17],[[],17],[[],17],[[],17],[[],21],[[],21]],"p":[[3,"Record"],[3,"Arguments"],[4,"Level"],[15,"str"],[4,"LevelFilter"],[3,"RecordBuilder"],[15,"usize"],[3,"AtomicUsize"],[3,"Statistics"],[4,"Ordering"],[8,"Delogger"],[15,"bool"],[4,"Option"],[3,"Formatter"],[6,"Result"],[3,"Error"],[4,"Result"],[8,"Iterator"],[15,"u32"],[3,"Metadata"],[3,"TypeId"],[8,"Sized"],[8,"Unsigned"],[8,"Separator"],[3,"HexStr"],[3,"DefaultRenderer"],[3,"RipgrepRenderer"],[8,"State"],[8,"Flusher"],[8,"Renderer"],[8,"TryLogWithStatistics"],[8,"TryLog"],[3,"U1"]]},\ -"flexiber":{"doc":"flexiber","t":[13,18,18,4,8,13,8,24,3,8,24,3,3,4,13,18,18,13,13,13,3,13,18,18,18,13,13,18,13,6,18,18,3,3,3,8,8,6,3,13,13,18,18,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12],"n":["Application","BIT_STRING","BOOLEAN","Class","Container","Context","Decodable","Decodable","Decoder","Encodable","Encodable","Encoder","Error","ErrorKind","Failed","GENERALIZED_TIME","INTEGER","InvalidClass","InvalidLength","InvalidTag","Length","Length","NULL","OBJECT_IDENTIFIER","OCTET_STRING","Overflow","Overlength","PRINTABLE_STRING","Private","Result","SEQUENCE","SET","SimpleTag","Slice","Tag","TagLike","Tagged","TaggedSlice","TaggedValue","TrailingData","Truncated","UTC_TIME","UTF8_STRING","Underlength","UnexpectedTag","Universal","UnsupportedTagSize","add","add","add","add","add","application","as_bytes","as_bytes","as_bytes","as_ref","assert_eq","assert_eq","at","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","class","clone","clone","clone","clone","clone","clone","clone","clone","cmp","constructed","constructed","context","decode","decode","decode","decode","decode","decode","decode_nested","decode_nested","decode_tagged_slice","decode_tagged_value","default","embedding","embedding","embedding","encode","encode","encode","encode","encode","encode","encode","encode_tagged_collection","encode_to_slice","encode_to_slice","encode_untagged_collection","encoded_length","encoded_length","encoded_length","encoded_length","encoded_length","encoded_length","eq","eq","eq","eq","eq","eq","eq","eq","error","error","fields","finish","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","into","into","into","into","into","into","into","into","into","into","is_empty","is_empty","is_empty","is_failed","is_failed","is_finished","kind","length","length","length","max","nested","new","new","new","new","new","number","partial_cmp","position","private","tag","tag","to_usize","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_into","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","type_id","universal","with_value","with_value","zero","actual","actual","byte","decoded","expected","expected","remaining","tag","value"],"q":["flexiber","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","flexiber::ErrorKind","","","","","","","",""],"d":["","","","Class of BER tag.","Multiple encodables in a container.","","Decoding trait.","Derive the Decodable trait on a struct.","BER-TLV decoder.","Encoding trait.","Derive the Encodable trait on a struct.","BER-TLV encoder.","Error type.","Error type.","Operation failed due to previous error","","","Class has more than 2 bytes","Length greater than u16::MAX","Invalid tag","BER-TLV-encoded length.","Incorrect length for a given field","","","","Integer overflow occurred (library bug!)","Message is longer than BER-TLV’s limits support","","","Result type.","","","These are tags like in SIMPLE-TLV.","Slice of at most Length::max() bytes.","The tag field consists of a single byte encoding a tag …","This is the common trait that types to be used as tags are …","Types with an associated BER-TLV Tag.","Raw BER-TLV data object TaggedValue<Slice<'_>>.","BER-TLV data object.","Undecoded trailing data at end of message","Unexpected end-of-message/nested field when decoding","","","Encoded message is shorter than the expected length (i.e. …","Unexpected tag","","Tag does not fit in 3 bytes","","","","","","","Borrow the inner byte slice.","Borrow the inner byte slice","Borrow the inner byte slice.","","Assert that this Tag matches the provided expected tag.","Assert that this Tag matches the provided expected tag.","Annotate an ErrorKind with context about where it occurred,","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Attempt to decode this message using the provided decoder.","","Decode a value which impls the Decodable trait.","","","","Decode nested values, creating a new Decoder for the data …","Decode nested values, creating a new Decoder for the data …","Decode a TaggedSlice with tag checked to be as expected, …","Decode a TaggedValue with tag checked to be as expected, …","","To stick with one Error type, make sure the tag type can …","","","Encode this value as BER-TLV using the provided Encoder.","","Encode a value which impls the Encodable trait.","","","","","Encode a collection of values which impl the Encodable …","Encode this value to the provided byte slice, returning a …","Encode this value to the provided byte slice, returning a …","Encode a collection of values which impl the Encodable …","Compute the length of this value in bytes when encoded as …","","","","","","","","","","","","","","Return an error with the given ErrorKind, annotating it …","Return an error with the given ErrorKind, annotating it …","Call the provided function with a slice of Encodable trait …","Finish decoding, returning the given value if there is no …","Finish encoding to the buffer, returning a slice …","","","","","","","","","","","","","","Create a new tagged slice, checking lengths.","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.","Create a new tagged slice, checking lengths.","Returns the argument unchanged.","Parse Self from the provided byte slice.","Parse Self from the provided byte slice.","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).","Is the inner byte slice empty?","Is this Slice empty?","Is the inner byte slice empty?","Did the decoding operation fail due to an error?","Did the decoding operation fail due to an error?","Have we decoded all of the bytes in this Decoder?","Get the ErrorKind which occurred.","Get the length of the inner byte slice.","Get the Length of this Slice","Get the length of the inner byte slice.","Get the maximum length supported by BER-TLV: 65,535.","For errors occurring inside of a nested message, extend …","Create a new decoder for the given byte slice.","Create a new encoder with the given byte slice as a …","Create a new Error","Create a new Slice, ensuring that the provided slice value …","","","","Get the position inside of the message where the error …","","The tag","","Convert length to usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Ergonomic way to get a TaggedValue for a given tag and …","Ergonomic way to get a TaggedValue for a given tag and …","Return a length of 0.","Actual length","Actual tag encountered in the message","Raw byte value of the tag","Length of the decoded data","Expected length","Tag the decoder was expecting (if there is a single such …","Total length of the remaining data left in the buffer","Tag type of the value being decoded",""],"i":[13,6,6,0,0,13,0,0,0,0,0,0,0,0,10,6,6,10,10,10,0,10,6,6,6,10,10,6,13,0,6,6,0,0,0,0,0,0,0,10,10,6,6,10,10,13,10,2,1,1,1,1,6,7,8,9,8,18,18,10,16,19,11,10,1,12,8,13,6,9,16,19,11,10,1,12,8,13,6,9,6,11,10,1,12,8,13,6,9,1,6,6,6,17,7,16,1,12,6,7,9,16,16,1,18,12,6,29,7,19,1,12,6,9,19,29,29,19,29,7,1,12,6,9,11,10,1,12,8,13,6,9,16,19,30,16,19,16,19,11,11,10,10,1,1,8,13,6,6,9,7,16,16,19,11,11,11,10,1,1,1,12,8,13,6,6,9,9,17,17,16,19,11,10,1,12,8,13,6,9,7,8,9,16,19,16,11,7,8,9,1,11,16,19,11,8,9,6,1,11,6,31,9,1,16,19,11,10,1,1,1,12,12,8,13,13,6,6,6,9,16,19,11,10,1,12,8,13,6,9,16,19,11,10,1,12,8,13,6,9,6,18,18,1,32,33,34,35,32,33,35,36,37],"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,[[[2,[1]],1],[[2,[1]]]],[[1,3],[[2,[1]]]],[[1,4],[[2,[1]]]],[[1,5],[[2,[1]]]],[[1,1],[[2,[1]]]],[3,6],[7],[8],[[[9,[8]]]],[8],[[],2],[[],2],[[10,1],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[11,11],[10,10],[1,1],[12,12],[8,8],[13,13],[6,6],[[[9,[14,14]]],[[9,[14,14]]]],[[1,1],15],[6,6],0,[3,6],[16,2],[16,[[2,[7]]]],[16,[[2,[17]]]],[16,[[2,[1]]]],[16,[[2,[12]]]],[16,[[2,[6]]]],[7,2],[[[9,[8]]],2],[[16,[0,[17,18]]],2],[[16,[0,[17,18]]],[[2,[17]]]],[[],1],[[],6],[12,6],[6,6],[19,2],[[7,19],2],[19,2],[[1,19],2],[[12,19],2],[[6,19],2],[[9,19],2],[[19,6],2],[[],2],[[],2],[19,2],[[],[[2,[1]]]],[7,[[2,[1]]]],[1,[[2,[1]]]],[12,[[2,[1]]]],[6,[[2,[1]]]],[9,[[2,[1]]]],[[11,11],20],[[10,10],20],[[1,1],20],[[12,12],20],[[8,8],20],[[13,13],20],[[6,6],20],[[[9,[21,21]],9],20],[[16,10],2],[[19,10],2],[[],2],[16,2],[19,2],[[16,22],23],[[19,22],23],[[11,22],23],[[11,22],23],[[10,22],23],[[10,22],23],[[1,22],23],[[1,22],23],[[8,22],23],[[13,22],23],[[6,22],23],[[6,22],23],[[[9,[24,24]],22],23],[[],[[2,[7]]]],[[]],[[],16],[[]],[10,11],[25,11],[[]],[[]],[[]],[3,1],[5,1],[[]],[[]],[[]],[[13,20,3],6],[[]],[[],[[2,[[9,[8]]]]]],[[]],[[],2],[[],2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,20],[8,20],[[[9,[8]]],20],[16,20],[19,20],[16,20],[11,10],[7,1],[8,1],[[[9,[8]]],1],[[],4],[[11,1],11],[[],16],[[],19],[[10,1],11],[[],[[2,[8]]]],[[],9],0,[[1,1],[[26,[15]]]],[11,[[26,[1]]]],[3,6],[[],6],[9],[1,4],[[],27],[[],27],[[],27],[[],27],[4,[[2,[1]]]],[[],[[2,[1]]]],[[],27],[[],27],[5,[[2,[12]]]],[[],27],[[],27],[5,[[2,[13]]]],[[],27],[5,[[2,[6]]]],[[],[[2,[6]]]],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[3,6],[[],9],[[],9],[[],1],0,0,0,0,0,0,0,0,0],"p":[[3,"Length"],[6,"Result"],[15,"u16"],[15,"usize"],[15,"u8"],[3,"Tag"],[6,"TaggedSlice"],[3,"Slice"],[3,"TaggedValue"],[4,"ErrorKind"],[3,"Error"],[3,"SimpleTag"],[4,"Class"],[8,"Clone"],[4,"Ordering"],[3,"Decoder"],[8,"Decodable"],[8,"TagLike"],[3,"Encoder"],[15,"bool"],[8,"PartialEq"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[4,"Infallible"],[4,"Option"],[4,"Result"],[3,"TypeId"],[8,"Encodable"],[8,"Container"],[8,"Tagged"],[13,"Underlength"],[13,"UnexpectedTag"],[13,"InvalidTag"],[13,"TrailingData"],[13,"Length"],[13,"InvalidClass"]]},\ -"flexiber_derive":{"doc":"Custom derive support for the flexiber crate","t":[24,24],"n":["Decodable","Encodable"],"q":["flexiber_derive",""],"d":["Derive the Decodable trait on a struct.","Derive the Encodable trait on a struct."],"i":[0,0],"f":[0,0],"p":[]},\ -"log":{"doc":"A lightweight logging facade.","t":[13,13,13,13,13,13,4,4,8,3,3,13,3,3,3,17,3,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,10,11,11,11,11,11,11,11,14,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,14,14,5,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,11,11,11,11,11,11,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14],"n":["Debug","Debug","Error","Error","Info","Info","Level","LevelFilter","Log","Metadata","MetadataBuilder","Off","ParseLevelError","Record","RecordBuilder","STATIC_MAX_LEVEL","SetLoggerError","Trace","Trace","Warn","Warn","args","args","as_str","as_str","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","builder","builder","clone","clone","clone","clone","cmp","cmp","cmp","cmp","debug","enabled","eq","eq","eq","eq","eq","eq","eq","error","file","file","file_static","file_static","flush","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_str","from_str","ge","ge","ge","ge","gt","gt","gt","gt","hash","hash","hash","hash","info","into","into","into","into","into","into","into","into","iter","iter","le","le","le","le","level","level","level","level","line","line","log","log","log_enabled","logger","lt","lt","lt","lt","max","max","max_level","metadata","metadata","module_path","module_path","module_path_static","module_path_static","new","new","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","set_logger","set_logger_racy","set_max_level","target","target","target","target","to_level","to_level_filter","trace","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","warn"],"q":["log","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["The “debug” level.","Corresponds to the Debug log level.","The “error” level.","Corresponds to the Error log level.","The “info” level.","Corresponds to the Info log level.","An enum representing the available verbosity levels of the …","An enum representing the available verbosity level filters …","A trait encapsulating the operations required of a logger.","Metadata about a log message.","Builder for Metadata.","A level lower than all log levels.","The type returned by from_str when the string doesn’t …","The “payload” of a log message.","Builder for Record.","The statically resolved maximum log level.","The type returned by set_logger if set_logger has already …","The “trace” level.","Corresponds to the Trace log level.","The “warn” level.","Corresponds to the Warn log level.","The message body.","Set args.","Returns the string representation of the Level.","Returns the string representation of the LevelFilter.","","","","","","","","","","","","","","","","","Invoke the builder and return a Record","Returns a Metadata object.","Returns a new builder.","Returns a new builder.","","","","","","","","","Logs a message at the debug level.","Determines if a log message with the specified metadata …","","","","","","","","Logs a message at the error level.","The source file containing the message.","Set file","The module path of the message, if it is a 'static string.","Set file to a 'static string.","Flushes any buffered records.","","","","","","","","","","","","","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.","","","","","","","","","","","","","","","Logs a message at the info level.","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).","Iterate through all supported logging levels.","Iterate through all supported filtering levels.","","","","","The verbosity level of the message.","Set Metadata::level.","The verbosity level of the message.","Setter for level.","The line containing the message.","Set line","Logs the Record.","The standard logging macro.","Determines if a message logged at the specified level in …","Returns a reference to the logger.","","","","","Returns the most verbose logging level.","Returns the most verbose logging level filter.","Returns the current maximum log level.","Metadata about the log directive.","Set metadata. Construct a Metadata object with …","The module path of the message.","Set module_path","The module path of the message, if it is a 'static string.","Set module_path to a 'static string","Construct new RecordBuilder.","Construct a new MetadataBuilder.","","","","","","","Sets the global logger to a &'static Log.","A thread-unsafe version of set_logger.","Sets the global maximum log level.","The name of the target of the directive.","Set Metadata::target","The name of the target of the directive.","Setter for target.","Converts self to the equivalent Level.","Converts the Level to the equivalent LevelFilter.","Logs a message at the trace level.","","","","","","","","","","","","","","","","","","","","","","","","","Logs a message at the warn level."],"i":[4,6,4,6,4,6,0,0,0,0,0,6,0,0,0,0,0,4,6,4,6,1,3,4,6,4,6,1,3,8,7,15,11,4,6,1,3,8,7,15,11,3,7,1,8,4,6,1,8,4,6,8,7,0,19,4,4,6,6,8,7,11,0,1,3,1,3,19,4,4,6,6,1,3,8,7,15,15,11,11,4,6,1,3,8,7,15,11,4,6,4,4,6,6,4,4,6,6,4,6,8,7,0,4,6,1,3,8,7,15,11,4,6,4,4,6,6,1,3,8,7,1,3,19,0,0,0,4,4,6,6,4,6,0,1,3,1,3,1,3,3,7,4,4,6,6,8,7,0,0,0,1,3,8,7,6,4,0,4,6,1,3,8,7,15,11,4,6,1,3,8,7,15,11,4,6,1,3,8,7,15,11,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[[3,2],3],[4,5],[6,5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[3,1],[7,8],[[],3],[[],7],[4,4],[6,6],[1,1],[8,8],[[4,4],9],[[6,6],9],[[8,8],9],[[7,7],9],0,[8,10],[[4,4],10],[[4,6],10],[[6,4],10],[[6,6],10],[[8,8],10],[[7,7],10],[[11,11],10],0,[1,[[12,[5]]]],[[3,[12,[5]]],3],[1,[[12,[5]]]],[[3,[12,[5]]],3],[[]],[[4,13],14],[[4,13],14],[[6,13],14],[[6,13],14],[[1,13],14],[[3,13],14],[[8,13],14],[[7,13],14],[[15,13],14],[[15,13],14],[[11,13],14],[[11,13],14],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[5,[[16,[4]]]],[5,[[16,[6]]]],[[4,6],10],[[4,4],10],[[6,6],10],[[6,4],10],[[4,6],10],[[4,4],10],[[6,6],10],[[6,4],10],[4],[6],[8],[7],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],17],[[],17],[[4,6],10],[[4,4],10],[[6,4],10],[[6,6],10],[1,4],[[3,4],3],[8,4],[[7,4],7],[1,[[12,[18]]]],[[3,[12,[18]]],3],[1],0,0,[[],19],[[4,4],10],[[4,6],10],[[6,4],10],[[6,6],10],[[],4],[[],6],[[],6],[1,8],[[3,8],3],[1,[[12,[5]]]],[[3,[12,[5]]],3],[1,[[12,[5]]]],[[3,[12,[5]]],3],[[],3],[[],7],[[4,6],[[12,[9]]]],[[4,4],[[12,[9]]]],[[6,4],[[12,[9]]]],[[6,6],[[12,[9]]]],[[8,8],[[12,[9]]]],[[7,7],[[12,[9]]]],[19,[[16,[15]]]],[19,[[16,[15]]]],[6],[1,5],[[3,5],3],[8,5],[[7,5],7],[6,[[12,[4]]]],[4,6],0,[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0],"p":[[3,"Record"],[3,"Arguments"],[3,"RecordBuilder"],[4,"Level"],[15,"str"],[4,"LevelFilter"],[3,"MetadataBuilder"],[3,"Metadata"],[4,"Ordering"],[15,"bool"],[3,"ParseLevelError"],[4,"Option"],[3,"Formatter"],[6,"Result"],[3,"SetLoggerError"],[4,"Result"],[8,"Iterator"],[15,"u32"],[8,"Log"],[3,"TypeId"]]},\ -"proc_macro2":{"doc":"github crates-io docs-rs","t":[13,13,13,4,3,13,3,13,13,3,3,13,13,13,3,13,4,3,3,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,2,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Alone","Brace","Bracket","Delimiter","Group","Group","Ident","Ident","Joint","LexError","Literal","Literal","None","Parenthesis","Punct","Punct","Spacing","Span","TokenStream","TokenTree","as_char","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","byte_string","call_site","character","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","default","delimiter","eq","eq","eq","eq","extend","extend","f32_suffixed","f32_unsuffixed","f64_suffixed","f64_unsuffixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_str","from_str","hash","i128_suffixed","i128_unsuffixed","i16_suffixed","i16_unsuffixed","i32_suffixed","i32_unsuffixed","i64_suffixed","i64_unsuffixed","i8_suffixed","i8_unsuffixed","into","into","into","into","into","into","into","into","into","into","into_iter","is_empty","isize_suffixed","isize_unsuffixed","join","located_at","mixed_site","new","new","new","new","new_raw","partial_cmp","provide","resolved_at","set_span","set_span","set_span","set_span","set_span","spacing","span","span","span","span","span","span","span_close","span_open","stream","string","subspan","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","token_stream","try_from","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","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u128_suffixed","u128_unsuffixed","u16_suffixed","u16_unsuffixed","u32_suffixed","u32_unsuffixed","u64_suffixed","u64_unsuffixed","u8_suffixed","u8_unsuffixed","unwrap","usize_suffixed","usize_unsuffixed","IntoIter","TokenStream","borrow","borrow_mut","clone","clone_into","fmt","from","into","into_iter","next","size_hint","to_owned","try_from","try_into","type_id"],"q":["proc_macro2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","proc_macro2::token_stream","","","","","","","","","","","","","","",""],"d":["E.g. + is Alone in + =, +ident or +().","{ ... }","[ ... ]","Describes how a sequence of token trees is delimited.","A delimited token stream.","A token stream surrounded by bracket delimiters.","A word of Rust code, which may be a keyword or legal …","An identifier.","E.g. + is Joint in += or ' is Joint in '#.","Error returned from TokenStream::from_str.","A literal string ("hello"), byte string (b"hello"), …","A literal character ('a'), string ("hello"), number (2.3), …","Ø ... Ø","( ... )","A Punct is a single punctuation character like +, - or #.","A single punctuation character (+, ,, $, etc.).","Whether a Punct is followed immediately by another Punct …","A region of source code, along with macro expansion …","An abstract stream of tokens, or more concretely a …","A single token or a delimited sequence of token trees …","Returns the value of this punctuation character as char.","","","","","","","","","","","","","","","","","","","","","Byte string literal.","The span of the invocation of the current procedural macro.","Character literal.","","","","","","","","","","","","","","","","","","","","","Returns the delimiter of this Group","","","","","","","Creates a new suffixed floating-point literal.","Creates a new unsuffixed floating-point literal.","Creates a new suffixed floating-point literal.","Creates a new unsuffixed floating-point literal.","","","","","","","","","","","","","","","","","","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.","","","","","","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","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).","","Checks if this TokenStream is empty.","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Create a new span encompassing self and other.","Creates a new span with the same name resolution behavior …","The span located at the invocation of the procedural …","Returns an empty TokenStream containing no token trees.","Creates a new Group with the given delimiter and token …","Creates a new Punct from the given character and spacing.","Creates a new Ident with the given string as well as the …","Same as Ident::new, but creates a raw identifier (r#ident…","","","Creates a new span with the same line/column information …","Configures the span for only this token.","Configures the span for this Group’s delimiters, but not …","Configure the span for this punctuation character.","Configures the span of this Ident, possibly changing its …","Configures the span associated for this literal.","Returns the spacing of this punctuation character, …","","Returns the span of this tree, delegating to the span …","Returns the span for the delimiters of this token stream, …","Returns the span for this punctuation character.","Returns the span of this Ident.","Returns the span encompassing this literal.","Returns the span pointing to the closing delimiter of this …","Returns the span pointing to the opening delimiter of this …","Returns the TokenStream of tokens that are delimited in …","String literal.","Returns a Span that is a subset of self.span() containing …","","","","","","","","","","","","","","","","","Public implementation details for the TokenStream type, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Convert proc_macro2::Span to proc_macro::Span.","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","An iterator over TokenStream’s TokenTrees.","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","",""],"i":[9,8,8,0,0,6,0,6,9,0,0,6,8,8,0,6,0,0,0,0,1,16,5,4,6,7,8,1,9,10,3,16,5,4,6,7,8,1,9,10,3,3,4,3,5,4,6,7,8,1,9,10,3,5,4,6,7,8,1,9,10,3,10,5,7,8,9,10,10,5,5,3,3,3,3,16,16,5,5,4,6,6,7,7,8,1,1,9,10,10,3,3,16,5,5,5,4,4,6,6,6,6,6,7,8,1,9,10,3,5,5,5,3,10,3,3,3,3,3,3,3,3,3,3,16,5,4,6,7,8,1,9,10,3,5,5,3,3,4,4,4,5,7,1,10,10,10,16,4,6,7,1,10,3,1,16,6,7,1,10,3,7,7,7,3,3,5,4,6,7,8,1,9,10,3,16,5,6,7,1,10,3,0,16,5,4,6,7,8,1,9,10,3,16,5,4,6,7,8,1,9,10,3,16,5,4,6,7,8,1,9,10,3,3,3,3,3,3,3,3,3,3,3,4,3,3,0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],3],[[],4],[2,3],[5,5],[4,4],[6,6],[7,7],[8,8],[1,1],[9,9],[10,10],[3,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[10,10],11],[[],5],[7,8],[[8,8],12],[[9,9],12],[10,12],[[10,10],12],[[5,13]],[[5,13]],[14,3],[14,3],[15,3],[15,3],[[16,17],18],[[16,17],18],[[5,17],18],[[5,17],18],[[4,17],18],[[6,17],18],[[6,17],18],[[7,17],18],[[7,17],18],[[8,17],18],[[1,17],18],[[1,17],18],[[9,17],18],[[10,17],18],[[10,17],18],[[3,17],18],[[3,17],18],[[]],[[]],[6,5],[19,5],[[]],[20,4],[7,6],[10,6],[1,6],[3,6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[13,5],[13,5],[21,[[22,[5,16]]]],[21,[[22,[3,16]]]],[10],[23,3],[23,3],[24,3],[24,3],[25,3],[25,3],[26,3],[26,3],[27,3],[27,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[5,28],[5,12],[29,3],[29,3],[[4,4],[[30,[4]]]],[[4,4],4],[[],4],[[],5],[[8,5],7],[[2,9],1],[[21,4],10],[[21,4],10],[[10,10],[[30,[11]]]],[31],[[4,4],4],[[6,4]],[[7,4]],[[1,4]],[[10,4]],[[3,4]],[1,9],[16,4],[6,4],[7,4],[1,4],[10,4],[3,4],[7,4],[7,4],[7,5],[21,3],[[3,[33,[32]]],[[30,[4]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],34],[[],34],[[],34],[[],34],[[],34],[[],34],[[],34],0,[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[36,3],[36,3],[37,3],[37,3],[38,3],[38,3],[39,3],[39,3],[40,3],[40,3],[4,20],[32,3],[32,3],0,0,[[]],[[]],[28,28],[[]],[[28,17],18],[[]],[[]],[[]],[28,[[30,[6]]]],[28],[[]],[[],22],[[],22],[[],35]],"p":[[3,"Punct"],[15,"char"],[3,"Literal"],[3,"Span"],[3,"TokenStream"],[4,"TokenTree"],[3,"Group"],[4,"Delimiter"],[4,"Spacing"],[3,"Ident"],[4,"Ordering"],[15,"bool"],[8,"IntoIterator"],[15,"f32"],[15,"f64"],[3,"LexError"],[3,"Formatter"],[6,"Result"],[3,"TokenStream"],[3,"Span"],[15,"str"],[4,"Result"],[15,"i128"],[15,"i16"],[15,"i32"],[15,"i64"],[15,"i8"],[3,"IntoIter"],[15,"isize"],[4,"Option"],[3,"Demand"],[15,"usize"],[8,"RangeBounds"],[3,"String"],[3,"TypeId"],[15,"u128"],[15,"u16"],[15,"u32"],[15,"u64"],[15,"u8"]]},\ -"quote":{"doc":"github crates-io docs-rs","t":[8,8,8,10,10,10,10,10,14,11,11,14,14,11,11,11,11,10],"n":["IdentFragment","ToTokens","TokenStreamExt","append","append_all","append_separated","append_terminated","fmt","format_ident","into_token_stream","into_token_stream","quote","quote_spanned","span","span","to_token_stream","to_token_stream","to_tokens"],"q":["quote","","","","","","","","","","","","","","","","",""],"d":["Specialized formatting trait used by format_ident!.","Types that can be interpolated inside a quote! invocation.","TokenStream extension trait with methods for appending …","For use by ToTokens implementations.","For use by ToTokens implementations.","For use by ToTokens implementations.","For use by ToTokens implementations.","Format this value as an identifier fragment.","Formatting macro for constructing Idents.","Convert self directly into a TokenStream object.","Convert self directly into a TokenStream object.","The whole point.","Same as quote!, but applies a given span to all tokens …","Span associated with this IdentFragment.","Span associated with this IdentFragment.","Convert self directly into a TokenStream object.","Convert self directly into a TokenStream object.","Write self to the given TokenStream."],"i":[0,0,0,6,6,6,6,7,0,8,8,0,0,7,7,8,8,8],"f":[0,0,0,[[]],[[]],[[]],[[]],[1,2],0,[[],3],[[],3],0,0,[[],[[5,[4]]]],[[],[[5,[4]]]],[[],3],[[],3],[3]],"p":[[3,"Formatter"],[6,"Result"],[3,"TokenStream"],[3,"Span"],[4,"Option"],[8,"TokenStreamExt"],[8,"IdentFragment"],[8,"ToTokens"]]},\ -"syn":{"doc":"github crates-io docs-rs","t":[3,13,13,13,13,3,13,13,13,13,13,4,3,6,13,13,3,4,13,3,13,13,13,13,13,13,13,13,13,3,13,13,13,13,13,13,13,13,13,13,13,13,3,3,13,13,13,13,4,3,3,3,13,13,3,13,13,13,13,13,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,13,4,3,3,13,13,13,4,4,3,13,13,13,2,3,13,3,13,3,13,13,13,13,13,13,13,3,13,13,13,13,3,13,4,13,13,3,3,3,3,3,3,3,13,13,3,13,13,4,13,13,4,4,13,3,3,13,13,13,13,13,13,13,13,4,13,13,13,13,13,13,13,13,13,13,3,3,13,13,13,4,3,3,3,3,13,13,3,13,13,13,13,13,13,13,13,6,13,4,13,13,13,13,13,13,4,13,13,13,13,14,13,3,4,13,13,13,13,13,3,4,13,13,13,13,13,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,13,13,13,13,13,13,3,3,13,13,13,3,3,3,4,3,4,13,13,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,14,12,12,12,12,14,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,11,11,12,12,12,14,14,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,0,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,14,0,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,14,11,11,11,11,14,14,5,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,0,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,0,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,11,11,11,11,12,12,12,12,12,0,12,12,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,10,18,10,3,3,3,16,8,3,6,8,8,6,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,10,13,3,3,3,3,4,3,3,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,10,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,3,3,3,3,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11,5,11,11],"n":["Abi","Add","AddEq","And","AngleBracketed","AngleBracketedGenericArguments","Array","Array","Assign","AssignOp","Async","AttrStyle","Attribute","AttributeArgs","Await","BareFn","BareFnArg","BinOp","Binary","Binding","Binding","BitAnd","BitAndEq","BitOr","BitOrEq","BitXor","BitXorEq","Block","Bool","BoundLifetimes","Box","Brace","Bracket","Break","Byte","ByteStr","Call","Cast","Char","Closure","Const","Const","ConstParam","Constraint","Constraint","Continue","Cooked","Crate","Data","DataEnum","DataStruct","DataUnion","Default","Deref","DeriveInput","Div","DivEq","Enum","Eq","Eq","Error","Expr","ExprArray","ExprAssign","ExprAssignOp","ExprAsync","ExprAwait","ExprBinary","ExprBlock","ExprBox","ExprBreak","ExprCall","ExprCast","ExprClosure","ExprContinue","ExprField","ExprForLoop","ExprGroup","ExprIf","ExprIndex","ExprLet","ExprLit","ExprLoop","ExprMacro","ExprMatch","ExprMethodCall","ExprParen","ExprPath","ExprRange","ExprReference","ExprRepeat","ExprReturn","ExprStruct","ExprTry","ExprTryBlock","ExprTuple","ExprType","ExprUnary","ExprUnsafe","ExprWhile","ExprYield","Field","Field","Fields","FieldsNamed","FieldsUnnamed","Float","ForLoop","Ge","GenericArgument","GenericParam","Generics","Group","Group","Gt","Ident","Ident","If","ImplGenerics","ImplTrait","Index","Index","Infer","Inherited","Inner","Int","Le","Let","Lifetime","Lifetime","Lifetime","Lifetime","Lifetime","LifetimeDef","List","Lit","Lit","Lit","LitBool","LitByte","LitByteStr","LitChar","LitFloat","LitInt","LitStr","Loop","Lt","Macro","Macro","Macro","MacroDelimiter","Match","Maybe","Member","Meta","Meta","MetaList","MetaNameValue","MethodCall","Mul","MulEq","NameValue","Named","Named","Ne","Neg","NestedMeta","Never","None","None","Not","Or","Outer","Paren","Paren","Paren","Parenthesized","ParenthesizedGenericArguments","Path","Path","Path","Path","PathArguments","PathSegment","PredicateEq","PredicateLifetime","PredicateType","Ptr","Public","QSelf","Range","Raw","Reference","Reference","Rem","RemEq","Repeat","Restricted","Result","Return","ReturnType","Shl","ShlEq","Shr","ShrEq","Slice","Str","StrStyle","Struct","Struct","Sub","SubEq","Token","Trait","TraitBound","TraitBoundModifier","TraitObject","Try","TryBlock","Tuple","Tuple","Turbofish","Type","Type","Type","Type","Type","Type","TypeArray","TypeBareFn","TypeGenerics","TypeGroup","TypeImplTrait","TypeInfer","TypeMacro","TypeNever","TypeParam","TypeParamBound","TypeParen","TypePath","TypePtr","TypeReference","TypeSlice","TypeTraitObject","TypeTuple","UnOp","Unary","Union","Unit","Unnamed","Unnamed","Unsafe","Variadic","Variant","Verbatim","Verbatim","Verbatim","VisCrate","VisPublic","VisRestricted","Visibility","WhereClause","WherePredicate","While","Yield","abi","and_token","apostrophe","args","args","arguments","as_token","as_token","as_turbofish","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","bang_token","bang_token","base","base10_digits","base10_digits","base10_parse","base10_parse","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","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","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","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","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","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bounded_ty","bounds","bounds","bounds","bounds","bounds","bounds","bounds","brace_token","brace_token","braced","bracket_token","bracket_token","bracket_token","bracket_token","bracketed","buffer","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","colon2_token","colon_token","colon_token","colon_token","colon_token","colon_token","colon_token","colon_token","const_params","const_params_mut","const_token","const_token","crate_token","custom_keyword","custom_punctuation","data","default","default","default","default","default","delimiter","discriminant","dot_token","dots","dyn_token","elem","elem","elem","elem","elem","elem","elems","enum_token","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq_token","eq_token","eq_token","eq_token","eq_token","expr","expr","expr","expr","ext","extern_token","fields","fields","fields","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fn_token","for_token","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","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","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","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","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","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","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","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","from","from","from","from","from","from","from","from","from","from","func","generics","get_ident","group_token","gt_token","gt_token","gt_token","gt_token","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","ident","ident","ident","ident","ident","ident","ident","ident","ident","impl_token","in_token","index","index","inputs","inputs","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","is_empty","is_empty","is_ident","is_none","iter","iter_mut","leading_colon","left","len","len","lhs_ty","lifetime","lifetime","lifetime","lifetimes","lifetimes","lifetimes","lifetimes","lifetimes","lifetimes_mut","lit","lit","lt_token","lt_token","lt_token","lt_token","mac","make_where_clause","member","modifier","mutability","mutability","name","name","named","nested","new","new","new","new","new","new","new","new","new","new","new","new_raw","op","op","output","output","params","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","parenthesized","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse2","parse_any","parse_args","parse_args_with","parse_body","parse_body_with","parse_inner","parse_macro_input","parse_meta","parse_mod_style","parse_named","parse_outer","parse_quote","parse_quote_spanned","parse_str","parse_unnamed","parse_with","partial_cmp","partial_cmp","path","path","path","path","path","path","path","path","path","position","pound_token","predicates","pub_token","pub_token","punctuated","qself","qself","rhs_ty","right","segments","semi_token","semi_token","set_span","set_span","set_span","set_span","set_span","set_span","set_span","set_span","set_span","set_span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","spanned","split_for_impl","star_token","struct_token","style","suffix","suffix","suffix","suffix","suffix","suffix","suffix","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","token","token","token","token","token","token","token","token","tokens","tokens","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_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_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_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_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_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_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","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_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_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_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_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_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","ty","ty","ty","ty","ty","ty","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","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","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","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","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","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_params","type_params_mut","underscore_token","union_token","unnamed","unraw","unsafety","value","value","value","value","value","value","variadic","variants","vis","vis","visit","where_clause","where_token","without_plus","without_plus","without_plus","without_plus","Cursor","TokenBuffer","begin","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","empty","eof","eq","from","from","group","ident","into","into","lifetime","literal","new","new2","partial_cmp","punct","span","to_owned","token_stream","token_tree","try_from","try_from","try_into","try_into","type_id","type_id","IdentExt","parse_any","peek_any","unraw","Error","Lookahead1","Nothing","Output","Parse","ParseBuffer","ParseStream","Parser","Peek","Result","StepCursor","advance_to","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","clone","clone","clone_into","clone_into","combine","cursor","deref","discouraged","drop","eq","error","error","error","extend","fmt","fmt","fmt","fmt","fmt","fork","from","from","from","from","from","from","hash","into","into","into","into","into","into_compile_error","into_iter","into_iter","is_empty","lookahead1","new","new_spanned","parse","parse","parse","parse","parse2","parse_str","parse_terminated","peek","peek","peek2","peek3","provide","span","span","step","to_compile_error","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","Speculative","advance_to","End","IntoIter","IntoPairs","Iter","IterMut","Pair","Pairs","PairsMut","Punctuated","Punctuated","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","empty_or_trailing","eq","extend","extend","first","first_mut","fmt","from","from","from","from","from","from","from","from","from_iter","from_iter","hash","index","index_mut","insert","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_pairs","into_tuple","into_value","is_empty","iter","iter_mut","last","last_mut","len","len","len","len","len","len","len","new","new","next","next","next","next","next","next","next_back","next_back","next_back","next_back","next_back","next_back","pairs","pairs_mut","parse_separated_nonempty","parse_separated_nonempty_with","parse_terminated","parse_terminated_with","pop","punct","punct_mut","push","push_punct","push_value","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","span","span","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_tokens","to_tokens","trailing_punct","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value","value_mut","Spanned","span","Abstract","Add","AddEq","And","AndAnd","AndEq","As","Async","At","Auto","Await","Bang","Become","Box","Brace","Bracket","Break","Caret","CaretEq","Colon","Colon2","Comma","Const","Continue","Crate","Default","Div","DivEq","Do","Dollar","Dot","Dot2","Dot3","DotDotEq","Dyn","Else","Enum","Eq","EqEq","Extern","FatArrow","Final","Fn","For","Ge","Group","Gt","If","Impl","In","LArrow","Le","Let","Loop","Lt","Macro","Match","Mod","Move","MulEq","Mut","Ne","Or","OrEq","OrOr","Override","Paren","Pound","Priv","Pub","Question","RArrow","Ref","Rem","RemEq","Return","SelfType","SelfValue","Semi","Shl","ShlEq","Shr","ShrEq","Star","Static","Struct","Sub","SubEq","Super","Tilde","Token","Trait","Try","Type","Typeof","Underscore","Union","Unsafe","Unsized","Use","Virtual","Where","While","Yield","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","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","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","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","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deref","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","deref_mut","deref_mut","deref_mut","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","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","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","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","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","surround","surround","surround","surround","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","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_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_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_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_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_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","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_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_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_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_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","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","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","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","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","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","Visit","visit_abi","visit_abi","visit_abi","visit_angle_bracketed_generic_arguments","visit_angle_bracketed_generic_arguments","visit_angle_bracketed_generic_arguments","visit_attr_style","visit_attr_style","visit_attr_style","visit_attribute","visit_attribute","visit_attribute","visit_bare_fn_arg","visit_bare_fn_arg","visit_bare_fn_arg","visit_bin_op","visit_bin_op","visit_bin_op","visit_binding","visit_binding","visit_binding","visit_bound_lifetimes","visit_bound_lifetimes","visit_bound_lifetimes","visit_const_param","visit_const_param","visit_const_param","visit_constraint","visit_constraint","visit_constraint","visit_data","visit_data","visit_data","visit_data_enum","visit_data_enum","visit_data_enum","visit_data_struct","visit_data_struct","visit_data_struct","visit_data_union","visit_data_union","visit_data_union","visit_derive_input","visit_derive_input","visit_derive_input","visit_expr","visit_expr","visit_expr","visit_expr_binary","visit_expr_binary","visit_expr_binary","visit_expr_call","visit_expr_call","visit_expr_call","visit_expr_cast","visit_expr_cast","visit_expr_cast","visit_expr_field","visit_expr_field","visit_expr_field","visit_expr_index","visit_expr_index","visit_expr_index","visit_expr_lit","visit_expr_lit","visit_expr_lit","visit_expr_paren","visit_expr_paren","visit_expr_paren","visit_expr_path","visit_expr_path","visit_expr_path","visit_expr_unary","visit_expr_unary","visit_expr_unary","visit_field","visit_field","visit_field","visit_fields","visit_fields","visit_fields","visit_fields_named","visit_fields_named","visit_fields_named","visit_fields_unnamed","visit_fields_unnamed","visit_fields_unnamed","visit_generic_argument","visit_generic_argument","visit_generic_argument","visit_generic_param","visit_generic_param","visit_generic_param","visit_generics","visit_generics","visit_generics","visit_ident","visit_ident","visit_ident","visit_index","visit_index","visit_index","visit_lifetime","visit_lifetime","visit_lifetime","visit_lifetime_def","visit_lifetime_def","visit_lifetime_def","visit_lit","visit_lit","visit_lit","visit_lit_bool","visit_lit_bool","visit_lit_bool","visit_lit_byte","visit_lit_byte","visit_lit_byte","visit_lit_byte_str","visit_lit_byte_str","visit_lit_byte_str","visit_lit_char","visit_lit_char","visit_lit_char","visit_lit_float","visit_lit_float","visit_lit_float","visit_lit_int","visit_lit_int","visit_lit_int","visit_lit_str","visit_lit_str","visit_lit_str","visit_macro","visit_macro","visit_macro","visit_macro_delimiter","visit_macro_delimiter","visit_macro_delimiter","visit_member","visit_member","visit_member","visit_meta","visit_meta","visit_meta","visit_meta_list","visit_meta_list","visit_meta_list","visit_meta_name_value","visit_meta_name_value","visit_meta_name_value","visit_nested_meta","visit_nested_meta","visit_nested_meta","visit_parenthesized_generic_arguments","visit_parenthesized_generic_arguments","visit_parenthesized_generic_arguments","visit_path","visit_path","visit_path","visit_path_arguments","visit_path_arguments","visit_path_arguments","visit_path_segment","visit_path_segment","visit_path_segment","visit_predicate_eq","visit_predicate_eq","visit_predicate_eq","visit_predicate_lifetime","visit_predicate_lifetime","visit_predicate_lifetime","visit_predicate_type","visit_predicate_type","visit_predicate_type","visit_qself","visit_qself","visit_qself","visit_return_type","visit_return_type","visit_return_type","visit_span","visit_span","visit_span","visit_trait_bound","visit_trait_bound","visit_trait_bound","visit_trait_bound_modifier","visit_trait_bound_modifier","visit_trait_bound_modifier","visit_type","visit_type","visit_type","visit_type_array","visit_type_array","visit_type_array","visit_type_bare_fn","visit_type_bare_fn","visit_type_bare_fn","visit_type_group","visit_type_group","visit_type_group","visit_type_impl_trait","visit_type_impl_trait","visit_type_impl_trait","visit_type_infer","visit_type_infer","visit_type_infer","visit_type_macro","visit_type_macro","visit_type_macro","visit_type_never","visit_type_never","visit_type_never","visit_type_param","visit_type_param","visit_type_param","visit_type_param_bound","visit_type_param_bound","visit_type_param_bound","visit_type_paren","visit_type_paren","visit_type_paren","visit_type_path","visit_type_path","visit_type_path","visit_type_ptr","visit_type_ptr","visit_type_ptr","visit_type_reference","visit_type_reference","visit_type_reference","visit_type_slice","visit_type_slice","visit_type_slice","visit_type_trait_object","visit_type_trait_object","visit_type_trait_object","visit_type_tuple","visit_type_tuple","visit_type_tuple","visit_un_op","visit_un_op","visit_un_op","visit_variadic","visit_variadic","visit_variadic","visit_variant","visit_variant","visit_variant","visit_vis_crate","visit_vis_crate","visit_vis_crate","visit_vis_public","visit_vis_public","visit_vis_public","visit_vis_restricted","visit_vis_restricted","visit_vis_restricted","visit_visibility","visit_visibility","visit_visibility","visit_where_clause","visit_where_clause","visit_where_clause","visit_where_predicate","visit_where_predicate","visit_where_predicate"],"q":["syn","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","syn::buffer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","syn::ext","","","","syn::parse","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","syn::parse::discouraged","","syn::punctuated","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","syn::spanned","","syn::token","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","syn::visit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["The binary interface of a function: extern "C".","The + operator (addition)","The += operator","The && operator (logical and)","The <'a, T> in std::slice::iter<'a, T>.","Angle bracketed arguments of a path segment: the <K, V> in …","A slice literal expression: [a, b, c, d].","A fixed size array type: [T; n].","An assignment expression: a = compute().","A compound assignment expression: counter += 1.","An async block: async { ... }.","Distinguishes between attributes that decorate an item and …","An attribute like #[repr(transparent)].","Conventional argument type associated with an invocation …","An await expression: fut.await.","A bare function type: fn(usize) -> bool.","An argument in a function type: the usize in …","A binary operator: +, +=, &.","A binary operation: a + b, a * b.","A binding (equality constraint) on an associated type: …","A binding (equality constraint) on an associated type: the …","The & operator (bitwise and)","The &= operator","The | operator (bitwise or)","The |= operator","The ^ operator (bitwise xor)","The ^= operator","A blocked scope: { ... }.","A boolean literal: true or false.","A set of bound lifetimes: for<'a, 'b, 'c>.","A box expression: box f.","","","A break, with an optional label to break and an optional …","A byte literal: b'f'.","A byte string literal: b"foo".","A function call expression: invoke(a, b).","A cast expression: foo as f64.","A character literal: 'a'.","A closure expression: |a, b| a + b.","A const generic parameter: const LENGTH: usize.","A const expression. Must be inside of a block.","A const generic parameter: const LENGTH: usize.","An associated type bound: Iterator<Item: Display>.","An associated type bound: Iterator<Item: Display>.","A continue, with an optional label.","An ordinary string like "data".","A crate-level visibility: crate.","The storage of a struct, enum or union data structure.","An enum input to a proc_macro_derive macro.","A struct input to a proc_macro_derive macro.","An untagged union input to a proc_macro_derive macro.","Return type is not specified.","The * operator for dereferencing","Data structure sent to a proc_macro_derive macro.","The / operator (division)","The /= operator","An enum input to a proc_macro_derive macro.","An equality predicate in a where clause (unsupported).","The == operator (equality)","Error returned when a Syn parser cannot parse the input …","A Rust expression.","A slice literal expression: [a, b, c, d].","An assignment expression: a = compute().","A compound assignment expression: counter += 1.","An async block: async { ... }.","An await expression: fut.await.","A binary operation: a + b, a * b.","A blocked scope: { ... }.","A box expression: box f.","A break, with an optional label to break and an optional …","A function call expression: invoke(a, b).","A cast expression: foo as f64.","A closure expression: |a, b| a + b.","A continue, with an optional label.","Access of a named struct field (obj.k) or unnamed tuple …","A for loop: for pat in expr { ... }.","An expression contained within invisible delimiters.","An if expression with an optional else block: …","A square bracketed indexing expression: vector[2].","A let guard: let Some(x) = opt.","A literal in place of an expression: 1, "foo".","Conditionless loop: loop { ... }.","A macro invocation expression: format!("{}", q).","A match expression: match n { Some(n) => {}, None => {} }.","A method call expression: x.foo::<T>(a, b).","A parenthesized expression: (a + b).","A path like std::mem::replace possibly containing generic …","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.","A referencing operation: &a or &mut a.","An array literal constructed from one repeated element: …","A return, with an optional value to be returned.","A struct literal expression: Point { x: 1, y: 1 }.","A try-expression: expr?.","A try block: try { ... }.","A tuple expression: (a, b, c, d).","A type ascription expression: foo: f64.","A unary operation: !x, *x.","An unsafe block: unsafe { ... }.","A while loop: while expr { ... }.","A yield expression: yield expr.","A field of a struct or enum variant.","Access of a named struct field (obj.k) or unnamed tuple …","Data stored within an enum variant or struct.","Named fields of a struct or struct variant such as …","Unnamed fields of a tuple struct or tuple variant such as …","A floating point literal: 1f64 or 1.0e10f64.","A for loop: for pat in expr { ... }.","The >= operator (greater than or equal to)","An individual generic argument, like 'a, T, or Item = T.","A generic type parameter, lifetime, or const generic: …","Lifetimes and type parameters attached to a declaration of …","An expression contained within invisible delimiters.","A type contained within invisible delimiters.","The > operator (greater than)","","A word of Rust code, which may be a keyword or legal …","An if expression with an optional else block: …","Returned by Generics::split_for_impl.","An impl Bound1 + Bound2 + Bound3 type where Bound is a …","The index of an unnamed tuple struct field.","A square bracketed indexing expression: vector[2].","Indication that a type should be inferred by the compiler: …","An inherited visibility, which usually means private.","","An integer literal: 1 or 1u16.","The <= operator (less than or equal to)","A let guard: let Some(x) = opt.","A Rust lifetime: 'a.","A lifetime definition: 'a: 'b + 'c + 'd.","","A lifetime predicate in a where clause: 'a: 'b + 'c.","A lifetime argument.","A lifetime definition: 'a: 'b + 'c + 'd.","A structured list within an attribute, like …","A Rust literal such as a string or integer or boolean.","A Rust literal, like the "new_name" in …","A literal in place of an expression: 1, "foo".","A boolean literal: true or false.","A byte literal: b'f'.","A byte string literal: b"foo".","A character literal: 'a'.","A floating point literal: 1f64 or 1.0e10f64.","An integer literal: 1 or 1u16.","A UTF-8 string literal: "foo".","Conditionless loop: loop { ... }.","The < operator (less than)","A macro invocation: println!("{}", mac).","A macro invocation expression: format!("{}", q).","A macro in the type position.","A grouping token that surrounds a macro body: m!(...) or …","A match expression: match n { Some(n) => {}, None => {} }.","","A struct or tuple struct field accessed in a struct …","Content of a compile-time structured attribute.","A structured meta item, like the Copy in #[derive(Copy)] …","A structured list within an attribute, like …","A name-value pair within an attribute, like …","A method call expression: x.foo::<T>(a, b).","The * operator (multiplication)","The *= operator","A name-value pair within an attribute, like …","Named fields of a struct or struct variant such as …","A named field like self.x.","The != operator (not equal to)","The - operator for negation","Element of a compile-time attribute list.","The never type: !.","","","The ! operator for logical inversion","The || operator (logical or)","","A parenthesized expression: (a + b).","","A parenthesized type equivalent to the inner type.","The (A, B) -> C in Fn(A, B) -> C.","Arguments of a function path segment: the (A, B) -> C in …","A path at which a named item is exported (e.g. …","","A path like std::mem::replace possibly containing generic …","A path like std::slice::Iter, optionally qualified with a …","Angle bracketed or parenthesized arguments of a path …","A segment of a path together with any path arguments on …","An equality predicate in a where clause (unsupported).","A lifetime predicate in a where clause: 'a: 'b + 'c.","A type predicate in a where clause: …","A raw pointer type: *const T or *mut T.","A public visibility level: pub.","The explicit Self type in a qualified path: the T in …","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.","A raw string like r##"data"##.","A referencing operation: &a or &mut a.","A reference type: &'a T or &'a mut T.","The % operator (modulus)","The %= operator","An array literal constructed from one repeated element: …","A visibility level restricted to some path: pub(self) or …","The result of a Syn parser.","A return, with an optional value to be returned.","Return type of a function signature.","The << operator (shift left)","The <<= operator","The >> operator (shift right)","The >>= operator","A dynamically sized slice type: [T].","A UTF-8 string literal: "foo".","The style of a string literal, either plain quoted or a …","A struct literal expression: Point { x: 1, y: 1 }.","A struct input to a proc_macro_derive macro.","The - operator (subtraction)","The -= operator","A type-macro that expands to the name of the Rust type …","","A trait used as a bound on a type parameter.","A modifier on a trait bound, currently only used for the ? …","A trait object type dyn Bound1 + Bound2 + Bound3 where …","A try-expression: expr?.","A try block: try { ... }.","A tuple expression: (a, b, c, d).","A tuple type: (A, B, C, String).","Returned by TypeGenerics::as_turbofish.","The possible types that a Rust value could have.","A type ascription expression: foo: f64.","A generic type parameter: T: Into<String>.","A type predicate in a where clause: …","A particular type is returned.","A type argument.","A fixed size array type: [T; n].","A bare function type: fn(usize) -> bool.","Returned by Generics::split_for_impl.","A type contained within invisible delimiters.","An impl Bound1 + Bound2 + Bound3 type where Bound is a …","Indication that a type should be inferred by the compiler: …","A macro in the type position.","The never type: !.","A generic type parameter: T: Into<String>.","A trait or lifetime used as a bound on a type parameter.","A parenthesized type equivalent to the inner type.","A path like std::slice::Iter, optionally qualified with a …","A raw pointer type: *const T or *mut T.","A reference type: &'a T or &'a mut T.","A dynamically sized slice type: [T].","A trait object type dyn Bound1 + Bound2 + Bound3 where …","A tuple type: (A, B, C, String).","A unary operator: *, !, -.","A unary operation: !x, *x.","An untagged union input to a proc_macro_derive macro.","Unit struct or unit variant such as None.","Unnamed fields of a tuple struct or tuple variant such as …","An unnamed field like self.0.","An unsafe block: unsafe { ... }.","The variadic argument of a foreign function.","An enum variant.","Tokens in expression position not interpreted by Syn.","A raw token literal not interpreted by Syn.","Tokens in type position not interpreted by Syn.","A crate-level visibility: crate.","A public visibility level: pub.","A visibility level restricted to some path: pub(self) or …","The visibility level of an item: inherited or pub or …","A where clause in a definition: …","A single predicate in a where clause: T: Deserialize<'de>.","A while loop: while expr { ... }.","A yield expression: yield expr.","","","","","","","","","Turn a type’s generics like <X, Y> into a turbofish like …","Attributes tagged on the variant.","Attributes tagged on the field.","","","","","","","","","","","","","Attributes tagged on the whole struct or enum.","","","","","","","","Parses the literal into a selected number type.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The type being bounded","","","Trait and lifetime bounds (Clone+Send+'static)","","","","","","","Parse a set of curly braces and expose their content to …","","","","","Parse a set of square brackets and expose their content to …","A stably addressed token buffer supporting efficient …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns an Iterator<Item = &ConstParam> over the constant …","Returns an Iterator<Item = &mut ConstParam> over the …","","","","Define a type that supports parsing and printing a given …","Define a type that supports parsing and printing a …","Data within the struct or enum.","","","","","","","Explicit discriminant: Variant = 1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extension traits to provide parsing methods on foreign …","","Content stored in the variant.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","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.","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.","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.","","","","","","","","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.","","","","","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.","","","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.","","Generics required to complete the definition.","If this path consists of a single ident, returns the ident.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Name of the variant.","Name of the field, if any.","","","Name of the struct or enum.","","","","","","","","","(A, B)","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).","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).","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).","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).","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).","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).","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).","","","","Returns true if there are zero fields.","","Determines whether this is a path of length 1 equal to the …","","Get an iterator over the borrowed Field items in this …","Get an iterator over the mutably borrowed Field items in …","","","Returns the number of fields.","","","","","","Returns an Iterator<Item = &LifetimeDef> over the lifetime …","","The for<'a> in for<'a> Foo<&'a T>","Any lifetimes from a for binding","","Returns an Iterator<Item = &mut LifetimeDef> over the …","","","","","","","","Initializes an empty where-clause if there is not one …","","","","","","","","","Panics","Creates a new Ident with the given string as well as the …","","Interpret a Syn literal from a proc-macro2 literal.","","","","","","","","Same as Ident::new, but creates a raw identifier (r#ident…","","","","C","","","","","","","","","","","","Parse a set of parentheses and expose their content to …","Parsing interface for parsing a token stream into a syntax …","Parse tokens of source code into the chosen syntax tree …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Parse a syntax tree node from the content of this string …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Parse a proc-macro2 token stream into the chosen syntax …","","Parse the arguments to the attribute as a syntax tree.","Parse the arguments to the attribute using the given …","Parse the tokens within the macro invocation’s …","Parse the tokens within the macro invocation’s …","Parses zero or more inner attributes from the stream.","Parse the input TokenStream of a macro, triggering a …","Parses the content of the attribute, consisting of the …","Parse a Path containing no path arguments on any of its …","Parses a named (braced struct) field.","Parses zero or more outer attributes from the stream.","Quasi-quotation macro that accepts input like the quote! …","This macro is parse_quote! + quote_spanned!.","Parse a string of Rust code into the chosen syntax tree …","Parses an unnamed (tuple struct) field.","Invoke parser on the content of this string literal.","","","Returns the identifier that begins this structured meta …","","","","","","The Foo<&'a T> in for<'a> Foo<&'a T>","","","","","","","","A punctuated sequence of syntax tree nodes separated by …","","","","","","","","","Configures the span of this Ident, possibly changing its …","","","","","","","","","","","","","","Returns the span of this Ident.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A trait that can provide the Span of the complete contents …","Split a type’s generics into the pieces required for impl…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Tokens representing Rust punctuation, keywords, and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type of the field.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns an Iterator<Item = &TypeParam> over the type …","Returns an Iterator<Item = &mut TypeParam> over the type …","","","","","","","","","","","","","","Visibility of the field.","Visibility of the struct or enum.","Syntax tree traversal to walk a shared borrow of a syntax …","","","In some positions, types may not contain the + character, …","","","","A cheaply copyable cursor into a TokenBuffer.","A buffer that can be efficiently traversed multiple times, …","Creates a cursor referencing the first token in the buffer …","","","","","","","Creates a cursor referencing a static empty TokenStream.","Checks whether the cursor is currently pointing at the end …","","Returns the argument unchanged.","Returns the argument unchanged.","If the cursor is pointing at a Group with the given …","If the cursor is pointing at a Ident, returns it along …","Calls U::from(self).","Calls U::from(self).","If the cursor is pointing at a Lifetime, returns it along …","If the cursor is pointing at a Literal, return it along …","Creates a TokenBuffer containing all the tokens from the …","Creates a TokenBuffer containing all the tokens from the …","","If the cursor is pointing at a Punct, returns it along …","Returns the Span of the current token, or Span::call_site()…","","Copies all remaining tokens visible from this cursor into a","If the cursor is pointing at a TokenTree, returns it along …","","","","","","","Additional methods for Ident not provided by proc-macro2 …","Parses any identifier including keywords.","Peeks any identifier including keywords. Usage: …","Strips the raw marker r#, if any, from the beginning of an …","Error returned when a Syn parser cannot parse the input …","Support for checking the next token in a stream to decide …","An empty syntax tree node that consumes no tokens when …","","Parsing interface implemented by all types that can be …","Cursor position within a buffered token stream.","Input to a Syn parser function.","Parser that can parse Rust tokens into a particular syntax …","Types that can be parsed by looking at just one token.","The result of a Syn parser.","Cursor state associated with speculative parsing.","","","","","","","","","","","","Calls the given parser function to parse a syntax tree …","","","","","Add another error message to self such that when …","Provides low-level access to the token representation …","","Extensions to the parsing API with niche applicability.","","","Triggers an error at the current position of the parse …","Triggers an error at the current position of the parse …","Triggers an error at the current position of the parse …","","","","","","","Forks a parse stream so that parsing tokens out of either …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Render the error as an invocation of compile_error!.","","","Returns whether there are tokens remaining in this stream.","Constructs a helper for peeking at the next token in this …","Usually the ParseStream::error method will be used …","Creates an error with the specified message spanning the …","","Parses a syntax tree node of type T, advancing the …","Parse tokens of source code into the chosen syntax tree …","","Parse a proc-macro2 token stream into the chosen syntax …","Parse a string of Rust code into the chosen syntax tree …","Parses zero or more occurrences of T separated by …","Looks at the next token in the parse stream to determine …","Looks at the next token in the parse stream to determine …","Looks at the second-next token in the parse stream.","Looks at the third-next token in the parse stream.","","Returns the Span of the next token in the parse stream, or …","The source location of the error.","Speculatively parses tokens from this parse stream, …","Render the error as an invocation of compile_error!.","","","","","","","","","","","","","","","","","","","","Extensions to the ParseStream API to support speculative …","Advance this parse stream to the position of a forked …","","An iterator over owned values of type T.","An iterator over owned pairs of type Pair<T, P>.","An iterator over borrowed values of type &T.","An iterator over mutably borrowed values of type &mut T.","A single syntax tree node of type T followed by its …","An iterator over borrowed pairs of type Pair<&T, &P>.","An iterator over mutably borrowed pairs of type …","A punctuated sequence of syntax tree nodes of type T …","","","","","","","","","","","","","","","","","","Clears the sequence of all values and punctuation, making …","","","","","","","","","","","","","","Returns true if either this Punctuated is empty, or it has …","","","","Borrows the first element in this sequence.","Mutably borrows the first element in this sequence.","","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.","","","","","","Inserts an element at position index.","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).","","","","","","","","","","Returns an iterator over the contents of this sequence as …","Produces this punctuated pair as a tuple of syntax tree …","Extracts the syntax tree node from this punctuated pair, …","Determines whether this punctuated sequence is empty, …","Returns an iterator over borrowed syntax tree nodes of …","Returns an iterator over mutably borrowed syntax tree …","Borrows the last element in this sequence.","Mutably borrows the last element in this sequence.","Returns the number of syntax tree nodes in this punctuated …","","","","","","","Creates an empty punctuated sequence.","Creates a punctuated pair out of a syntax tree node and an …","","","","","","","","","","","","","Returns an iterator over the contents of this sequence as …","Returns an iterator over the contents of this sequence as …","Parses one or more occurrences of T separated by …","Parses one or more occurrences of T using the given parse …","Parses zero or more occurrences of T separated by …","Parses zero or more occurrences of T using the given parse …","Removes the last punctuated pair from this sequence, or …","Borrows the punctuation from this punctuated pair, unless …","Mutably borrows the punctuation from this punctuated pair, …","Appends a syntax tree node onto the end of this punctuated …","Appends a trailing punctuation onto the end of this …","Appends a syntax tree node onto the end of this punctuated …","","","","","","","","","","","","","","","","","Determines whether this punctuated sequence ends with a …","","","","","","","","","","","","","","","","","","","","","","","","","Borrows the syntax tree node from this punctuated pair.","Mutably borrows the syntax tree node from this punctuated …","A trait that can provide the Span of the complete contents …","Returns a Span covering the complete contents of this …","abstract","+","+=","&","&&","&=","as","async","@","auto","await","!","become","box","{...}","[...]","break","^","^=",":","::",",","const","continue","crate","default","/","/=","do","$",".","..","...","..=","dyn","else","enum","=","==","extern","=>","final","fn","for",">=","None-delimited group",">","if","impl","in","<-","<=","let","loop","<","macro","match","mod","move","*=","mut","!=","|","|=","||","override","(...)","#","priv","pub","?","->","ref","%","%=","return","Self","self",";","<<","<<=",">>",">>=","*","static","struct","-","-=","super","~","Marker trait for types that represent single tokens.","trait","try","type","typeof","_","union","unsafe","unsized","use","virtual","where","while","yield","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","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.","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.","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.","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.","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.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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).","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).","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).","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).","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).","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Syntax tree traversal to walk a shared borrow of a syntax …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,64,64,64,87,0,25,66,25,25,25,0,0,0,25,66,0,0,25,0,88,64,64,64,64,64,64,25,51,0,25,58,58,25,51,51,25,25,51,25,38,88,0,0,88,25,270,21,0,0,0,0,84,65,0,64,64,60,47,64,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,25,0,0,0,51,25,64,0,0,0,25,66,64,0,0,25,0,66,0,25,66,21,11,51,64,25,0,38,43,47,88,0,12,0,15,25,0,0,0,0,0,0,0,25,64,0,25,66,0,25,45,0,0,15,0,0,25,64,64,12,17,35,64,65,0,66,45,87,65,64,11,25,58,66,87,0,0,12,25,66,0,0,0,0,0,66,21,0,25,270,25,66,64,64,25,21,0,25,0,64,64,64,64,66,51,0,25,60,64,64,0,43,0,0,66,25,25,25,66,0,0,25,38,47,84,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,60,17,17,35,25,0,0,25,51,66,0,0,0,0,0,0,25,25,68,77,8,27,89,86,28,93,1,16,20,26,27,28,29,30,31,32,33,34,39,40,41,59,82,83,57,73,29,3,5,3,5,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,270,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,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,270,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,48,39,40,48,49,70,79,91,18,62,0,10,30,67,78,0,0,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,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,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,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,8,9,89,20,39,40,41,48,49,91,37,37,41,76,23,0,0,59,37,42,87,39,41,57,16,29,83,79,67,69,74,76,77,78,80,62,7,1,2,8,9,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,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,14,39,41,50,90,28,30,32,34,0,81,16,61,63,7,1,2,8,8,9,9,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,35,36,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,3,5,5,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,68,42,7,1,2,8,9,9,9,9,9,9,9,10,11,12,12,12,12,13,14,15,15,15,16,17,17,17,18,19,20,21,21,21,21,22,23,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,35,35,35,36,36,37,38,38,38,38,39,39,40,41,42,43,43,43,44,45,46,47,47,47,47,48,49,50,51,51,51,51,51,51,51,51,52,53,54,55,3,3,5,5,56,270,57,58,59,60,60,60,60,61,62,63,64,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,85,86,86,87,88,89,90,91,92,93,27,59,85,69,37,42,89,93,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,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,8,16,20,39,41,59,86,90,91,70,24,30,36,68,92,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,270,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,17,17,17,17,87,85,87,17,17,85,26,17,67,50,40,49,77,37,42,44,48,68,37,14,31,37,42,89,93,72,37,29,44,76,77,81,82,18,13,8,9,40,51,52,53,54,55,3,5,56,9,26,34,68,92,37,13,19,24,27,32,44,68,74,80,92,0,0,0,8,9,12,13,14,15,16,18,19,21,25,31,33,35,36,37,38,39,40,41,42,43,44,45,46,47,51,52,52,53,54,55,3,5,56,57,59,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,84,85,86,88,89,90,92,0,9,10,10,57,57,10,0,10,85,20,10,0,0,0,20,52,8,9,12,10,13,14,24,33,44,57,75,93,10,46,22,24,0,33,75,50,26,85,61,67,8,9,51,52,53,54,55,3,5,56,7,1,2,8,8,9,9,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,35,36,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,51,52,52,53,53,54,54,55,55,3,3,5,5,56,56,57,59,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,36,56,0,37,76,61,10,51,52,53,54,55,3,5,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,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,8,9,3,5,7,1,2,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,57,59,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,0,52,53,54,55,3,5,56,10,57,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,270,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,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,270,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,20,28,41,82,90,93,7,1,2,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,120,121,122,107,106,26,126,127,128,27,28,131,132,29,133,134,135,30,123,31,130,129,125,124,32,33,119,118,117,116,115,114,113,112,111,34,110,109,108,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,3,5,56,270,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,37,37,71,63,19,9,68,52,53,54,55,56,56,68,62,20,59,0,37,46,66,70,79,84,0,0,152,152,153,152,153,153,153,153,153,153,152,153,153,153,152,153,153,153,152,152,153,153,153,153,153,153,152,153,152,153,152,153,0,271,271,271,0,0,0,148,0,0,0,0,0,0,0,155,159,155,156,158,157,159,155,156,158,157,155,156,157,156,157,157,155,156,0,155,158,159,155,156,157,155,155,158,157,157,155,159,155,156,158,157,157,158,159,155,156,158,157,157,157,157,155,155,157,157,145,155,148,158,148,148,155,159,155,155,155,157,155,157,155,157,156,157,155,157,159,155,156,158,157,159,155,156,158,157,159,155,156,158,157,0,272,170,0,0,0,0,0,0,0,0,170,164,167,172,168,169,139,140,170,164,167,172,168,169,139,140,170,164,164,167,168,169,139,170,164,167,168,169,139,170,164,164,164,164,164,164,164,164,164,167,172,168,169,139,140,170,164,164,164,164,164,164,164,167,172,168,169,139,140,170,164,164,164,167,172,168,169,139,140,164,170,170,164,164,164,164,164,164,167,172,168,169,139,140,164,170,167,172,168,169,139,140,167,172,168,169,139,140,164,164,164,164,164,164,164,170,170,164,164,164,167,172,168,169,139,140,164,170,164,167,168,169,139,170,164,170,164,164,167,172,168,169,139,140,170,164,167,172,168,169,139,140,170,164,167,172,168,169,139,140,170,170,170,0,273,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,0,0,0,0,0,0,0,0,0,0,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,220,222,225,226,227,229,231,232,234,235,239,242,244,247,250,251,254,257,262,263,265,103,220,222,225,226,227,229,231,232,234,235,239,242,244,247,250,251,254,257,262,263,265,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,266,267,268,269,103,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,103,173,174,175,176,177,178,179,180,181,182,100,183,184,185,186,187,102,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,105,101,206,207,104,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,0,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274,0,274,274],"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,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,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,2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[3,4],[5,4],[3,6],[5,6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[7,7],[1,1],[2,2],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24],[25,25],[26,26],[27,27],[28,28],[29,29],[30,30],[31,31],[32,32],[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[3,3],[5,5],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],[65,65],[66,66],[67,67],[68,68],[69,69],[70,70],[71,71],[72,72],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,84],[85,85],[86,86],[87,87],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[8,8],94],[[9,9],94],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],37],[[],42],[[],87],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[7,7],95],[[1,1],95],[[2,2],95],[[8,8],95],[[9,9],95],[9,95],[[10,10],95],[[11,11],95],[[12,12],95],[[13,13],95],[[14,14],95],[[15,15],95],[[16,16],95],[[17,17],95],[[18,18],95],[[19,19],95],[[20,20],95],[[21,21],95],[[22,22],95],[[23,23],95],[[24,24],95],[[25,25],95],[[26,26],95],[[27,27],95],[[28,28],95],[[29,29],95],[[30,30],95],[[31,31],95],[[32,32],95],[[33,33],95],[[34,34],95],[[35,35],95],[[36,36],95],[[37,37],95],[[38,38],95],[[39,39],95],[[40,40],95],[[41,41],95],[[42,42],95],[[43,43],95],[[44,44],95],[[45,45],95],[[46,46],95],[[47,47],95],[[48,48],95],[[49,49],95],[[50,50],95],[[51,51],95],[[52,52],95],[[53,53],95],[[54,54],95],[[55,55],95],[[3,3],95],[[5,5],95],[[56,56],95],[[57,57],95],[[58,58],95],[[59,59],95],[[60,60],95],[[61,61],95],[[62,62],95],[[63,63],95],[[64,64],95],[[65,65],95],[[66,66],95],[[67,67],95],[[68,68],95],[[69,69],95],[[70,70],95],[[71,71],95],[[72,72],95],[[73,73],95],[[74,74],95],[[75,75],95],[[76,76],95],[[77,77],95],[[78,78],95],[[79,79],95],[[80,80],95],[[81,81],95],[[82,82],95],[[83,83],95],[[84,84],95],[[85,85],95],[[86,86],95],[[87,87],95],[[88,88],95],[[89,89],95],[[90,90],95],[[91,91],95],[[92,92],95],[[93,93],95],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[7,96],97],[[1,96],97],[[2,96],97],[[8,96],97],[[8,96],97],[[9,96],[[99,[98]]]],[[9,96],[[99,[98]]]],[[9,96],[[99,[98]]]],[[10,96],97],[[11,96],97],[[12,96],97],[[13,96],97],[[14,96],97],[[15,96],97],[[16,96],97],[[17,96],97],[[18,96],97],[[19,96],97],[[20,96],97],[[21,96],97],[[22,96],97],[[23,96],97],[[24,96],97],[[25,96],97],[[26,96],97],[[27,96],97],[[28,96],97],[[29,96],97],[[30,96],97],[[31,96],97],[[32,96],97],[[33,96],97],[[34,96],97],[[35,96],97],[[35,96],97],[[36,96],97],[[36,96],97],[[37,96],97],[[38,96],97],[[39,96],97],[[40,96],97],[[41,96],97],[[42,96],97],[[43,96],97],[[44,96],97],[[45,96],97],[[46,96],97],[[47,96],97],[[48,96],97],[[49,96],97],[[50,96],97],[[51,96],97],[[52,96],97],[[53,96],97],[[54,96],97],[[55,96],97],[[3,96],97],[[3,96],97],[[5,96],97],[[5,96],97],[[56,96],97],[[57,96],97],[[58,96],97],[[59,96],97],[[60,96],97],[[61,96],97],[[62,96],97],[[63,96],97],[[64,96],97],[[65,96],97],[[66,96],97],[[67,96],97],[[68,96],97],[[69,96],97],[[70,96],97],[[71,96],97],[[72,96],97],[[73,96],97],[[74,96],97],[[75,96],97],[[76,96],97],[[77,96],97],[[78,96],97],[[79,96],97],[[80,96],97],[[81,96],97],[[82,96],97],[[83,96],97],[[84,96],97],[[85,96],97],[[86,96],97],[[87,96],97],[[88,96],97],[[89,96],97],[[90,96],97],[[91,96],97],[[92,96],97],[[93,96],97],0,0,[[]],[[]],[[]],[[]],[100,9],[101,9],[102,9],[103,9],[104,9],[105,9],[[]],[[]],[[]],[85,12],[13,12],[14,12],[[]],[[]],[[]],[12,15],[51,15],[[]],[[]],[18,17],[19,17],[[]],[[]],[[]],[[]],[22,21],[23,21],[[]],[24,21],[[]],[[]],[[]],[106,25],[107,25],[108,25],[109,25],[110,25],[34,25],[111,25],[112,25],[113,25],[114,25],[[]],[115,25],[116,25],[117,25],[118,25],[119,25],[120,25],[33,25],[32,25],[121,25],[122,25],[30,25],[123,25],[124,25],[125,25],[26,25],[126,25],[127,25],[128,25],[129,25],[27,25],[130,25],[28,25],[131,25],[132,25],[29,25],[133,25],[134,25],[135,25],[31,25],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[136,35],[36,35],[9,35],[[]],[136,36],[[]],[[]],[40,38],[41,38],[39,38],[[]],[9,39],[[]],[[]],[[]],[[]],[44,43],[[]],[8,43],[[]],[[]],[[]],[49,47],[[]],[50,47],[48,47],[[]],[[]],[[]],[5,51],[53,51],[3,51],[55,51],[54,51],[56,51],[52,51],[[]],[[]],[[]],[[]],[[]],[137,3],[[]],[137,5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[61,60],[62,60],[63,60],[[]],[[]],[[]],[[]],[[]],[69,66],[76,66],[80,66],[73,66],[72,66],[71,66],[79,66],[70,66],[78,66],[77,66],[[]],[68,66],[67,66],[74,66],[75,66],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],85],[[],86],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[85,[[138,[9]]]],0,0,0,0,0,[7],[1],[2],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[3],[5],[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],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[17],[17],[17],[17,95],[87,95],[85,95],[87,95],[17,[[139,[20]]]],[17,[[140,[20]]]],0,0,[17,136],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[37,46],0,0,0,0,0,0,0,0,[[4,141],8],[[4,141],9],[8,40],[137,51],[[4,141],52],[141,53],[[142,141],54],[[143,141],55],[[4,141],3],[[4,141],5],[[95,141],56],[[4,141],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[144,[[6,[145]]]],[146,[[6,[8]]]],[146,[[6,[9]]]],[146,[[6,[12]]]],[146,[[6,[13]]]],[146,[[6,[14]]]],[146,[[6,[15]]]],[146,[[6,[16]]]],[146,[[6,[18]]]],[146,[[6,[19]]]],[146,[[6,[21]]]],[146,[[6,[25]]]],[146,[[6,[31]]]],[146,[[6,[33]]]],[146,[[6,[35]]]],[146,[[6,[36]]]],[146,[[6,[37]]]],[146,[[6,[38]]]],[146,[[6,[39]]]],[146,[[6,[40]]]],[146,[[6,[41]]]],[146,[[6,[42]]]],[146,[[6,[43]]]],[146,[[6,[44]]]],[146,[[6,[45]]]],[146,[[6,[46]]]],[146,[[6,[47]]]],[146,[[6,[51]]]],[52,[[6,[145]]]],[146,[[6,[52]]]],[146,[[6,[53]]]],[146,[[6,[54]]]],[146,[[6,[55]]]],[146,[[6,[3]]]],[146,[[6,[5]]]],[146,[[6,[56]]]],[146,[[6,[57]]]],[146,[[6,[59]]]],[146,[[6,[64]]]],[146,[[6,[65]]]],[146,[[6,[66]]]],[146,[[6,[67]]]],[146,[[6,[68]]]],[146,[[6,[69]]]],[146,[[6,[70]]]],[146,[[6,[71]]]],[146,[[6,[72]]]],[146,[[6,[73]]]],[146,[[6,[74]]]],[146,[[6,[75]]]],[146,[[6,[76]]]],[146,[[6,[77]]]],[146,[[6,[78]]]],[146,[[6,[79]]]],[146,[[6,[80]]]],[146,[[6,[81]]]],[146,[[6,[82]]]],[146,[[6,[84]]]],[146,[[6,[85]]]],[146,[[6,[86]]]],[146,[[6,[88]]]],[146,[[6,[89]]]],[146,[[6,[90]]]],[146,[[6,[92]]]],[147,[[6,[145]]]],[146,[[6,[9]]]],[10,[[6,[145]]]],[[10,148],6],[57,[[6,[145]]]],[[57,148],6],[146,[[6,[[149,[10]]]]]],0,[10,[[6,[12]]]],[146,[[6,[85]]]],[146,[[6,[20]]]],[146,[[6,[[149,[10]]]]]],0,0,[4,[[6,[145]]]],[146,[[6,[20]]]],[[52,148],6],[[8,8],[[138,[94]]]],[[9,9],[[138,[94]]]],[12,85],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[8,141]],[[9,141]],[[51,141]],[[52,141]],[[53,141]],[[54,141]],[[55,141]],[[3,141]],[[5,141]],[[56,141]],[[],141],[[],141],[[],141],[[],141],[8,141],[9,141],[[],141],[9,[[138,[141]]]],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[35,[[138,[141]]]],[36,[[138,[141]]]],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[51,141],[[],141],[[],141],[52,141],[[],141],[53,141],[[],141],[54,141],[55,141],[[],141],[[],141],[3,141],[[],141],[5,141],[[],141],[56,141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],0,0,0,[37],0,0,0,[51,4],[52,4],[53,4],[54,4],[55,4],[3,4],[5,4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],150],[[],150],[[],150],[[],150],[[7,147]],[[1,147]],[[2,147]],[[8,147]],[[9,147]],[[10,147]],[[12,147]],[[13,147]],[[14,147]],[[15,147]],[[16,147]],[[17,147]],[[18,147]],[[19,147]],[[20,147]],[[21,147]],[[22,147]],[[23,147]],[[24,147]],[[25,147]],[[120,147]],[[121,147]],[[122,147]],[[107,147]],[[106,147]],[[26,147]],[[126,147]],[[127,147]],[[128,147]],[[27,147]],[[28,147]],[[131,147]],[[132,147]],[[29,147]],[[133,147]],[[134,147]],[[135,147]],[[30,147]],[[123,147]],[[31,147]],[[130,147]],[[129,147]],[[125,147]],[[124,147]],[[32,147]],[[33,147]],[[119,147]],[[118,147]],[[117,147]],[[116,147]],[[115,147]],[[114,147]],[[113,147]],[[112,147]],[[111,147]],[[34,147]],[[110,147]],[[109,147]],[[108,147]],[[35,147]],[[36,147]],[[37,147]],[[38,147]],[[39,147]],[[40,147]],[[41,147]],[[42,147]],[[43,147]],[[44,147]],[[45,147]],[[46,147]],[[47,147]],[[48,147]],[[49,147]],[[50,147]],[[51,147]],[[52,147]],[[53,147]],[[54,147]],[[55,147]],[[3,147]],[[5,147]],[[56,147]],[[57,147]],[[59,147]],[[64,147]],[[65,147]],[[66,147]],[[67,147]],[[68,147]],[[69,147]],[[70,147]],[[71,147]],[[72,147]],[[73,147]],[[74,147]],[[75,147]],[[76,147]],[[77,147]],[[78,147]],[[79,147]],[[80,147]],[[81,147]],[[82,147]],[[83,147]],[[84,147]],[[85,147]],[[86,147]],[[87,147]],[[88,147]],[[89,147]],[[90,147]],[[91,147]],[[92,147]],0,[52,137],[53,137],[54,137],[55,137],[3,137],[5,137],[56,9],0,0,[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],0,0,0,0,0,0,[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],0,0,0,0,0,[9,9],0,[52,150],[53,[[149,[142]]]],[54,142],[55,143],[56,95],0,0,0,0,0,0,0,0,[146,[[6,[66]]]],[146,[[6,[70]]]],[146,[[6,[79]]]],[146,[[6,[84]]]],0,0,[152,153],[[]],[[]],[[]],[[]],[153,153],[[]],[[],153],[153,95],[[153,153],95],[[]],[[]],[[153,154],138],[153,138],[[]],[[]],[153,138],[153,138],[144,152],[147,152],[[153,153],[[138,[94]]]],[153,138],[153,141],[[]],[153,147],[153,138],[[],99],[[],99],[[],99],[[],99],[[],151],[[],151],0,[146,6],0,[[],9],0,0,0,0,0,0,0,0,0,0,0,[[155,155]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[155,6],[156,156],[157,157],[[]],[[]],[[157,157]],[155,153],[156],0,[155],[[158,158],95],[159,157],[[155,160],157],[[156,160],157],[[157,161]],[[155,96],97],[[155,96],97],[[158,96],97],[[157,96],97],[[157,96],97],[155,155],[[]],[[]],[[]],[[]],[[]],[162,157],[158],[[]],[[]],[[]],[[]],[[]],[157,147],[157],[157],[155,95],[155,159],[[141,160],157],[[163,160],157],[146,6],[155,[[6,[145]]]],[144,6],[146,[[6,[158]]]],[147,6],[4,6],[155,[[6,[[164,[145]]]]]],[[159,165],95],[[155,165],95],[[155,165],95],[[155,165],95],[166],[155,141],[157,141],[155,6],[157,147],[[]],[[]],[[],150],[[],150],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],151],[[],151],[[],151],[[],151],[[],151],0,[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[164],[164,164],[167,167],[168,168],[169,169],[139,139],[170,170],[[]],[[]],[[]],[[]],[[]],[[]],[[],164],[164,95],[[164,164],95],[[164,161]],[[164,161]],[164,138],[164,138],[[[164,[171,171]],96],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[161,164],[161,164],[164],[[164,136]],[[164,136]],[[164,136]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[164],[164],[164],[[]],[[]],[[]],[[]],[[]],[[]],[164,168],[170],[170],[164,95],[164,139],[164,140],[164,138],[164,138],[164,136],[167,136],[172,136],[168,136],[169,136],[139,136],[140,136],[[],164],[138,170],[167,138],[172,138],[168,138],[169,138],[139,138],[140,138],[167,138],[172,138],[168,138],[169,138],[139,138],[140,138],[164,167],[164,172],[146,[[6,[164]]]],[146,[[6,[164]]]],[146,[[6,[164]]]],[146,[[6,[164]]]],[164,[[138,[170]]]],[170,138],[170,138],[164],[164],[164],[167],[172],[168],[169],[139],[140],[[],141],[[],141],[[]],[[]],[[]],[[]],[[]],[[]],[[164,147]],[[170,147]],[164,95],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[170],[170],0,[[],141],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,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[103,103],[173,173],[174,174],[175,175],[176,176],[177,177],[178,178],[179,179],[180,180],[181,181],[182,182],[100,100],[183,183],[184,184],[185,185],[186,186],[187,187],[102,102],[188,188],[189,189],[190,190],[191,191],[192,192],[193,193],[194,194],[195,195],[196,196],[197,197],[198,198],[199,199],[200,200],[201,201],[202,202],[203,203],[204,204],[205,205],[105,105],[101,101],[206,206],[207,207],[104,104],[208,208],[209,209],[210,210],[211,211],[212,212],[213,213],[214,214],[215,215],[216,216],[217,217],[218,218],[219,219],[220,220],[221,221],[222,222],[223,223],[224,224],[225,225],[226,226],[227,227],[228,228],[229,229],[230,230],[231,231],[232,232],[233,233],[234,234],[235,235],[236,236],[237,237],[238,238],[239,239],[240,240],[241,241],[242,242],[243,243],[244,244],[245,245],[246,246],[247,247],[248,248],[249,249],[250,250],[251,251],[252,252],[253,253],[254,254],[255,255],[256,256],[257,257],[258,258],[259,259],[260,260],[261,261],[262,262],[263,263],[264,264],[265,265],[266,266],[267,267],[268,268],[269,269],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],103],[[],173],[[],174],[[],175],[[],176],[[],177],[[],178],[[],179],[[],180],[[],181],[[],182],[[],100],[[],183],[[],184],[[],185],[[],186],[[],187],[[],102],[[],188],[[],189],[[],190],[[],191],[[],192],[[],193],[[],194],[[],195],[[],196],[[],197],[[],198],[[],199],[[],200],[[],201],[[],202],[[],203],[[],204],[[],205],[[],105],[[],101],[[],206],[[],207],[[],104],[[],208],[[],209],[[],210],[[],211],[[],212],[[],213],[[],214],[[],215],[[],216],[[],217],[[],218],[[],219],[[],220],[[],221],[[],222],[[],223],[[],224],[[],225],[[],226],[[],227],[[],228],[[],229],[[],230],[[],231],[[],232],[[],233],[[],234],[[],235],[[],236],[[],237],[[],238],[[],239],[[],240],[[],241],[[],242],[[],243],[[],244],[[],245],[[],246],[[],247],[[],248],[[],249],[[],250],[[],251],[[],252],[[],253],[[],254],[[],255],[[],256],[[],257],[[],258],[[],259],[[],260],[[],261],[[],262],[[],263],[[],264],[[],265],[[],266],[[],267],[[],268],[[],269],[103],[220],[222],[225],[226],[227],[229],[231],[232],[234],[235],[239],[242],[244],[247],[250],[251],[254],[257],[262],[263],[265],[103],[220],[222],[225],[226],[227],[229],[231],[232],[234],[235],[239],[242],[244],[247],[250],[251],[254],[257],[262],[263],[265],[[103,103],95],[[173,173],95],[[174,174],95],[[175,175],95],[[176,176],95],[[177,177],95],[[178,178],95],[[179,179],95],[[180,180],95],[[181,181],95],[[182,182],95],[[100,100],95],[[183,183],95],[[184,184],95],[[185,185],95],[[186,186],95],[[187,187],95],[[102,102],95],[[188,188],95],[[189,189],95],[[190,190],95],[[191,191],95],[[192,192],95],[[193,193],95],[[194,194],95],[[195,195],95],[[196,196],95],[[197,197],95],[[198,198],95],[[199,199],95],[[200,200],95],[[201,201],95],[[202,202],95],[[203,203],95],[[204,204],95],[[205,205],95],[[105,105],95],[[101,101],95],[[206,206],95],[[207,207],95],[[104,104],95],[[208,208],95],[[209,209],95],[[210,210],95],[[211,211],95],[[212,212],95],[[213,213],95],[[214,214],95],[[215,215],95],[[216,216],95],[[217,217],95],[[218,218],95],[[219,219],95],[[220,220],95],[[221,221],95],[[222,222],95],[[223,223],95],[[224,224],95],[[225,225],95],[[226,226],95],[[227,227],95],[[228,228],95],[[229,229],95],[[230,230],95],[[231,231],95],[[232,232],95],[[233,233],95],[[234,234],95],[[235,235],95],[[236,236],95],[[237,237],95],[[238,238],95],[[239,239],95],[[240,240],95],[[241,241],95],[[242,242],95],[[243,243],95],[[244,244],95],[[245,245],95],[[246,246],95],[[247,247],95],[[248,248],95],[[249,249],95],[[250,250],95],[[251,251],95],[[252,252],95],[[253,253],95],[[254,254],95],[[255,255],95],[[256,256],95],[[257,257],95],[[258,258],95],[[259,259],95],[[260,260],95],[[261,261],95],[[262,262],95],[[263,263],95],[[264,264],95],[[265,265],95],[[266,266],95],[[267,267],95],[[268,268],95],[[269,269],95],[[103,96],97],[[173,96],97],[[174,96],97],[[175,96],97],[[176,96],97],[[177,96],97],[[178,96],97],[[179,96],97],[[180,96],97],[[181,96],97],[[182,96],97],[[100,96],97],[[183,96],97],[[184,96],97],[[185,96],97],[[186,96],97],[[187,96],97],[[102,96],97],[[188,96],97],[[189,96],97],[[190,96],97],[[191,96],97],[[192,96],97],[[193,96],97],[[194,96],97],[[195,96],97],[[196,96],97],[[197,96],97],[[198,96],97],[[199,96],97],[[200,96],97],[[201,96],97],[[202,96],97],[[203,96],97],[[204,96],97],[[205,96],97],[[105,96],97],[[101,96],97],[[206,96],97],[[207,96],97],[[104,96],97],[[208,96],97],[[209,96],97],[[210,96],97],[[211,96],97],[[212,96],97],[[213,96],97],[[214,96],97],[[215,96],97],[[216,96],97],[[217,96],97],[[218,96],97],[[219,96],97],[[220,96],97],[[221,96],97],[[222,96],97],[[223,96],97],[[224,96],97],[[225,96],97],[[226,96],97],[[227,96],97],[[228,96],97],[[229,96],97],[[230,96],97],[[231,96],97],[[232,96],97],[[233,96],97],[[234,96],97],[[235,96],97],[[236,96],97],[[237,96],97],[[238,96],97],[[239,96],97],[[240,96],97],[[241,96],97],[[242,96],97],[[243,96],97],[[244,96],97],[[245,96],97],[[246,96],97],[[247,96],97],[[248,96],97],[[249,96],97],[[250,96],97],[[251,96],97],[[252,96],97],[[253,96],97],[[254,96],97],[[255,96],97],[[256,96],97],[[257,96],97],[[258,96],97],[[259,96],97],[[260,96],97],[[261,96],97],[[262,96],97],[[263,96],97],[[264,96],97],[[265,96],97],[[266,96],97],[[267,96],97],[[268,96],97],[[269,96],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[103],[173],[174],[175],[176],[177],[178],[179],[180],[181],[182],[100],[183],[184],[185],[186],[187],[102],[188],[189],[190],[191],[192],[193],[194],[195],[196],[197],[198],[199],[200],[201],[202],[203],[204],[205],[105],[101],[206],[207],[104],[208],[209],[210],[211],[212],[213],[214],[215],[216],[217],[218],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[229],[230],[231],[232],[233],[234],[235],[236],[237],[238],[239],[240],[241],[242],[243],[244],[245],[246],[247],[248],[249],[250],[251],[252],[253],[254],[255],[256],[257],[258],[259],[260],[261],[262],[263],[264],[265],[266],[267],[268],[269],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[146,[[6,[103]]]],[146,[[6,[173]]]],[146,[[6,[174]]]],[146,[[6,[175]]]],[146,[[6,[176]]]],[146,[[6,[177]]]],[146,[[6,[178]]]],[146,[[6,[179]]]],[146,[[6,[180]]]],[146,[[6,[181]]]],[146,[[6,[182]]]],[146,[[6,[100]]]],[146,[[6,[183]]]],[146,[[6,[184]]]],[146,[[6,[185]]]],[146,[[6,[186]]]],[146,[[6,[187]]]],[146,[[6,[102]]]],[146,[[6,[188]]]],[146,[[6,[189]]]],[146,[[6,[190]]]],[146,[[6,[191]]]],[146,[[6,[192]]]],[146,[[6,[193]]]],[146,[[6,[194]]]],[146,[[6,[195]]]],[146,[[6,[196]]]],[146,[[6,[197]]]],[146,[[6,[198]]]],[146,[[6,[199]]]],[146,[[6,[200]]]],[146,[[6,[201]]]],[146,[[6,[202]]]],[146,[[6,[203]]]],[146,[[6,[204]]]],[146,[[6,[205]]]],[146,[[6,[105]]]],[146,[[6,[101]]]],[146,[[6,[206]]]],[146,[[6,[207]]]],[146,[[6,[104]]]],[146,[[6,[208]]]],[146,[[6,[209]]]],[146,[[6,[210]]]],[146,[[6,[211]]]],[146,[[6,[212]]]],[146,[[6,[213]]]],[146,[[6,[214]]]],[146,[[6,[215]]]],[146,[[6,[216]]]],[146,[[6,[217]]]],[146,[[6,[218]]]],[146,[[6,[219]]]],[146,[[6,[220]]]],[146,[[6,[221]]]],[146,[[6,[222]]]],[146,[[6,[223]]]],[146,[[6,[224]]]],[146,[[6,[225]]]],[146,[[6,[226]]]],[146,[[6,[227]]]],[146,[[6,[228]]]],[146,[[6,[229]]]],[146,[[6,[230]]]],[146,[[6,[231]]]],[146,[[6,[232]]]],[146,[[6,[233]]]],[146,[[6,[234]]]],[146,[[6,[235]]]],[146,[[6,[236]]]],[146,[[6,[237]]]],[146,[[6,[238]]]],[146,[[6,[239]]]],[146,[[6,[240]]]],[146,[[6,[241]]]],[146,[[6,[242]]]],[146,[[6,[243]]]],[146,[[6,[244]]]],[146,[[6,[245]]]],[146,[[6,[246]]]],[146,[[6,[247]]]],[146,[[6,[248]]]],[146,[[6,[249]]]],[146,[[6,[250]]]],[146,[[6,[251]]]],[146,[[6,[252]]]],[146,[[6,[253]]]],[146,[[6,[254]]]],[146,[[6,[255]]]],[146,[[6,[256]]]],[146,[[6,[257]]]],[146,[[6,[258]]]],[146,[[6,[259]]]],[146,[[6,[260]]]],[146,[[6,[261]]]],[146,[[6,[262]]]],[146,[[6,[263]]]],[146,[[6,[264]]]],[146,[[6,[265]]]],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],[[],141],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,0,0,0,0,0,0,0,0,0,[[266,147]],[[267,147]],[[268,147]],[[269,147]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[103,147]],[[173,147]],[[174,147]],[[175,147]],[[176,147]],[[177,147]],[[178,147]],[[179,147]],[[180,147]],[[181,147]],[[182,147]],[[100,147]],[[183,147]],[[184,147]],[[185,147]],[[186,147]],[[187,147]],[[102,147]],[[188,147]],[[189,147]],[[190,147]],[[191,147]],[[192,147]],[[193,147]],[[194,147]],[[195,147]],[[196,147]],[[197,147]],[[198,147]],[[199,147]],[[200,147]],[[201,147]],[[202,147]],[[203,147]],[[204,147]],[[205,147]],[[105,147]],[[101,147]],[[206,147]],[[207,147]],[[104,147]],[[208,147]],[[209,147]],[[210,147]],[[211,147]],[[212,147]],[[213,147]],[[214,147]],[[215,147]],[[216,147]],[[217,147]],[[218,147]],[[219,147]],[[220,147]],[[221,147]],[[222,147]],[[223,147]],[[224,147]],[[225,147]],[[226,147]],[[227,147]],[[228,147]],[[229,147]],[[230,147]],[[231,147]],[[232,147]],[[233,147]],[[234,147]],[[235,147]],[[236,147]],[[237,147]],[[238,147]],[[239,147]],[[240,147]],[[241,147]],[[242,147]],[[243,147]],[[244,147]],[[245,147]],[[246,147]],[[247,147]],[[248,147]],[[249,147]],[[250,147]],[[251,147]],[[252,147]],[[253,147]],[[254,147]],[[255,147]],[[256,147]],[[257,147]],[[258,147]],[[259,147]],[[260,147]],[[261,147]],[[262,147]],[[263,147]],[[264,147]],[[265,147]],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],99],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],[[],151],0,[81],[81],[81],[89],[89],[89],[11],[11],[11],[10],[10],[10],[82],[82],[82],[64],[64],[64],[90],[90],[90],[42],[42],[42],[41],[41],[41],[91],[91],[91],[60],[60],[60],[62],[62],[62],[61],[61],[61],[63],[63],[63],[59],[59],[59],[25],[25],[25],[26],[26],[26],[27],[27],[27],[28],[28],[28],[29],[29],[29],[30],[30],[30],[31],[31],[31],[32],[32],[32],[33],[33],[33],[34],[34],[34],[20],[20],[20],[17],[17],[17],[18],[18],[18],[19],[19],[19],[88],[88],[88],[38],[38],[38],[37],[37],[37],[9],[9],[9],[36],[36],[36],[8],[8],[8],[40],[40],[40],[51],[51],[51],[56],[56],[56],[54],[54],[54],[53],[53],[53],[55],[55],[55],[5],[5],[5],[3],[3],[3],[52],[52],[52],[57],[57],[57],[58],[58],[58],[35],[35],[35],[12],[12],[12],[13],[13],[13],[14],[14],[14],[15],[15],[15],[92],[92],[92],[85],[85],[85],[87],[87],[87],[86],[86],[86],[50],[50],[50],[49],[49],[49],[48],[48],[48],[93],[93],[93],[84],[84],[84],[141],[141],[141],[44],[44],[44],[45],[45],[45],[66],[66],[66],[67],[67],[67],[68],[68],[68],[69],[69],[69],[70],[70],[70],[71],[71],[71],[72],[72],[72],[73],[73],[73],[39],[39],[39],[43],[43],[43],[74],[74],[74],[75],[75],[75],[76],[76],[76],[77],[77],[77],[78],[78],[78],[79],[79],[79],[80],[80],[80],[65],[65],[65],[83],[83],[83],[16],[16],[16],[23],[23],[23],[22],[22],[22],[24],[24],[24],[21],[21],[21],[46],[46],[46],[47],[47],[47]],"p":[[3,"TypeGenerics"],[3,"Turbofish"],[3,"LitInt"],[15,"str"],[3,"LitFloat"],[6,"Result"],[3,"ImplGenerics"],[3,"Lifetime"],[3,"Ident"],[3,"Attribute"],[4,"AttrStyle"],[4,"Meta"],[3,"MetaList"],[3,"MetaNameValue"],[4,"NestedMeta"],[3,"Variant"],[4,"Fields"],[3,"FieldsNamed"],[3,"FieldsUnnamed"],[3,"Field"],[4,"Visibility"],[3,"VisPublic"],[3,"VisCrate"],[3,"VisRestricted"],[4,"Expr"],[3,"ExprBinary"],[3,"ExprCall"],[3,"ExprCast"],[3,"ExprField"],[3,"ExprIndex"],[3,"ExprLit"],[3,"ExprParen"],[3,"ExprPath"],[3,"ExprUnary"],[4,"Member"],[3,"Index"],[3,"Generics"],[4,"GenericParam"],[3,"TypeParam"],[3,"LifetimeDef"],[3,"ConstParam"],[3,"BoundLifetimes"],[4,"TypeParamBound"],[3,"TraitBound"],[4,"TraitBoundModifier"],[3,"WhereClause"],[4,"WherePredicate"],[3,"PredicateType"],[3,"PredicateLifetime"],[3,"PredicateEq"],[4,"Lit"],[3,"LitStr"],[3,"LitByteStr"],[3,"LitByte"],[3,"LitChar"],[3,"LitBool"],[3,"Macro"],[4,"MacroDelimiter"],[3,"DeriveInput"],[4,"Data"],[3,"DataStruct"],[3,"DataEnum"],[3,"DataUnion"],[4,"BinOp"],[4,"UnOp"],[4,"Type"],[3,"TypeArray"],[3,"TypeBareFn"],[3,"TypeGroup"],[3,"TypeImplTrait"],[3,"TypeInfer"],[3,"TypeMacro"],[3,"TypeNever"],[3,"TypeParen"],[3,"TypePath"],[3,"TypePtr"],[3,"TypeReference"],[3,"TypeSlice"],[3,"TypeTraitObject"],[3,"TypeTuple"],[3,"Abi"],[3,"BareFnArg"],[3,"Variadic"],[4,"ReturnType"],[3,"Path"],[3,"PathSegment"],[4,"PathArguments"],[4,"GenericArgument"],[3,"AngleBracketedGenericArguments"],[3,"Binding"],[3,"Constraint"],[3,"ParenthesizedGenericArguments"],[3,"QSelf"],[4,"Ordering"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"Error"],[4,"Result"],[3,"Crate"],[3,"SelfValue"],[3,"Extern"],[3,"Underscore"],[3,"Super"],[3,"SelfType"],[3,"ExprAwait"],[3,"ExprAsync"],[3,"ExprYield"],[3,"ExprWhile"],[3,"ExprUnsafe"],[3,"ExprType"],[3,"ExprTuple"],[3,"ExprTryBlock"],[3,"ExprTry"],[3,"ExprStruct"],[3,"ExprReturn"],[3,"ExprRepeat"],[3,"ExprReference"],[3,"ExprRange"],[3,"ExprArray"],[3,"ExprAssign"],[3,"ExprAssignOp"],[3,"ExprLet"],[3,"ExprMethodCall"],[3,"ExprMatch"],[3,"ExprBlock"],[3,"ExprBox"],[3,"ExprBreak"],[3,"ExprMacro"],[3,"ExprLoop"],[3,"ExprClosure"],[3,"ExprContinue"],[3,"ExprForLoop"],[3,"ExprGroup"],[3,"ExprIf"],[15,"usize"],[3,"Literal"],[4,"Option"],[3,"Iter"],[3,"IterMut"],[3,"Span"],[15,"u8"],[15,"char"],[3,"TokenStream"],[8,"Parse"],[6,"ParseStream"],[3,"TokenStream"],[8,"Parser"],[3,"Vec"],[3,"String"],[3,"TypeId"],[3,"TokenBuffer"],[3,"Cursor"],[4,"Delimiter"],[3,"ParseBuffer"],[3,"StepCursor"],[3,"Error"],[3,"Nothing"],[3,"Lookahead1"],[8,"Display"],[8,"IntoIterator"],[3,"LexError"],[8,"ToTokens"],[3,"Punctuated"],[8,"Peek"],[3,"Demand"],[3,"Pairs"],[3,"IntoPairs"],[3,"IntoIter"],[4,"Pair"],[8,"Debug"],[3,"PairsMut"],[3,"Abstract"],[3,"As"],[3,"Async"],[3,"Auto"],[3,"Await"],[3,"Become"],[3,"Box"],[3,"Break"],[3,"Const"],[3,"Continue"],[3,"Default"],[3,"Do"],[3,"Dyn"],[3,"Else"],[3,"Enum"],[3,"Final"],[3,"Fn"],[3,"For"],[3,"If"],[3,"Impl"],[3,"In"],[3,"Let"],[3,"Loop"],[3,"Macro"],[3,"Match"],[3,"Mod"],[3,"Move"],[3,"Mut"],[3,"Override"],[3,"Priv"],[3,"Pub"],[3,"Ref"],[3,"Return"],[3,"Static"],[3,"Struct"],[3,"Trait"],[3,"Try"],[3,"Type"],[3,"Typeof"],[3,"Union"],[3,"Unsafe"],[3,"Unsized"],[3,"Use"],[3,"Virtual"],[3,"Where"],[3,"While"],[3,"Yield"],[3,"Add"],[3,"AddEq"],[3,"And"],[3,"AndAnd"],[3,"AndEq"],[3,"At"],[3,"Bang"],[3,"Caret"],[3,"CaretEq"],[3,"Colon"],[3,"Colon2"],[3,"Comma"],[3,"Div"],[3,"DivEq"],[3,"Dollar"],[3,"Dot"],[3,"Dot2"],[3,"Dot3"],[3,"DotDotEq"],[3,"Eq"],[3,"EqEq"],[3,"Ge"],[3,"Gt"],[3,"Le"],[3,"Lt"],[3,"MulEq"],[3,"Ne"],[3,"Or"],[3,"OrEq"],[3,"OrOr"],[3,"Pound"],[3,"Question"],[3,"RArrow"],[3,"LArrow"],[3,"Rem"],[3,"RemEq"],[3,"FatArrow"],[3,"Semi"],[3,"Shl"],[3,"ShlEq"],[3,"Shr"],[3,"ShrEq"],[3,"Star"],[3,"Sub"],[3,"SubEq"],[3,"Tilde"],[3,"Brace"],[3,"Bracket"],[3,"Paren"],[3,"Group"],[4,"StrStyle"],[8,"IdentExt"],[8,"Speculative"],[8,"Spanned"],[8,"Visit"]]},\ -"synstructure":{"doc":"This crate provides helper types for matching against enum …","t":[4,4,3,13,13,13,8,13,13,13,13,13,3,3,3,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,14,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,10,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11],"n":["AddBounds","BindStyle","BindingInfo","Both","Fields","Generics","MacroResult","Move","MoveMut","None","Ref","RefMut","Structure","VariantAst","VariantInfo","add_bounds","add_impl_generic","add_trait_bounds","add_where_predicate","ast","ast","ast","attrs","bind_with","bind_with","binding","binding_name","binding_name","bindings","bindings_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bound_impl","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","construct","decl_attribute","decl_derive","discriminant","each","each","each_variant","eq","eq","eq","eq","eq","eq","fields","filter","filter","filter_variants","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold","from","from","from","from","from","from","gen_impl","hash","hash","hash","hash","hash","hash","ident","into","into","into","into","into","into","into_result","into_stream","new","omitted_bindings","omitted_variants","pat","pat","prefix","referenced_ty_params","referenced_ty_params","referenced_ty_params","remove_binding","remove_variant","span","span","style","test_derive","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_tokens","to_tokens","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_new","type_id","type_id","type_id","type_id","type_id","type_id","unbound_impl","underscore_const","unpretty_print","unsafe_bound_impl","unsafe_unbound_impl","variants","variants_mut"],"q":["synstructure","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Changes how bounds are added","The type of binding to use when generating a pattern.","Information about a specific binding. This contains both …","Add for fields and generics","Fields only","Generics only","Helper trait describing values which may be returned by …","x","mut x","None","ref x","ref mut x","A wrapper around a syn::DeriveInput which provides …","This type is similar to syn’s Variant type, however each …","A wrapper around a syn::DeriveInput’s variant which …","Specify which bounds should be generated by …","Adds an impl<> generic parameter. This can be used when …","Add trait bounds for a trait with the given path for each …","Specify additional where predicate bounds which should be …","Returns a reference to the underlying syn AST node which …","Returns a VariantAst object which contains references to …","Returns a reference to the underlying syn AST node which …","","Updates the BindStyle for each of the passed-in fields by …","Updates the BindStyle for each of the passed-in fields by …","The name which this BindingInfo will bind to.","Updates the binding name for each fo the passed-in fields …","Updates the binding name for each fo the passed-in fields …","Returns a slice of the bindings in this Variant.","Returns a mut slice of the bindings in this Variant.","","","","","","","","","","","","","NOTE: This methods’ features are superceded by …","","","","","","","","","","","","","Generates the token stream required to construct the …","The decl_attribute! macro declares a custom attribute …","The decl_derive! macro declares a custom derive wrapper. …","","Runs the passed-in function once for each bound field, …","Runs the passed-in function once for each bound field, …","Runs the passed-in function once for each variant, passing …","","","","","","","","Filter the bindings created by this Variant object. This …","Filter the bindings created by this Structure object. This …","Filter the variants matched by this Structure object. This …","","","","","","","Runs the passed-in function once for each bound field, …","Runs the passed-in function once for each bound field, …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Generate an impl block for the given struct. This impl …","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Convert this result into a Result for further processing / …","Convert this result into a proc_macro::TokenStream, ready …","Create a new Structure with the variants and fields from …","True if any bindings were omitted due to a filter call.","True if any variants were omitted due to a filter_variants …","Generates the pattern fragment for this field binding.","Generates the match-arm pattern which could be used to …","","Returns a list of the type parameters which are referenced …","Returns a list of the type parameters which are referenced …","Returns a list of the type parameters which are refrenced …","Remove the binding at the given index.","Remove the variant at the given index.","","","The type of binding which this BindingInfo will create.","Run a test on a custom derive. This macro expands both the …","","","","","","","","","","","","","","","","","","","","","Create a new Structure with the variants and fields from …","","","","","","","NOTE: This methods’ features are superceded by …","Configure whether to use const _ instead of a generated …","Dumps an unpretty version of a tokenstream. Takes any type …","NOTE: This methods’ features are superceded by …","NOTE: This methods’ features are superceded by …","Returns a slice of the variants in this Structure.","Returns a mut slice of the variants in this Structure."],"i":[0,0,0,2,2,2,0,14,14,2,14,14,0,0,0,1,1,1,1,7,9,1,10,9,1,7,9,1,9,9,2,14,7,10,9,1,2,14,7,10,9,1,1,2,14,7,10,9,1,2,14,7,10,9,1,9,0,0,10,9,1,1,2,14,7,10,9,1,10,9,1,1,2,14,7,10,9,1,9,1,2,14,7,10,9,1,1,2,14,7,10,9,1,10,2,14,7,10,9,1,28,28,1,9,1,7,9,9,7,9,1,9,1,14,7,7,0,2,14,7,10,9,1,14,7,2,14,7,10,9,1,2,14,7,10,9,1,1,2,14,7,10,9,1,1,1,0,1,1,1,1],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2],1],[[1,3],1],[[1,4,5,2]],[[1,6],1],[7,8],[9,10],[1,11],0,[9,9],[1,1],0,[9,9],[1,1],[9],[9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,12,12],13],[2,2],[14,14],[7,7],[10,10],[9,9],[1,1],[[]],[[]],[[]],[[]],[[]],[[]],[9,13],0,0,0,[9,13],[1,13],[1,13],[[2,2],15],[[14,14],15],[[7,7],15],[[10,10],15],[[9,9],15],[[1,1],15],0,[9,9],[1,1],[1,1],[[2,16],17],[[14,16],17],[[7,16],17],[[10,16],17],[[9,16],17],[[1,16],17],[9,13],[1,13],[[]],[[]],[[]],[[]],[[]],[[]],[[1,13],13],[2],[14],[7],[10],[9],[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],[[18,[13]]]],[[],19],[11,1],[9,15],[1,15],[7,13],[9,13],0,[7,[[21,[20]]]],[9,[[21,[20]]]],[1,[[21,[20]]]],[[9,22],9],[[1,22],1],[[],23],[[],23],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[14,13]],[[7,13]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[11,[[18,[1]]]],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[1,12,12],13],[[1,15],1],[26,27],[[1,12,12],13],[[1,12,12],13],[1],[1]],"p":[[3,"Structure"],[4,"AddBounds"],[4,"GenericParam"],[3,"TraitBound"],[4,"Option"],[4,"WherePredicate"],[3,"BindingInfo"],[3,"Field"],[3,"VariantInfo"],[3,"VariantAst"],[3,"DeriveInput"],[8,"ToTokens"],[3,"TokenStream"],[4,"BindStyle"],[15,"bool"],[3,"Formatter"],[6,"Result"],[6,"Result"],[3,"TokenStream"],[3,"Ident"],[3,"Vec"],[15,"usize"],[3,"Span"],[4,"Result"],[3,"TypeId"],[8,"Display"],[3,"String"],[8,"MacroResult"]]},\ -"unicode_ident":{"doc":"github crates-io docs-rs","t":[5,5],"n":["is_xid_continue","is_xid_start"],"q":["unicode_ident",""],"d":["",""],"i":[0,0],"f":[[1,2],[1,2]],"p":[[15,"char"],[15,"bool"]]},\ -"unicode_xid":{"doc":"Determine if a char is a valid identifier for a parser …","t":[17,8,10,10],"n":["UNICODE_VERSION","UnicodeXID","is_xid_continue","is_xid_start"],"q":["unicode_xid","","",""],"d":["The version of Unicode that this version of unicode-xid is …","Methods for determining if a character is a valid …","Returns whether the specified char satisfies the ‘…","Returns whether the specified character satisfies the ‘…"],"i":[0,0,2,2],"f":[0,0,[[],1],[[],1]],"p":[[15,"bool"],[8,"UnicodeXID"]]}\ +"delog":{"doc":"Compile-time configurable deferred logging (for printf()…","t":"NNINNINNEENDIIDNNIINNLLLKMLLLLLLLLKLLLKLLLLLLOFFLLLLLLKKKMLLLLLLLLLLLLOLLAOOLLLLLLLLCFLLLLLLLLLKMAKKLLKMLLLFLLLLLLLLKLLLLKMDFSSIDILLLLLLLLLLLLLLLLLLMDDLLLLLLFLLLLLLFFLLLLLL","n":["Debug","Debug","Delogger","Error","Error","Flusher","Info","Info","Level","LevelFilter","Off","Record","Renderer","State","Statistics","Trace","Trace","TryLog","TryLogWithStatistics","Warn","Warn","args","as_str","as_str","attempts","attempts","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffer","builder","capacity","capacity","claimed","clone","clone","clone","clone","cmp","cmp","delog","dequeue","enqueue","eq","eq","eq","eq","file","file_static","flush","flush","flushes","flushes","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_str","from_str","generate_macros","hash","hash","hex","hex_str","hexstr","into","into","into","into","iter","iter","level","line","log","logger","max","max","metadata","module_path","module_path_static","partial_cmp","partial_cmp","partial_cmp","partial_cmp","read","read","render","render","render","statistics","statistics","successes","successes","target","to_level","to_level_filter","try_enqueue","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_log","type_id","type_id","type_id","type_id","written","written","HexStr","HexStr","N","SEPARATOR","Separator","U1","Unsigned","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","value","DefaultRenderer","RipgrepRenderer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","default","from","from","into","into","render","render","render_arguments","render_record","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"delog"],[123,"delog::hex"],[149,"delog::render"],[172,"core::fmt"],[173,"log"],[174,"core::sync::atomic"],[175,"core::cmp"],[176,"core::option"],[177,"core::fmt"],[178,"core::hash"],[179,"core::iter::traits::iterator"],[180,"log"],[181,"core::marker"],[182,"core::convert"]],"d":["The “debug” level.","Corresponds to the Debug log level.","Semi-abstract characterization of the deferred loggers …","The “error” level.","Corresponds to the Error log level.","A way to pass on logs, user supplied.","The “info” level.","Corresponds to the Info log level.","An enum representing the available verbosity levels of the …","An enum representing the available verbosity level filters …","A level lower than all log levels.","The “payload” of a log message.","A way to format logs, user supplied.","Trait for either state or statistics of loggers.","Statistics on logger usage.","The “trace” level.","Corresponds to the Trace log level.","Fallible, panic-free version of the log::Log trait.","TryLog with some usage statistics on top.","The “warn” level.","Corresponds to the Warn log level.","The message body.","Returns the string representation of the Level.","Returns the string representation of the LevelFilter.","How often was one of the logging macros called.","How often was one of the logging macros called.","","","","","","","","","the underlying buffer","Returns a new builder.","Capacity of circular buffer.","Capacity of circular buffer.","How many characters were claimed so far.","","","","","","","Generate a deferred logger with specified capacity and …","The core “read from circular buffer” method. Marked …","The core “write to circular buffer” method. Marked …","","","","","The source file containing the message.","The module path of the message, if it is a 'static string.","Call the flusher.","Implementor must handle passed log &str in some hopefully …","How often was the flusher called.","How often was the flusher called.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Generate logging macros that can be gated by library.","","","Convenient Display and other traits for binary data.","Compactly format byte arrays and slices as hexadecimals.","More compactly format byte arrays and slices as …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate through all supported logging levels.","Iterate through all supported filtering levels.","The verbosity level of the message.","The line containing the message.","","Returns a reference to the logger (as TryLogWithStatistics …","Returns the most verbose logging level.","Returns the most verbose logging level filter.","Metadata about the log directive.","The module path of the message.","The module path of the message, if it is a 'static string.","","","","","How many bytes were flushed so far.","How many bytes were flushed so far.","The default, minimal renderer, and some helper functions.","Actually render the arguments (via internal static buffer).","Implementor must render record into buf, returning the …","Read out statistics on logger usage.","Read out statistics on logger usage.","How often was one of the logging macros called without …","How often was one of the logging macros called without …","The name of the target of the directive.","Converts self to the equivalent Level.","Converts the Level to the equivalent LevelFilter.","The fallible “write to circular buffer” method. Marked …","","","","","","","","","Fallible logging call (fails when buffer is full)","","","","","How many bytes were logged so far.","How many bytes were logged so far.","Zero-sized wrapper newtype, allowing grouping bytes in …","Explicitly construct a newtype to format with.","The actual number.","The actual separator str.","A type that specifies a separator str.","A type that represents the integer 1.","A type that specifies an unsigned integer.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","The value to be formatted.","Renders just the record.args().","Renders the record.args(), prefixed by level, target, and …","","","","","","","The default, minimal renderer.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","For some reason, there seems to be no existing method to …","Render record, based on feature flags.","","","","","",""],"i":[3,5,0,3,5,0,3,5,0,0,5,0,0,0,0,3,5,0,0,3,5,1,3,5,34,11,11,3,5,1,11,3,5,1,13,1,13,13,13,11,3,5,1,3,5,0,0,0,3,3,5,5,1,1,13,35,34,11,11,3,3,5,5,1,11,3,5,1,3,5,0,3,5,0,0,0,11,3,5,1,3,5,1,1,0,0,3,5,1,1,1,3,3,5,5,34,11,0,13,36,24,24,34,11,1,5,3,0,11,3,5,1,11,3,5,1,37,11,3,5,1,34,11,0,0,29,30,0,0,0,38,27,38,27,27,27,27,27,38,27,38,27,38,27,38,27,38,27,27,0,0,32,33,32,33,32,33,0,32,33,32,33,32,33,0,0,32,33,32,33,32,33],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,4],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[7,[6]]],[]],[[],8],[-1,9,[]],[-1,9,[]],[-1,10,[]],[11,11],[3,3],[5,5],[1,1],[[3,3],12],[[5,5],12],0,[[-1,[7,[6]]],4,13],[[-1,1],14,13],[[3,5],15],[[3,3],15],[[5,3],15],[[5,5],15],[1,[[16,[4]]]],[1,[[16,[4]]]],[[-1,4],14,[]],[[-1,4],14,[]],[-1,-2,[],[]],0,[[11,17],18],[[3,17],[[20,[14,19]]]],[[3,17],[[20,[14,19]]]],[[5,17],[[20,[14,19]]]],[[5,17],[[20,[14,19]]]],[[1,17],[[20,[14,19]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[4,[[20,[3]]]],[4,[[20,[5]]]],0,[[3,-1],14,21],[[5,-1],14,21],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[22]]]],[[],[[0,[22]]]],[1,3],[1,[[16,[23]]]],0,[[],[[16,[24]]]],[[],3],[[],5],[1,25],[1,[[16,[4]]]],[1,[[16,[4]]]],[[3,3],[[16,[12]]]],[[3,5],[[16,[12]]]],[[5,5],[[16,[12]]]],[[5,3],[[16,[12]]]],[-1,-2,[],[]],0,0,[[-1,1],[[7,[6]]],[]],[[-1,[7,[6]],1],[[7,[6]]],[]],[-1,11,[]],[-1,11,[]],[-1,-2,[],[]],0,[1,4],[5,[[16,[3]]]],[3,5],[[-1,1],[[20,[14,14]]],13],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[[-1,1],[[20,[14,14]]],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,-2,[],[]],0,0,[-1,[[27,[-1,-2,-3]]],28,29,30],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[27,[-1,-2,-3]],17],[[20,[14,19]]],[[31,[[7,[6]]]],28],29,30],[[[27,[-1,-2,-3]],17],[[20,[14,19]]],[[31,[[7,[6]]]],28],29,30],[[[27,[-1,-2,-3]],17],[[20,[14,19]]],[[31,[[7,[6]]]],28],29,30],[[[27,[-1,-2,-3]],17],[[20,[14,19]]],[[31,[[7,[6]]]],28],29,30],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[32,32],[33,33],[[],32],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[32,[7,[6]],1],[[7,[6]]]],[[33,[7,[6]],1],[[7,[6]]]],[[[7,[6]],2],[[7,[6]]]],[[[7,[6]],1],[[7,[6]]]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,[[20,[-2]]],[],[]],[-1,26,[]],[-1,26,[]]],"c":[],"p":[[3,"Record",0],[3,"Arguments",172],[4,"Level",0],[15,"str"],[4,"LevelFilter",0],[15,"u8"],[15,"slice"],[3,"RecordBuilder",173],[15,"usize"],[3,"AtomicUsize",174],[3,"Statistics",0],[4,"Ordering",175],[8,"Delogger",0],[15,"tuple"],[15,"bool"],[4,"Option",176],[3,"Formatter",172],[6,"Result",172],[3,"Error",172],[4,"Result",177],[8,"Hasher",178],[8,"Iterator",179],[15,"u32"],[8,"TryLogWithStatistics",0],[3,"Metadata",173],[3,"TypeId",180],[3,"HexStr",123],[8,"Sized",181],[8,"Unsigned",123],[8,"Separator",123],[8,"AsRef",182],[3,"DefaultRenderer",149],[3,"RipgrepRenderer",149],[8,"State",0],[8,"Flusher",0],[8,"Renderer",0],[8,"TryLog",0],[3,"U1",123]]},\ +"flexiber":{"doc":"flexiber","t":"NSSEINIYDIYDNDENSSNNNDNSSSNNNSNGSSDDDIIGDNNSSNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMLKLLLLLLLLLLKLLKLLLLLLLLLLKLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMM","n":["Application","BIT_STRING","BOOLEAN","Class","Container","Context","Decodable","Decodable","Decoder","Encodable","Encodable","Encoder","Err","Error","ErrorKind","Failed","GENERALIZED_TIME","INTEGER","InvalidClass","InvalidLength","InvalidTag","Length","Length","NULL","OBJECT_IDENTIFIER","OCTET_STRING","Ok","Overflow","Overlength","PRINTABLE_STRING","Private","Result","SEQUENCE","SET","SimpleTag","Slice","Tag","TagLike","Tagged","TaggedSlice","TaggedValue","TrailingData","Truncated","UTC_TIME","UTF8_STRING","Underlength","UnexpectedTag","Universal","UnsupportedTagSize","add","add","add","add","add","application","as_bytes","as_bytes","as_bytes","as_ref","assert_eq","assert_eq","at","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","class","clone","clone","clone","clone","clone","clone","clone","clone","cmp","constructed","constructed","context","decode","decode","decode","decode","decode","decode","decode_nested","decode_nested","decode_tagged_slice","decode_tagged_value","default","embedding","embedding","embedding","encode","encode","encode","encode","encode","encode","encode","encode_tagged_collection","encode_to_slice","encode_to_slice","encode_untagged_collection","encoded_length","encoded_length","encoded_length","encoded_length","encoded_length","encoded_length","eq","eq","eq","eq","eq","eq","eq","eq","error","error","fields","finish","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","into","into","into","into","into","into","into","into","into","into","is_empty","is_empty","is_empty","is_failed","is_failed","is_finished","kind","length","length","length","max","nested","new","new","new","new","new","number","partial_cmp","position","private","tag","tag","to_usize","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_into","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","type_id","universal","with_value","with_value","zero","actual","actual","byte","decoded","expected","expected","remaining","tag","value"],"q":[[0,"flexiber"],[246,"flexiber::ErrorKind"],[255,"core::marker"],[256,"core::clone"],[257,"core::cmp"],[258,"core::ops::function"],[259,"core::cmp"],[260,"core::fmt"],[261,"core::option"],[262,"core::result"],[263,"core::any"]],"d":["","","","Class of BER tag.","Multiple encodables in a container.","","Decoding trait.","Derive the Decodable trait on a struct.","BER-TLV decoder.","Encoding trait.","Derive the Encodable trait on a struct.","BER-TLV encoder.","Contains the error value","Error type.","Error type.","Operation failed due to previous error","","","Class has more than 2 bytes","Length greater than u16::MAX","Invalid tag","BER-TLV-encoded length.","Incorrect length for a given field","","","","Contains the success value","Integer overflow occurred (library bug!)","Message is longer than BER-TLV’s limits support","","","Result type.","","","These are tags like in SIMPLE-TLV.","Slice of at most Length::max() bytes.","The tag field consists of a single byte encoding a tag …","This is the common trait that types to be used as tags are …","Types with an associated BER-TLV Tag.","Raw BER-TLV data object TaggedValue<Slice<'_>>.","BER-TLV data object.","Undecoded trailing data at end of message","Unexpected end-of-message/nested field when decoding","","","Encoded message is shorter than the expected length (i.e. …","Unexpected tag","","Tag does not fit in 3 bytes","","","","","","","Borrow the inner byte slice.","Borrow the inner byte slice","Borrow the inner byte slice.","","Assert that this Tag matches the provided expected tag.","Assert that this Tag matches the provided expected tag.","Annotate an ErrorKind with context about where it occurred,","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Attempt to decode this message using the provided decoder.","","Decode a value which impls the Decodable trait.","","","","Decode nested values, creating a new Decoder for the data …","Decode nested values, creating a new Decoder for the data …","Decode a TaggedSlice with tag checked to be as expected, …","Decode a TaggedValue with tag checked to be as expected, …","","To stick with one Error type, make sure the tag type can …","","","Encode this value as BER-TLV using the provided Encoder.","","Encode a value which impls the Encodable trait.","","","","","Encode a collection of values which impl the Encodable …","Encode this value to the provided byte slice, returning a …","Encode this value to the provided byte slice, returning a …","Encode a collection of values which impl the Encodable …","Compute the length of this value in bytes when encoded as …","","","","","","","","","","","","","","Return an error with the given ErrorKind, annotating it …","Return an error with the given ErrorKind, annotating it …","Call the provided function with a slice of Encodable trait …","Finish decoding, returning the given value if there is no …","Finish encoding to the buffer, returning a slice …","","","","","","","","","","","","","","Create a new tagged slice, checking lengths.","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.","","Create a new tagged slice, checking lengths.","Returns the argument unchanged.","Parse Self from the provided byte slice.","Parse Self from the provided byte slice.","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).","Is the inner byte slice empty?","Is this Slice empty?","Is the inner byte slice empty?","Did the decoding operation fail due to an error?","Did the decoding operation fail due to an error?","Have we decoded all of the bytes in this Decoder?","Get the ErrorKind which occurred.","Get the length of the inner byte slice.","Get the Length of this Slice","Get the length of the inner byte slice.","Get the maximum length supported by BER-TLV: 65,535.","For errors occurring inside of a nested message, extend …","Create a new decoder for the given byte slice.","Create a new encoder with the given byte slice as a …","Create a new Error","Create a new Slice, ensuring that the provided slice value …","","","","Get the position inside of the message where the error …","","The tag","","Convert length to usize.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Ergonomic way to get a TaggedValue for a given tag and …","Ergonomic way to get a TaggedValue for a given tag and …","Return a length of 0.","Actual length","Actual tag encountered in the message","Raw byte value of the tag","Length of the decoded data","Expected length","Tag the decoder was expecting (if there is a single such …","Total length of the remaining data left in the buffer","Tag type of the value being decoded",""],"i":[15,6,6,0,0,15,0,0,0,0,0,0,2,0,0,12,6,6,12,12,12,0,12,6,6,6,2,12,12,6,15,0,6,6,0,0,0,0,0,0,0,12,12,6,6,12,12,15,12,2,1,1,1,1,6,7,10,11,10,20,20,12,18,22,13,12,1,14,10,15,6,11,18,22,13,12,1,14,10,15,6,11,6,13,12,1,14,10,15,6,11,1,6,6,6,19,7,18,1,14,6,7,11,18,18,1,20,14,6,24,7,22,1,14,6,11,22,24,24,22,24,7,1,14,6,11,13,12,1,14,10,15,6,11,18,22,34,18,22,18,22,13,13,12,12,1,1,10,15,6,6,11,7,18,18,22,13,13,13,12,1,1,1,14,10,15,6,6,11,11,19,19,18,22,13,12,1,14,10,15,6,11,7,10,11,18,22,18,13,7,10,11,1,13,18,22,13,10,11,6,1,13,6,35,11,1,18,22,13,12,1,1,1,14,14,10,15,15,6,6,6,11,18,22,13,12,1,14,10,15,6,11,18,22,13,12,1,14,10,15,6,11,6,20,20,1,36,37,38,39,36,37,39,40,41],"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,[[[2,[1]],1],[[2,[1]]]],[[1,1],[[2,[1]]]],[[1,3],[[2,[1]]]],[[1,4],[[2,[1]]]],[[1,5],[[2,[1]]]],[3,6],[[[7,[-1]]],[[8,[5]]],9],[10,[[8,[5]]]],[[[11,[10,-1]]],[[8,[5]]],9],[10,[[8,[5]]]],[[-1,-1],[[2,[-1]]],[]],[[-1,-1],[[2,[-1]]],[]],[[12,1],13],[-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,[13,13],[12,12],[1,1],[14,14],[10,10],[15,15],[6,6],[[[11,[-1,-2]]],[[11,[-1,-2]]],16,16],[[1,1],17],[6,6],0,[3,6],[18,[[2,[-1]]],[]],[18,[[2,[[7,[-1]]]]],[19,20]],[18,[[2,[-1]]],19],[18,[[2,[1]]]],[18,[[2,[14]]]],[18,[[2,[6]]]],[[[7,[-1]],-2],[[2,[-3]]],9,21,[]],[[[11,[10,-1]],-2],[[2,[-3]]],9,21,[]],[[18,-1],[[2,[[8,[5]]]]],[19,20]],[[18,-1],[[2,[-2]]],[19,20],19],[[],1],[-1,6,[]],[14,6],[6,6],[[-1,22],[[2,[23]]],[]],[[[7,[-1]],22],[[2,[23]]],[9,24]],[[22,-1],[[2,[23]]],24],[[1,22],[[2,[23]]]],[[14,22],[[2,[23]]]],[[6,22],[[2,[23]]]],[[[11,[-1,-2]],22],[[2,[23]]],24,[9,24]],[[22,6,[8,[24]]],[[2,[23]]]],[[-1,[8,[5]]],[[2,[[8,[5]]]]],[]],[[-1,[8,[5]]],[[2,[[8,[5]]]]],[]],[[22,[8,[24]]],[[2,[23]]]],[-1,[[2,[1]]],[]],[[[7,[-1]]],[[2,[1]]],[9,24]],[1,[[2,[1]]]],[14,[[2,[1]]]],[6,[[2,[1]]]],[[[11,[-1,-2]]],[[2,[1]]],24,[9,24]],[[13,13],25],[[12,12],25],[[1,1],25],[[14,14],25],[[10,10],25],[[15,15],25],[[6,6],25],[[[11,[-1,-2]],[11,[-1,-2]]],25,26,26],[[18,12],[[2,[-1]]],[]],[[22,12],[[2,[-1]]],[]],[[-1,-2],[[2,[-3]]],[],21,[]],[[18,-1],[[2,[-1]]],[]],[22,[[2,[[8,[5]]]]]],[[18,27],28],[[22,27],28],[[13,27],28],[[13,27],28],[[12,27],28],[[12,27],28],[[1,27],28],[[1,27],28],[[10,27],28],[[15,27],28],[[6,27],28],[[6,27],28],[[[11,[-1,-2]],27],28,29,29],[[-1,[8,[5]]],[[2,[[7,[-1]]]]],9],[-1,-1,[]],[[[8,[5]]],18],[-1,-1,[]],[12,13],[-1,-1,[]],[30,13],[-1,-1,[]],[5,1],[-1,-1,[]],[3,1],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[15,25,3],6],[[-1,[8,[5]]],[[2,[[11,[10,-1]]]]],9],[-1,-1,[]],[[[8,[5]]],[[2,[-1]]],[]],[[[8,[5]]],[[2,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[7,[-1]]],25,9],[10,25],[[[11,[10,-1]]],25,9],[18,25],[22,25],[18,25],[13,12],[[[7,[-1]]],1,9],[10,1],[[[11,[10,-1]]],1,9],[[],4],[[13,1],13],[[[8,[5]]],18],[[[8,[5]]],22],[[12,1],13],[[[8,[5]]],[[2,[10]]]],[[-1,-2],[[11,[-2,-1]]],9,[]],0,[[1,1],[[31,[17]]]],[13,[[31,[1]]]],[3,6],[[],6],[[[11,[-1,-2]]],-2,[],9],[1,4],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[4,[[2,[1]]]],[-1,[[32,[-2]]],[],[]],[[[8,[24]]],[[2,[1]]]],[-1,[[32,[-2]]],[],[]],[5,[[2,[14]]]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[5,[[2,[15]]]],[5,[[2,[6]]]],[[[8,[5]]],[[2,[6]]]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,[[32,[-2]]],[],[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[3,6],[[-1,-2],[[11,[-2,-1]]],[],[]],[[-1,-2],[[11,[-2,-1]]],[],[]],[[],1],0,0,0,0,0,0,0,0,0],"c":[],"p":[[3,"Length",0],[6,"Result",0],[15,"u16"],[15,"usize"],[15,"u8"],[3,"Tag",0],[6,"TaggedSlice",0],[15,"slice"],[8,"Copy",255],[3,"Slice",0],[3,"TaggedValue",0],[4,"ErrorKind",0],[3,"Error",0],[3,"SimpleTag",0],[4,"Class",0],[8,"Clone",256],[4,"Ordering",257],[3,"Decoder",0],[8,"Decodable",0],[8,"TagLike",0],[8,"FnOnce",258],[3,"Encoder",0],[15,"tuple"],[8,"Encodable",0],[15,"bool"],[8,"PartialEq",257],[3,"Formatter",259],[6,"Result",259],[8,"Debug",259],[4,"Infallible",260],[4,"Option",261],[4,"Result",262],[3,"TypeId",263],[8,"Container",0],[8,"Tagged",0],[13,"Underlength",246],[13,"UnexpectedTag",246],[13,"InvalidTag",246],[13,"TrailingData",246],[13,"Length",246],[13,"InvalidClass",246]]},\ +"flexiber_derive":{"doc":"Custom derive support for the flexiber crate","t":"YY","n":["Decodable","Encodable"],"q":[[0,"flexiber_derive"]],"d":["Derive the Decodable trait on a struct.","Derive the Encodable trait on a struct."],"i":[0,0],"f":[0,0],"c":[],"p":[]},\ +"log":{"doc":"A lightweight logging facade.","t":"NNNNNNEEIDDNDDDRDNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOLLKLLLLLLLOLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLOLLLLLLLLLLLLLLLLKOOFLLFLLLLLLLLLLLLLLFFFFLLLLLLOLLLLLLLLLLLLLLLLLLLLLLLLO","n":["Debug","Debug","Error","Error","Info","Info","Level","LevelFilter","Log","Metadata","MetadataBuilder","Off","ParseLevelError","Record","RecordBuilder","STATIC_MAX_LEVEL","SetLoggerError","Trace","Trace","Warn","Warn","args","args","as_str","as_str","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","builder","builder","clone","clone","clone","clone","cmp","cmp","cmp","cmp","debug","default","default","enabled","eq","eq","eq","eq","eq","eq","eq","error","file","file","file_static","file_static","flush","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_str","from_str","hash","hash","hash","hash","info","into","into","into","into","into","into","into","into","iter","iter","level","level","level","level","line","line","log","log","log_enabled","logger","max","max","max_level","metadata","metadata","module_path","module_path","module_path_static","module_path_static","new","new","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","set_logger","set_logger_racy","set_max_level","set_max_level_racy","target","target","target","target","to_level","to_level_filter","trace","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","warn"],"q":[[0,"log"],[170,"core::fmt"],[171,"core::cmp"],[172,"core::option"],[173,"core::fmt"],[174,"core::hash"],[175,"core::iter::traits::iterator"],[176,"core::any"]],"d":["The “debug” level.","Corresponds to the Debug log level.","The “error” level.","Corresponds to the Error log level.","The “info” level.","Corresponds to the Info log level.","An enum representing the available verbosity levels of the …","An enum representing the available verbosity level filters …","A trait encapsulating the operations required of a logger.","Metadata about a log message.","Builder for Metadata.","A level lower than all log levels.","The type returned by from_str when the string doesn’t …","The “payload” of a log message.","Builder for Record.","The statically resolved maximum log level.","The type returned by set_logger if set_logger has already …","The “trace” level.","Corresponds to the Trace log level.","The “warn” level.","Corresponds to the Warn log level.","The message body.","Set args.","Returns the string representation of the Level.","Returns the string representation of the LevelFilter.","","","","","","","","","","","","","","","","","Invoke the builder and return a Record","Returns a Metadata object.","Returns a new builder.","Returns a new builder.","","","","","","","","","Logs a message at the debug level.","","","Determines if a log message with the specified metadata …","","","","","","","","Logs a message at the error level.","The source file containing the message.","Set file","The module path of the message, if it is a 'static string.","Set file to a 'static string.","Flushes any buffered records.","","","","","","","","","","","","","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.","","","","","","","Logs a message at the info level.","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).","Iterate through all supported logging levels.","Iterate through all supported filtering levels.","The verbosity level of the message.","Set Metadata::level.","The verbosity level of the message.","Setter for level.","The line containing the message.","Set line","Logs the Record.","The standard logging macro.","Determines if a message logged at the specified level in …","Returns a reference to the logger.","Returns the most verbose logging level.","Returns the most verbose logging level filter.","Returns the current maximum log level.","Metadata about the log directive.","Set metadata. Construct a Metadata object with …","The module path of the message.","Set module_path","The module path of the message, if it is a 'static string.","Set module_path to a 'static string","Construct new RecordBuilder.","Construct a new MetadataBuilder.","","","","","","","Sets the global logger to a &'static Log.","A thread-unsafe version of set_logger.","Sets the global maximum log level.","A thread-unsafe version of set_max_level.","The name of the target of the directive.","Set Metadata::target","The name of the target of the directive.","Setter for target.","Converts self to the equivalent Level.","Converts the Level to the equivalent LevelFilter.","Logs a message at the trace level.","","","","","","","","","","","","","","","","","","","","","","","","","Logs a message at the warn level."],"i":[4,6,4,6,4,6,0,0,0,0,0,6,0,0,0,0,0,4,6,4,6,1,3,4,6,4,6,1,3,8,7,16,11,4,6,1,3,8,7,16,11,3,7,1,8,4,6,1,8,4,6,8,7,0,3,7,21,4,4,6,6,8,7,11,0,1,3,1,3,21,4,4,6,6,1,3,8,7,16,16,11,11,4,6,1,3,8,7,16,11,4,6,4,6,8,7,0,4,6,1,3,8,7,16,11,4,6,1,3,8,7,1,3,21,0,0,0,4,6,0,1,3,1,3,1,3,3,7,4,4,6,6,8,7,0,0,0,0,1,3,8,7,6,4,0,4,6,1,3,8,7,16,11,4,6,1,3,8,7,16,11,4,6,1,3,8,7,16,11,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[[3,2],3],[4,5],[6,5],[-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,[],[]],[3,1],[7,8],[[],3],[[],7],[4,4],[6,6],[1,1],[8,8],[[4,4],9],[[6,6],9],[[8,8],9],[[7,7],9],0,[[],3],[[],7],[[-1,8],10,[]],[[4,6],10],[[4,4],10],[[6,4],10],[[6,6],10],[[8,8],10],[[7,7],10],[[11,11],10],0,[1,[[12,[5]]]],[[3,[12,[5]]],3],[1,[[12,[5]]]],[[3,[12,[5]]],3],[-1,13,[]],[[4,14],15],[[4,14],15],[[6,14],15],[[6,14],15],[[1,14],15],[[3,14],15],[[8,14],15],[[7,14],15],[[16,14],15],[[16,14],15],[[11,14],15],[[11,14],15],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[5,[[17,[4]]]],[5,[[17,[6]]]],[[4,-1],13,18],[[6,-1],13,18],[[8,-1],13,18],[[7,-1],13,18],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[19]]]],[[],[[0,[19]]]],[1,4],[[3,4],3],[8,4],[[7,4],7],[1,[[12,[20]]]],[[3,[12,[20]]],3],[[-1,1],13,[]],0,0,[[],21],[[],4],[[],6],[[],6],[1,8],[[3,8],3],[1,[[12,[5]]]],[[3,[12,[5]]],3],[1,[[12,[5]]]],[[3,[12,[5]]],3],[[],3],[[],7],[[4,4],[[12,[9]]]],[[4,6],[[12,[9]]]],[[6,6],[[12,[9]]]],[[6,4],[[12,[9]]]],[[8,8],[[12,[9]]]],[[7,7],[[12,[9]]]],[21,[[17,[13,16]]]],[21,[[17,[13,16]]]],[6,13],[6,13],[1,5],[[3,5],3],[8,5],[[7,5],7],[6,[[12,[4]]]],[4,6],0,[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,[[17,[-2]]],[],[]],[-1,22,[]],[-1,22,[]],[-1,22,[]],[-1,22,[]],[-1,22,[]],[-1,22,[]],[-1,22,[]],[-1,22,[]],0],"c":[],"p":[[3,"Record",0],[3,"Arguments",170],[3,"RecordBuilder",0],[4,"Level",0],[15,"str"],[4,"LevelFilter",0],[3,"MetadataBuilder",0],[3,"Metadata",0],[4,"Ordering",171],[15,"bool"],[3,"ParseLevelError",0],[4,"Option",172],[15,"tuple"],[3,"Formatter",170],[6,"Result",170],[3,"SetLoggerError",0],[4,"Result",173],[8,"Hasher",174],[8,"Iterator",175],[15,"u32"],[8,"Log",0],[3,"TypeId",176]]},\ +"proc_macro2":{"doc":"github crates-io docs-rs","t":"NNNEDNDNNDDNNNDNEDDELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLDCLLLLLLLLLLLLLL","n":["Alone","Brace","Bracket","Delimiter","Group","Group","Ident","Ident","Joint","LexError","Literal","Literal","None","Parenthesis","Punct","Punct","Spacing","Span","TokenStream","TokenTree","as_char","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","byte_string","call_site","character","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","default","delim_span","delimiter","eq","eq","eq","eq","equivalent","equivalent","equivalent","extend","extend","extra","f32_suffixed","f32_unsuffixed","f64_suffixed","f64_unsuffixed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_str","from_str","hash","i128_suffixed","i128_unsuffixed","i16_suffixed","i16_unsuffixed","i32_suffixed","i32_unsuffixed","i64_suffixed","i64_unsuffixed","i8_suffixed","i8_unsuffixed","into","into","into","into","into","into","into","into","into","into","into_iter","is_empty","isize_suffixed","isize_unsuffixed","join","located_at","mixed_site","new","new","new","new","new_raw","partial_cmp","resolved_at","set_span","set_span","set_span","set_span","set_span","source_text","spacing","span","span","span","span","span","span","span_close","span_open","stream","string","subspan","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","token_stream","try_from","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","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u128_suffixed","u128_unsuffixed","u16_suffixed","u16_unsuffixed","u32_suffixed","u32_unsuffixed","u64_suffixed","u64_unsuffixed","u8_suffixed","u8_unsuffixed","unwrap","usize_suffixed","usize_unsuffixed","DelimSpan","borrow","borrow_mut","clone","clone_into","close","fmt","from","into","join","open","to_owned","try_from","try_into","type_id","IntoIter","TokenStream","borrow","borrow_mut","clone","clone_into","fmt","from","into","into_iter","next","size_hint","to_owned","try_from","try_into","type_id"],"q":[[0,"proc_macro2"],[231,"proc_macro2::extra"],[246,"proc_macro2::token_stream"],[262,"core::cmp"],[263,"core::marker"],[264,"core::convert"],[265,"core::iter::traits::collect"],[266,"core::fmt"],[267,"core::fmt"],[268,"proc_macro"],[269,"core::hash"],[270,"core::option"],[271,"alloc::string"],[272,"core::ops::range"],[273,"core::any"]],"d":["E.g. + is Alone in + =, +ident or +().","{ ... }","[ ... ]","Describes how a sequence of token trees is delimited.","A delimited token stream.","A token stream surrounded by bracket delimiters.","A word of Rust code, which may be a keyword or legal …","An identifier.","E.g. + is Joint in += or ' is Joint in '#.","Error returned from TokenStream::from_str.","A literal string ("hello"), byte string (b"hello"), …","A literal character ('a'), string ("hello"), number (2.3), …","Ø ... Ø","( ... )","A Punct is a single punctuation character like +, - or #.","A single punctuation character (+, ,, $, etc.).","Whether a Punct is followed immediately by another Punct …","A region of source code, along with macro expansion …","An abstract stream of tokens, or more concretely a …","A single token or a delimited sequence of token trees …","Returns the value of this punctuation character as char.","","","","","","","","","","","","","","","","","","","","","Byte string literal.","The span of the invocation of the current procedural macro.","Character literal.","","","","","","","","","","","","","","","","","","","","","Returns an object that holds this group’s span_open() and","Returns the punctuation used as the delimiter for this …","","","","","","","","","","Items which do not have a correspondence to any API in the …","Creates a new suffixed floating-point literal.","Creates a new unsuffixed floating-point literal.","Creates a new suffixed floating-point literal.","Creates a new unsuffixed floating-point literal.","","","","","","","","","","","","","","","","","","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.","","","","","","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","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).","","Checks if this TokenStream is empty.","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Create a new span encompassing self and other.","Creates a new span with the same name resolution behavior …","The span located at the invocation of the procedural …","Returns an empty TokenStream containing no token trees.","Creates a new Group with the given delimiter and token …","Creates a new Punct from the given character and spacing.","Creates a new Ident with the given string as well as the …","Same as Ident::new, but creates a raw identifier (r#ident…","","Creates a new span with the same line/column information …","Configures the span for only this token.","Configures the span for this Group’s delimiters, but not …","Configure the span for this punctuation character.","Configures the span of this Ident, possibly changing its …","Configures the span associated for this literal.","Returns the source text behind a span. This preserves the …","Returns the spacing of this punctuation character, …","","Returns the span of this tree, delegating to the span …","Returns the span for the delimiters of this token stream, …","Returns the span for this punctuation character.","Returns the span of this Ident.","Returns the span encompassing this literal.","Returns the span pointing to the closing delimiter of this …","Returns the span pointing to the opening delimiter of this …","Returns the TokenStream of tokens that are delimited in …","String literal.","Returns a Span that is a subset of self.span() containing …","","","","","","","","","","","","","","","","","Public implementation details for the TokenStream type, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","Convert proc_macro2::Span to proc_macro::Span.","Creates a new suffixed integer literal with the specified …","Creates a new unsuffixed integer literal with the …","An object that holds a Group’s span_open() and …","","","","","Returns a span for the closing punctuation of the group …","","Returns the argument unchanged.","Calls U::from(self).","Returns a span covering the entire delimited group.","Returns a span for the opening punctuation of the group …","","","","","An iterator over TokenStream’s TokenTrees.","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","",""],"i":[11,10,10,0,0,8,0,8,11,0,0,8,10,10,0,8,0,0,0,0,1,23,7,6,8,9,10,1,11,12,5,23,7,6,8,9,10,1,11,12,5,5,6,5,7,6,8,9,10,1,11,12,5,7,6,8,9,10,1,11,12,5,12,7,9,9,10,11,12,12,10,11,12,7,7,0,5,5,5,5,23,23,7,7,6,8,8,9,9,10,1,1,11,12,12,5,5,23,7,7,7,6,6,8,8,8,8,8,9,10,1,11,12,5,7,7,7,5,12,5,5,5,5,5,5,5,5,5,5,23,7,6,8,9,10,1,11,12,5,7,7,5,5,6,6,6,7,9,1,12,12,12,6,8,9,1,12,5,6,1,23,8,9,1,12,5,9,9,9,5,5,7,6,8,9,10,1,11,12,5,23,7,8,9,1,12,5,0,23,7,6,8,9,10,1,11,12,5,23,7,6,8,9,10,1,11,12,5,23,7,6,8,9,10,1,11,12,5,5,5,5,5,5,5,5,5,5,5,6,5,5,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,35,35,35,35,35,35,35,35,35,35,35,35,35,35],"f":[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,[],[]],[-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,[],[]],[[[4,[3]]],5],[[],6],[2,5],[7,7],[6,6],[8,8],[9,9],[10,10],[1,1],[11,11],[12,12],[5,5],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[12,12],14],[[],7],[9,15],[9,10],[[10,10],16],[[11,11],16],[[12,12],16],[[12,-1],16,[17,[19,[18]]]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[7,-1],13,20],[[7,-1],13,20],0,[21,5],[21,5],[22,5],[22,5],[[23,24],25],[[23,24],25],[[7,24],25],[[7,24],25],[[6,24],25],[[8,24],25],[[8,24],25],[[9,24],25],[[9,24],25],[[10,24],25],[[1,24],25],[[1,24],25],[[11,24],25],[[12,24],25],[[12,24],25],[[5,24],25],[[5,24],25],[-1,-1,[]],[8,7],[-1,-1,[]],[26,7],[-1,-1,[]],[27,6],[12,8],[5,8],[1,8],[9,8],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,7,20],[-1,7,20],[18,[[28,[7,23]]]],[18,[[28,[5,23]]]],[[12,-1],13,29],[30,5],[30,5],[31,5],[31,5],[32,5],[32,5],[33,5],[33,5],[34,5],[34,5],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[7,35],[7,16],[36,5],[36,5],[[6,6],[[37,[6]]]],[[6,6],6],[[],6],[[],7],[[10,7],9],[[2,11],1],[[18,6],12],[[18,6],12],[[12,12],[[37,[14]]]],[[6,6],6],[[8,6],13],[[9,6],13],[[1,6],13],[[12,6],13],[[5,6],13],[6,[[37,[38]]]],[1,11],[23,6],[8,6],[9,6],[1,6],[12,6],[5,6],[9,6],[9,6],[9,7],[18,5],[[5,-1],[[37,[6]]],[[40,[39]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,38,[]],[-1,38,[]],[-1,38,[]],[-1,38,[]],[-1,38,[]],[-1,38,[]],[-1,38,[]],0,[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[-1,41,[]],[42,5],[42,5],[43,5],[43,5],[44,5],[44,5],[45,5],[45,5],[3,5],[3,5],[6,27],[39,5],[39,5],0,[-1,-2,[],[]],[-1,-2,[],[]],[15,15],[[-1,-2],13,[],[]],[15,6],[[15,24],25],[-1,-1,[]],[-1,-2,[],[]],[15,6],[15,6],[-1,-2,[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,41,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[35,35],[[-1,-2],13,[],[]],[[35,24],25],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[35,[[37,[8]]]],[35,[[13,[39,[37,[39]]]]]],[-1,-2,[],[]],[-1,[[28,[-2]]],[],[]],[-1,[[28,[-2]]],[],[]],[-1,41,[]]],"c":[],"p":[[3,"Punct",0],[15,"char"],[15,"u8"],[15,"slice"],[3,"Literal",0],[3,"Span",0],[3,"TokenStream",0],[4,"TokenTree",0],[3,"Group",0],[4,"Delimiter",0],[4,"Spacing",0],[3,"Ident",0],[15,"tuple"],[4,"Ordering",262],[3,"DelimSpan",231],[15,"bool"],[8,"Sized",263],[15,"str"],[8,"AsRef",264],[8,"IntoIterator",265],[15,"f32"],[15,"f64"],[3,"LexError",0],[3,"Formatter",266],[6,"Result",266],[3,"TokenStream",267],[3,"Span",267],[4,"Result",268],[8,"Hasher",269],[15,"i128"],[15,"i16"],[15,"i32"],[15,"i64"],[15,"i8"],[3,"IntoIter",246],[15,"isize"],[4,"Option",270],[3,"String",271],[15,"usize"],[8,"RangeBounds",272],[3,"TypeId",273],[15,"u128"],[15,"u16"],[15,"u32"],[15,"u64"]]},\ +"quote":{"doc":"github crates-io docs-rs","t":"IIIKKKKKOLLOOLLLLK","n":["IdentFragment","ToTokens","TokenStreamExt","append","append_all","append_separated","append_terminated","fmt","format_ident","into_token_stream","into_token_stream","quote","quote_spanned","span","span","to_token_stream","to_token_stream","to_tokens"],"q":[[0,"quote"],[18,"proc_macro2"],[19,"core::convert"],[20,"core::iter::traits::collect"],[21,"core::fmt"],[22,"core::fmt"],[23,"proc_macro2"]],"d":["Specialized formatting trait used by format_ident!.","Types that can be interpolated inside a quote! invocation.","TokenStream extension trait with methods for appending …","For use by ToTokens implementations.","For use by ToTokens implementations.","For use by ToTokens implementations.","For use by ToTokens implementations.","Format this value as an identifier fragment.","Formatting macro for constructing Idents.","Convert self directly into a TokenStream object.","Convert self directly into a TokenStream object.","The whole point.","Same as quote!, but applies a given span to all tokens …","Span associated with this IdentFragment.","Span associated with this IdentFragment.","Convert self directly into a TokenStream object.","Convert self directly into a TokenStream object.","Write self to the given TokenStream."],"i":[0,0,0,12,12,12,12,13,0,5,5,0,0,13,13,5,5,5],"f":[0,0,0,[[-1,-2],1,[],[[3,[2]]]],[[-1,-2],1,[],4],[[-1,-2,-3],1,[],4,5],[[-1,-2,-3],1,[],4,5],[[-1,6],7,[]],0,[-1,8,9],[-1,8,9],0,0,[-1,[[11,[10]]],[]],[-1,[[11,[10]]],[]],[-1,8,[]],[-1,8,[]],[[-1,8],1,[]]],"c":[],"p":[[15,"tuple"],[4,"TokenTree",18],[8,"Into",19],[8,"IntoIterator",20],[8,"ToTokens",0],[3,"Formatter",21],[6,"Result",21],[3,"TokenStream",18],[8,"Sized",22],[3,"Span",18],[4,"Option",23],[8,"TokenStreamExt",0],[8,"IdentFragment",0]]},\ +"syn":{"doc":"github crates-io docs-rs","t":"DNNNNDNNNNNEDGNNDENDNNNNNNNNNDNNNNNNNNNNNNDDNNNNEDDDNNDNNNNNNDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNEDDNNNEEDNNNCDDNDNDNNNNNNNCCDNNNNDNCCENNCCDCCDCCDCCDCCDCCDCCDNNDNNENNEENDDNNNNNNNNENNNNNNNNNNNDDNNNEDDDDNNDNNNNNNNNGNENNNNNNENNNNONDENNNNNDENNNNNDDDDDDDDDEDDDDDDDENNNNNNDDNNNDDDEDENNMMMMMMMMLMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMOMMMMOALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMLLMMMOOMLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMAMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMLMMMMLMMMMMMMLMMMMMMMMLLLLLLLLLLLLMMMMMMMMMMMMMMMOAFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLOLLLLOOFLLLLLMMMMMMMMMMMMMAMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMALMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMLLLLLMMMMMAMMLLLLDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIKSKNDDDNQIDGIIGDLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIKNDDDDEDDDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDIDDDDDDDDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLLFLL","n":["Abi","Add","AddEq","And","AngleBracketed","AngleBracketedGenericArguments","Array","Array","Assign","AssignOp","Async","AttrStyle","Attribute","AttributeArgs","Await","BareFn","BareFnArg","BinOp","Binary","Binding","Binding","BitAnd","BitAndEq","BitOr","BitOrEq","BitXor","BitXorEq","Block","Bool","BoundLifetimes","Box","Brace","Bracket","Break","Byte","ByteStr","Call","Cast","Char","Closure","Const","Const","ConstParam","Constraint","Constraint","Continue","Cooked","Crate","Data","DataEnum","DataStruct","DataUnion","Default","Deref","DeriveInput","Div","DivEq","Enum","Eq","Eq","Err","Error","Expr","ExprArray","ExprAssign","ExprAssignOp","ExprAsync","ExprAwait","ExprBinary","ExprBlock","ExprBox","ExprBreak","ExprCall","ExprCast","ExprClosure","ExprContinue","ExprField","ExprForLoop","ExprGroup","ExprIf","ExprIndex","ExprLet","ExprLit","ExprLoop","ExprMacro","ExprMatch","ExprMethodCall","ExprParen","ExprPath","ExprRange","ExprReference","ExprRepeat","ExprReturn","ExprStruct","ExprTry","ExprTryBlock","ExprTuple","ExprType","ExprUnary","ExprUnsafe","ExprWhile","ExprYield","Field","Field","Fields","FieldsNamed","FieldsUnnamed","Float","ForLoop","Ge","GenericArgument","GenericParam","Generics","Group","Group","Gt","Ident","Ident","Ident","If","ImplGenerics","ImplTrait","Index","Index","Infer","Inherited","Inner","Int","Le","Let","Lifetime","Lifetime","Lifetime","Lifetime","Lifetime","Lifetime","Lifetime","LifetimeDef","List","Lit","Lit","Lit","Lit","Lit","LitBool","LitBool","LitBool","LitByte","LitByte","LitByte","LitByteStr","LitByteStr","LitByteStr","LitChar","LitChar","LitChar","LitFloat","LitFloat","LitFloat","LitInt","LitInt","LitInt","LitStr","LitStr","LitStr","Loop","Lt","Macro","Macro","Macro","MacroDelimiter","Match","Maybe","Member","Meta","Meta","MetaList","MetaNameValue","MethodCall","Mul","MulEq","NameValue","Named","Named","Ne","Neg","NestedMeta","Never","None","None","Not","Ok","Or","Outer","Paren","Paren","Paren","Parenthesized","ParenthesizedGenericArguments","Path","Path","Path","Path","PathArguments","PathSegment","PredicateEq","PredicateLifetime","PredicateType","Ptr","Public","QSelf","Range","Raw","Reference","Reference","Rem","RemEq","Repeat","Restricted","Result","Return","ReturnType","Shl","ShlEq","Shr","ShrEq","Slice","Str","StrStyle","Struct","Struct","Sub","SubEq","Token","Trait","TraitBound","TraitBoundModifier","TraitObject","Try","TryBlock","Tuple","Tuple","Turbofish","Type","Type","Type","Type","Type","Type","TypeArray","TypeBareFn","TypeGenerics","TypeGroup","TypeImplTrait","TypeInfer","TypeMacro","TypeNever","TypeParam","TypeParamBound","TypeParen","TypePath","TypePtr","TypeReference","TypeSlice","TypeTraitObject","TypeTuple","UnOp","Unary","Union","Unit","Unnamed","Unnamed","Unsafe","Variadic","Variant","Verbatim","Verbatim","Verbatim","VisCrate","VisPublic","VisRestricted","Visibility","WhereClause","WherePredicate","While","Yield","abi","and_token","apostrophe","args","args","arguments","as_token","as_token","as_turbofish","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","attrs","bang_token","bang_token","base","base10_digits","base10_digits","base10_parse","base10_parse","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","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","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","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","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","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bounded_ty","bounds","bounds","bounds","bounds","bounds","bounds","bounds","brace_token","brace_token","braced","bracket_token","bracket_token","bracket_token","bracket_token","bracketed","buffer","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","colon2_token","colon_token","colon_token","colon_token","colon_token","colon_token","colon_token","colon_token","const_params","const_params_mut","const_token","const_token","crate_token","custom_keyword","custom_punctuation","data","default","default","default","default","default","delimiter","discriminant","dot_token","dots","dyn_token","elem","elem","elem","elem","elem","elem","elems","enum_token","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq_token","eq_token","eq_token","eq_token","eq_token","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expr","expr","expr","expr","ext","extern_token","fields","fields","fields","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fn_token","for_token","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","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","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","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","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","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","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","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","from","from","from","from","from","from","from","from","from","from","func","generics","get_ident","group_token","gt_token","gt_token","gt_token","gt_token","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","ident","ident","ident","ident","ident","ident","ident","ident","ident","impl_token","in_token","index","index","inputs","inputs","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","is_empty","is_empty","is_ident","is_none","iter","iter_mut","leading_colon","left","len","len","lhs_ty","lifetime","lifetime","lifetime","lifetimes","lifetimes","lifetimes","lifetimes","lifetimes","lifetimes_mut","lit","lit","lt_token","lt_token","lt_token","lt_token","mac","make_where_clause","member","modifier","mutability","mutability","name","name","named","nested","new","new","new","new","new","new","new","new","new","new","new","new_raw","op","op","output","output","params","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","paren_token","parenthesized","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse2","parse_any","parse_args","parse_args_with","parse_body","parse_body_with","parse_inner","parse_macro_input","parse_meta","parse_mod_style","parse_named","parse_outer","parse_quote","parse_quote_spanned","parse_str","parse_unnamed","parse_with","partial_cmp","partial_cmp","path","path","path","path","path","path","path","path","path","position","pound_token","predicates","pub_token","pub_token","punctuated","qself","qself","rhs_ty","right","segments","semi_token","semi_token","set_span","set_span","set_span","set_span","set_span","set_span","set_span","set_span","set_span","set_span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","spanned","split_for_impl","star_token","struct_token","style","suffix","suffix","suffix","suffix","suffix","suffix","suffix","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","token","token","token","token","token","token","token","token","tokens","tokens","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_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_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_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_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_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_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","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_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_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_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_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_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","ty","ty","ty","ty","ty","ty","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","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","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","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","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","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_params","type_params_mut","underscore_token","union_token","unnamed","unraw","unsafety","value","value","value","value","value","value","variadic","variants","vis","vis","visit","where_clause","where_token","without_plus","without_plus","without_plus","without_plus","Cursor","TokenBuffer","begin","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","empty","eof","eq","equivalent","from","from","group","ident","into","into","lifetime","literal","new","new2","partial_cmp","punct","span","to_owned","token_stream","token_tree","try_from","try_from","try_into","try_into","type_id","type_id","IdentExt","parse_any","peek_any","unraw","Err","Error","Lookahead1","Nothing","Ok","Output","Parse","ParseBuffer","ParseStream","Parser","Peek","Result","StepCursor","advance_to","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","clone","clone","clone_into","clone_into","combine","cursor","deref","discouraged","drop","eq","equivalent","error","error","error","extend","fmt","fmt","fmt","fmt","fmt","fork","from","from","from","from","from","from","hash","into","into","into","into","into","into_compile_error","into_iter","into_iter","is_empty","lookahead1","new","new_spanned","parse","parse","parse","parse","parse2","parse_str","parse_terminated","peek","peek","peek2","peek3","span","span","step","to_compile_error","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","Speculative","advance_to","End","IntoIter","IntoPairs","Iter","IterMut","Pair","Pairs","PairsMut","Punctuated","Punctuated","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","empty_or_trailing","eq","equivalent","extend","extend","first","first_mut","fmt","from","from","from","from","from","from","from","from","from_iter","from_iter","hash","index","index_mut","insert","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_pairs","into_tuple","into_value","is_empty","iter","iter_mut","last","last_mut","len","len","len","len","len","len","len","new","new","next","next","next","next","next","next","next_back","next_back","next_back","next_back","next_back","next_back","pairs","pairs_mut","parse_separated_nonempty","parse_separated_nonempty_with","parse_terminated","parse_terminated_with","pop","punct","punct_mut","push","push_punct","push_value","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","span","span","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_tokens","to_tokens","trailing_punct","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value","value_mut","Spanned","span","Abstract","Add","AddEq","And","AndAnd","AndEq","As","Async","At","Auto","Await","Bang","Become","Box","Brace","Bracket","Break","Caret","CaretEq","Colon","Colon2","Comma","Const","Continue","Crate","Default","Div","DivEq","Do","Dollar","Dot","Dot2","Dot3","DotDotEq","Dyn","Else","Enum","Eq","EqEq","Extern","FatArrow","Final","Fn","For","Ge","Group","Gt","If","Impl","In","LArrow","Le","Let","Loop","Lt","Macro","Match","Mod","Move","MulEq","Mut","Ne","Or","OrEq","OrOr","Override","Paren","Pound","Priv","Pub","Question","RArrow","Ref","Rem","RemEq","Return","SelfType","SelfValue","Semi","Shl","ShlEq","Shr","ShrEq","Star","Static","Struct","Sub","SubEq","Super","Tilde","Token","Trait","Try","Type","Typeof","Underscore","Union","Unsafe","Unsized","Use","Virtual","Where","While","Yield","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","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","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","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","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deref","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","deref_mut","deref_mut","deref_mut","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","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","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","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","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","spans","surround","surround","surround","surround","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","to_tokens","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_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_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_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_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_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","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_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_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_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_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","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","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","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","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","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","Visit","visit_abi","visit_abi","visit_abi","visit_angle_bracketed_generic_arguments","visit_angle_bracketed_generic_arguments","visit_angle_bracketed_generic_arguments","visit_attr_style","visit_attr_style","visit_attr_style","visit_attribute","visit_attribute","visit_attribute","visit_bare_fn_arg","visit_bare_fn_arg","visit_bare_fn_arg","visit_bin_op","visit_bin_op","visit_bin_op","visit_binding","visit_binding","visit_binding","visit_bound_lifetimes","visit_bound_lifetimes","visit_bound_lifetimes","visit_const_param","visit_const_param","visit_const_param","visit_constraint","visit_constraint","visit_constraint","visit_data","visit_data","visit_data","visit_data_enum","visit_data_enum","visit_data_enum","visit_data_struct","visit_data_struct","visit_data_struct","visit_data_union","visit_data_union","visit_data_union","visit_derive_input","visit_derive_input","visit_derive_input","visit_expr","visit_expr","visit_expr","visit_expr_binary","visit_expr_binary","visit_expr_binary","visit_expr_call","visit_expr_call","visit_expr_call","visit_expr_cast","visit_expr_cast","visit_expr_cast","visit_expr_field","visit_expr_field","visit_expr_field","visit_expr_index","visit_expr_index","visit_expr_index","visit_expr_lit","visit_expr_lit","visit_expr_lit","visit_expr_paren","visit_expr_paren","visit_expr_paren","visit_expr_path","visit_expr_path","visit_expr_path","visit_expr_unary","visit_expr_unary","visit_expr_unary","visit_field","visit_field","visit_field","visit_fields","visit_fields","visit_fields","visit_fields_named","visit_fields_named","visit_fields_named","visit_fields_unnamed","visit_fields_unnamed","visit_fields_unnamed","visit_generic_argument","visit_generic_argument","visit_generic_argument","visit_generic_param","visit_generic_param","visit_generic_param","visit_generics","visit_generics","visit_generics","visit_ident","visit_ident","visit_ident","visit_index","visit_index","visit_index","visit_lifetime","visit_lifetime","visit_lifetime","visit_lifetime_def","visit_lifetime_def","visit_lifetime_def","visit_lit","visit_lit","visit_lit","visit_lit_bool","visit_lit_bool","visit_lit_bool","visit_lit_byte","visit_lit_byte","visit_lit_byte","visit_lit_byte_str","visit_lit_byte_str","visit_lit_byte_str","visit_lit_char","visit_lit_char","visit_lit_char","visit_lit_float","visit_lit_float","visit_lit_float","visit_lit_int","visit_lit_int","visit_lit_int","visit_lit_str","visit_lit_str","visit_lit_str","visit_macro","visit_macro","visit_macro","visit_macro_delimiter","visit_macro_delimiter","visit_macro_delimiter","visit_member","visit_member","visit_member","visit_meta","visit_meta","visit_meta","visit_meta_list","visit_meta_list","visit_meta_list","visit_meta_name_value","visit_meta_name_value","visit_meta_name_value","visit_nested_meta","visit_nested_meta","visit_nested_meta","visit_parenthesized_generic_arguments","visit_parenthesized_generic_arguments","visit_parenthesized_generic_arguments","visit_path","visit_path","visit_path","visit_path_arguments","visit_path_arguments","visit_path_arguments","visit_path_segment","visit_path_segment","visit_path_segment","visit_predicate_eq","visit_predicate_eq","visit_predicate_eq","visit_predicate_lifetime","visit_predicate_lifetime","visit_predicate_lifetime","visit_predicate_type","visit_predicate_type","visit_predicate_type","visit_qself","visit_qself","visit_qself","visit_return_type","visit_return_type","visit_return_type","visit_span","visit_span","visit_span","visit_trait_bound","visit_trait_bound","visit_trait_bound","visit_trait_bound_modifier","visit_trait_bound_modifier","visit_trait_bound_modifier","visit_type","visit_type","visit_type","visit_type_array","visit_type_array","visit_type_array","visit_type_bare_fn","visit_type_bare_fn","visit_type_bare_fn","visit_type_group","visit_type_group","visit_type_group","visit_type_impl_trait","visit_type_impl_trait","visit_type_impl_trait","visit_type_infer","visit_type_infer","visit_type_infer","visit_type_macro","visit_type_macro","visit_type_macro","visit_type_never","visit_type_never","visit_type_never","visit_type_param","visit_type_param","visit_type_param","visit_type_param_bound","visit_type_param_bound","visit_type_param_bound","visit_type_paren","visit_type_paren","visit_type_paren","visit_type_path","visit_type_path","visit_type_path","visit_type_ptr","visit_type_ptr","visit_type_ptr","visit_type_reference","visit_type_reference","visit_type_reference","visit_type_slice","visit_type_slice","visit_type_slice","visit_type_trait_object","visit_type_trait_object","visit_type_trait_object","visit_type_tuple","visit_type_tuple","visit_type_tuple","visit_un_op","visit_un_op","visit_un_op","visit_variadic","visit_variadic","visit_variadic","visit_variant","visit_variant","visit_variant","visit_vis_crate","visit_vis_crate","visit_vis_crate","visit_vis_public","visit_vis_public","visit_vis_public","visit_vis_restricted","visit_vis_restricted","visit_vis_restricted","visit_visibility","visit_visibility","visit_visibility","visit_where_clause","visit_where_clause","visit_where_clause","visit_where_predicate","visit_where_predicate","visit_where_predicate"],"q":[[0,"syn"],[2488,"syn::buffer"],[2523,"syn::ext"],[2527,"syn::parse"],[2626,"syn::parse::discouraged"],[2628,"syn::punctuated"],[2791,"syn::spanned"],[2793,"syn::token"],[4890,"syn::visit"],[5158,"core::str::traits"],[5159,"core::cmp"],[5160,"core::convert"],[5161,"core::marker"],[5162,"core::fmt"],[5163,"core::fmt"],[5164,"proc_macro2"],[5165,"core::convert"],[5166,"core::hash"],[5167,"proc_macro2"],[5168,"proc_macro2"],[5169,"alloc::string"],[5170,"core::any"],[5171,"proc_macro2"],[5172,"proc_macro2"],[5173,"core::ops::function"],[5174,"core::clone"],[5175,"core::cmp"],[5176,"core::fmt"]],"d":["The binary interface of a function: extern "C".","The + operator (addition)","The += operator","The && operator (logical and)","The <'a, T> in std::slice::iter<'a, T>.","Angle bracketed arguments of a path segment: the <K, V> in …","A slice literal expression: [a, b, c, d].","A fixed size array type: [T; n].","An assignment expression: a = compute().","A compound assignment expression: counter += 1.","An async block: async { ... }.","Distinguishes between attributes that decorate an item and …","An attribute like #[repr(transparent)].","Conventional argument type associated with an invocation …","An await expression: fut.await.","A bare function type: fn(usize) -> bool.","An argument in a function type: the usize in …","A binary operator: +, +=, &.","A binary operation: a + b, a * b.","A binding (equality constraint) on an associated type: …","A binding (equality constraint) on an associated type: the …","The & operator (bitwise and)","The &= operator","The | operator (bitwise or)","The |= operator","The ^ operator (bitwise xor)","The ^= operator","A blocked scope: { ... }.","A boolean literal: true or false.","A set of bound lifetimes: for<'a, 'b, 'c>.","A box expression: box f.","","","A break, with an optional label to break and an optional …","A byte literal: b'f'.","A byte string literal: b"foo".","A function call expression: invoke(a, b).","A cast expression: foo as f64.","A character literal: 'a'.","A closure expression: |a, b| a + b.","A const generic parameter: const LENGTH: usize.","A const expression. Must be inside of a block.","A const generic parameter: const LENGTH: usize.","An associated type bound: Iterator<Item: Display>.","An associated type bound: Iterator<Item: Display>.","A continue, with an optional label.","An ordinary string like "data".","A crate-level visibility: crate.","The storage of a struct, enum or union data structure.","An enum input to a proc_macro_derive macro.","A struct input to a proc_macro_derive macro.","An untagged union input to a proc_macro_derive macro.","Return type is not specified.","The * operator for dereferencing","Data structure sent to a proc_macro_derive macro.","The / operator (division)","The /= operator","An enum input to a proc_macro_derive macro.","An equality predicate in a where clause (unsupported).","The == operator (equality)","Contains the error value","Error returned when a Syn parser cannot parse the input …","A Rust expression.","A slice literal expression: [a, b, c, d].","An assignment expression: a = compute().","A compound assignment expression: counter += 1.","An async block: async { ... }.","An await expression: fut.await.","A binary operation: a + b, a * b.","A blocked scope: { ... }.","A box expression: box f.","A break, with an optional label to break and an optional …","A function call expression: invoke(a, b).","A cast expression: foo as f64.","A closure expression: |a, b| a + b.","A continue, with an optional label.","Access of a named struct field (obj.k) or unnamed tuple …","A for loop: for pat in expr { ... }.","An expression contained within invisible delimiters.","An if expression with an optional else block: …","A square bracketed indexing expression: vector[2].","A let guard: let Some(x) = opt.","A literal in place of an expression: 1, "foo".","Conditionless loop: loop { ... }.","A macro invocation expression: format!("{}", q).","A match expression: match n { Some(n) => {}, None => {} }.","A method call expression: x.foo::<T>(a, b).","A parenthesized expression: (a + b).","A path like std::mem::replace possibly containing generic …","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.","A referencing operation: &a or &mut a.","An array literal constructed from one repeated element: …","A return, with an optional value to be returned.","A struct literal expression: Point { x: 1, y: 1 }.","A try-expression: expr?.","A try block: try { ... }.","A tuple expression: (a, b, c, d).","A type ascription expression: foo: f64.","A unary operation: !x, *x.","An unsafe block: unsafe { ... }.","A while loop: while expr { ... }.","A yield expression: yield expr.","A field of a struct or enum variant.","Access of a named struct field (obj.k) or unnamed tuple …","Data stored within an enum variant or struct.","Named fields of a struct or struct variant such as …","Unnamed fields of a tuple struct or tuple variant such as …","A floating point literal: 1f64 or 1.0e10f64.","A for loop: for pat in expr { ... }.","The >= operator (greater than or equal to)","An individual generic argument, like 'a, T, or Item = T.","A generic type parameter, lifetime, or const generic: …","Lifetimes and type parameters attached to a declaration of …","An expression contained within invisible delimiters.","A type contained within invisible delimiters.","The > operator (greater than)","","A word of Rust code, which may be a keyword or legal …","A word of Rust code, which may be a keyword or legal …","An if expression with an optional else block: …","Returned by Generics::split_for_impl.","An impl Bound1 + Bound2 + Bound3 type where Bound is a …","The index of an unnamed tuple struct field.","A square bracketed indexing expression: vector[2].","Indication that a type should be inferred by the compiler: …","An inherited visibility, which usually means private.","","An integer literal: 1 or 1u16.","The <= operator (less than or equal to)","A let guard: let Some(x) = opt.","","","A Rust lifetime: 'a.","A lifetime definition: 'a: 'b + 'c + 'd.","","A lifetime predicate in a where clause: 'a: 'b + 'c.","A lifetime argument.","A lifetime definition: 'a: 'b + 'c + 'd.","A structured list within an attribute, like …","","","A Rust literal such as a string or integer or boolean.","A Rust literal, like the "new_name" in …","A literal in place of an expression: 1, "foo".","","","A boolean literal: true or false.","","","A byte literal: b'f'.","","","A byte string literal: b"foo".","","","A character literal: 'a'.","","","A floating point literal: 1f64 or 1.0e10f64.","","","An integer literal: 1 or 1u16.","","","A UTF-8 string literal: "foo".","Conditionless loop: loop { ... }.","The < operator (less than)","A macro invocation: println!("{}", mac).","A macro invocation expression: format!("{}", q).","A macro in the type position.","A grouping token that surrounds a macro body: m!(...) or …","A match expression: match n { Some(n) => {}, None => {} }.","","A struct or tuple struct field accessed in a struct …","Content of a compile-time structured attribute.","A structured meta item, like the Copy in #[derive(Copy)] …","A structured list within an attribute, like …","A name-value pair within an attribute, like …","A method call expression: x.foo::<T>(a, b).","The * operator (multiplication)","The *= operator","A name-value pair within an attribute, like …","Named fields of a struct or struct variant such as …","A named field like self.x.","The != operator (not equal to)","The - operator for negation","Element of a compile-time attribute list.","The never type: !.","","","The ! operator for logical inversion","Contains the success value","The || operator (logical or)","","A parenthesized expression: (a + b).","","A parenthesized type equivalent to the inner type.","The (A, B) -> C in Fn(A, B) -> C.","Arguments of a function path segment: the (A, B) -> C in …","A path at which a named item is exported (e.g. …","","A path like std::mem::replace possibly containing generic …","A path like std::slice::Iter, optionally qualified with a …","Angle bracketed or parenthesized arguments of a path …","A segment of a path together with any path arguments on …","An equality predicate in a where clause (unsupported).","A lifetime predicate in a where clause: 'a: 'b + 'c.","A type predicate in a where clause: …","A raw pointer type: *const T or *mut T.","A public visibility level: pub.","The explicit Self type in a qualified path: the T in …","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.","A raw string like r##"data"##.","A referencing operation: &a or &mut a.","A reference type: &'a T or &'a mut T.","The % operator (modulus)","The %= operator","An array literal constructed from one repeated element: …","A visibility level restricted to some path: pub(self) or …","The result of a Syn parser.","A return, with an optional value to be returned.","Return type of a function signature.","The << operator (shift left)","The <<= operator","The >> operator (shift right)","The >>= operator","A dynamically sized slice type: [T].","A UTF-8 string literal: "foo".","The style of a string literal, either plain quoted or a …","A struct literal expression: Point { x: 1, y: 1 }.","A struct input to a proc_macro_derive macro.","The - operator (subtraction)","The -= operator","A type-macro that expands to the name of the Rust type …","","A trait used as a bound on a type parameter.","A modifier on a trait bound, currently only used for the ? …","A trait object type dyn Bound1 + Bound2 + Bound3 where …","A try-expression: expr?.","A try block: try { ... }.","A tuple expression: (a, b, c, d).","A tuple type: (A, B, C, String).","Returned by TypeGenerics::as_turbofish.","The possible types that a Rust value could have.","A type ascription expression: foo: f64.","A generic type parameter: T: Into<String>.","A type predicate in a where clause: …","A particular type is returned.","A type argument.","A fixed size array type: [T; n].","A bare function type: fn(usize) -> bool.","Returned by Generics::split_for_impl.","A type contained within invisible delimiters.","An impl Bound1 + Bound2 + Bound3 type where Bound is a …","Indication that a type should be inferred by the compiler: …","A macro in the type position.","The never type: !.","A generic type parameter: T: Into<String>.","A trait or lifetime used as a bound on a type parameter.","A parenthesized type equivalent to the inner type.","A path like std::slice::Iter, optionally qualified with a …","A raw pointer type: *const T or *mut T.","A reference type: &'a T or &'a mut T.","A dynamically sized slice type: [T].","A trait object type dyn Bound1 + Bound2 + Bound3 where …","A tuple type: (A, B, C, String).","A unary operator: *, !, -.","A unary operation: !x, *x.","An untagged union input to a proc_macro_derive macro.","Unit struct or unit variant such as None.","Unnamed fields of a tuple struct or tuple variant such as …","An unnamed field like self.0.","An unsafe block: unsafe { ... }.","The variadic argument of a foreign function.","An enum variant.","Tokens in expression position not interpreted by Syn.","A raw token literal not interpreted by Syn.","Tokens in type position not interpreted by Syn.","A crate-level visibility: crate.","A public visibility level: pub.","A visibility level restricted to some path: pub(self) or …","The visibility level of an item: inherited or pub or …","A where clause in a definition: …","A single predicate in a where clause: T: Deserialize<'de>.","A while loop: while expr { ... }.","A yield expression: yield expr.","","","","","","","","","Turn a type’s generics like <X, Y> into a turbofish like …","Attributes tagged on the variant.","Attributes tagged on the field.","","","","","","","","","","","","","Attributes tagged on the whole struct or enum.","","","","","","","","Parses the literal into a selected number type.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The type being bounded","","","Trait and lifetime bounds (Clone+Send+'static)","","","","","","","Parse a set of curly braces and expose their content to …","","","","","Parse a set of square brackets and expose their content to …","A stably addressed token buffer supporting efficient …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns an Iterator<Item = &ConstParam> over the constant …","Returns an Iterator<Item = &mut ConstParam> over the …","","","","Define a type that supports parsing and printing a given …","Define a type that supports parsing and printing a …","Data within the struct or enum.","","","","","","","Explicit discriminant: Variant = 1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extension traits to provide parsing methods on foreign …","","Content stored in the variant.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","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.","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.","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.","","","","","","","","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.","","","","","","","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.","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.","","Generics required to complete the definition.","If this path consists of a single ident, returns the ident.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Name of the variant.","Name of the field, if any.","","","Name of the struct or enum.","","","","","","","","","(A, B)","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).","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).","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).","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).","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).","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).","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).","","","","Returns true if there are zero fields.","","Determines whether this is a path of length 1 equal to the …","","Get an iterator over the borrowed Field items in this …","Get an iterator over the mutably borrowed Field items in …","","","Returns the number of fields.","","","","","","Returns an Iterator<Item = &LifetimeDef> over the lifetime …","","The for<'a> in for<'a> Foo<&'a T>","Any lifetimes from a for binding","","Returns an Iterator<Item = &mut LifetimeDef> over the …","","","","","","","","Initializes an empty where-clause if there is not one …","","","","","","","","","Panics","Creates a new Ident with the given string as well as the …","","Interpret a Syn literal from a proc-macro2 literal.","","","","","","","","Same as Ident::new, but creates a raw identifier (r#ident…","","","","C","","","","","","","","","","","","Parse a set of parentheses and expose their content to …","Parsing interface for parsing a token stream into a syntax …","Parse tokens of source code into the chosen syntax tree …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Parse a syntax tree node from the content of this string …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Parse a proc-macro2 token stream into the chosen syntax …","","Parse the arguments to the attribute as a syntax tree.","Parse the arguments to the attribute using the given …","Parse the tokens within the macro invocation’s …","Parse the tokens within the macro invocation’s …","Parses zero or more inner attributes from the stream.","Parse the input TokenStream of a macro, triggering a …","Parses the content of the attribute, consisting of the …","Parse a Path containing no path arguments on any of its …","Parses a named (braced struct) field.","Parses zero or more outer attributes from the stream.","Quasi-quotation macro that accepts input like the quote! …","This macro is parse_quote! + quote_spanned!.","Parse a string of Rust code into the chosen syntax tree …","Parses an unnamed (tuple struct) field.","Invoke parser on the content of this string literal.","","","Returns the identifier that begins this structured meta …","","","","","","The Foo<&'a T> in for<'a> Foo<&'a T>","","","","","","","","A punctuated sequence of syntax tree nodes separated by …","","","","","","","","","Configures the span of this Ident, possibly changing its …","","","","","","","","","","","","","","Returns the span of this Ident.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A trait that can provide the Span of the complete contents …","Split a type’s generics into the pieces required for impl…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Tokens representing Rust punctuation, keywords, and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type of the field.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns an Iterator<Item = &TypeParam> over the type …","Returns an Iterator<Item = &mut TypeParam> over the type …","","","","","","","","","","","","","","Visibility of the field.","Visibility of the struct or enum.","Syntax tree traversal to walk a shared borrow of a syntax …","","","In some positions, types may not contain the + character, …","","","","A cheaply copyable cursor into a TokenBuffer.","A buffer that can be efficiently traversed multiple times, …","Creates a cursor referencing the first token in the buffer …","","","","","","","Creates a cursor referencing a static empty TokenStream.","Checks whether the cursor is currently pointing at the end …","","","Returns the argument unchanged.","Returns the argument unchanged.","If the cursor is pointing at a Group with the given …","If the cursor is pointing at a Ident, returns it along …","Calls U::from(self).","Calls U::from(self).","If the cursor is pointing at a Lifetime, returns it along …","If the cursor is pointing at a Literal, return it along …","Creates a TokenBuffer containing all the tokens from the …","Creates a TokenBuffer containing all the tokens from the …","","If the cursor is pointing at a Punct, returns it along …","Returns the Span of the current token, or Span::call_site()…","","Copies all remaining tokens visible from this cursor into a","If the cursor is pointing at a TokenTree, returns it along …","","","","","","","Additional methods for Ident not provided by proc-macro2 …","Parses any identifier including keywords.","Peeks any identifier including keywords. Usage: …","Strips the raw marker r#, if any, from the beginning of an …","Contains the error value","Error returned when a Syn parser cannot parse the input …","Support for checking the next token in a stream to decide …","An empty syntax tree node that consumes no tokens when …","Contains the success value","","Parsing interface implemented by all types that can be …","Cursor position within a buffered token stream.","Input to a Syn parser function.","Parser that can parse Rust tokens into a particular syntax …","Types that can be parsed by looking at just one token.","The result of a Syn parser.","Cursor state associated with speculative parsing.","","","","","","","","","","","","Calls the given parser function to parse a syntax tree …","","","","","Add another error message to self such that when …","Provides low-level access to the token representation …","","Extensions to the parsing API with niche applicability.","","","","Triggers an error at the current position of the parse …","Triggers an error at the current position of the parse …","Triggers an error at the current position of the parse …","","","","","","","Forks a parse stream so that parsing tokens out of either …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Render the error as an invocation of compile_error!.","","","Returns whether there are tokens remaining in this stream.","Constructs a helper for peeking at the next token in this …","Usually the ParseStream::error method will be used …","Creates an error with the specified message spanning the …","","Parses a syntax tree node of type T, advancing the …","Parse tokens of source code into the chosen syntax tree …","","Parse a proc-macro2 token stream into the chosen syntax …","Parse a string of Rust code into the chosen syntax tree …","Parses zero or more occurrences of T separated by …","Looks at the next token in the parse stream to determine …","Looks at the next token in the parse stream to determine …","Looks at the second-next token in the parse stream.","Looks at the third-next token in the parse stream.","Returns the Span of the next token in the parse stream, or …","The source location of the error.","Speculatively parses tokens from this parse stream, …","Render the error as an invocation of compile_error!.","","","","","","","","","","","","","","","","","","","","Extensions to the ParseStream API to support speculative …","Advance this parse stream to the position of a forked …","","An iterator over owned values of type T.","An iterator over owned pairs of type Pair<T, P>.","An iterator over borrowed values of type &T.","An iterator over mutably borrowed values of type &mut T.","A single syntax tree node of type T followed by its …","An iterator over borrowed pairs of type Pair<&T, &P>.","An iterator over mutably borrowed pairs of type …","A punctuated sequence of syntax tree nodes of type T …","","","","","","","","","","","","","","","","","","Clears the sequence of all values and punctuation, making …","","","","","","","","","","","","","","Returns true if either this Punctuated is empty, or it has …","","","","","Borrows the first element in this sequence.","Mutably borrows the first element in this sequence.","","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.","","","","","","Inserts an element at position index.","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).","","","","","","","","","","Returns an iterator over the contents of this sequence as …","Produces this punctuated pair as a tuple of syntax tree …","Extracts the syntax tree node from this punctuated pair, …","Determines whether this punctuated sequence is empty, …","Returns an iterator over borrowed syntax tree nodes of …","Returns an iterator over mutably borrowed syntax tree …","Borrows the last element in this sequence.","Mutably borrows the last element in this sequence.","Returns the number of syntax tree nodes in this punctuated …","","","","","","","Creates an empty punctuated sequence.","Creates a punctuated pair out of a syntax tree node and an …","","","","","","","","","","","","","Returns an iterator over the contents of this sequence as …","Returns an iterator over the contents of this sequence as …","Parses one or more occurrences of T separated by …","Parses one or more occurrences of T using the given parse …","Parses zero or more occurrences of T separated by …","Parses zero or more occurrences of T using the given parse …","Removes the last punctuated pair from this sequence, or …","Borrows the punctuation from this punctuated pair, unless …","Mutably borrows the punctuation from this punctuated pair, …","Appends a syntax tree node onto the end of this punctuated …","Appends a trailing punctuation onto the end of this …","Appends a syntax tree node onto the end of this punctuated …","","","","","","","","","","","","","","","","","Determines whether this punctuated sequence ends with a …","","","","","","","","","","","","","","","","","","","","","","","","","Borrows the syntax tree node from this punctuated pair.","Mutably borrows the syntax tree node from this punctuated …","A trait that can provide the Span of the complete contents …","Returns a Span covering the complete contents of this …","abstract","+","+=","&","&&","&=","as","async","@","auto","await","!","become","box","{...}","[...]","break","^","^=",":","::",",","const","continue","crate","default","/","/=","do","$",".","..","...","..=","dyn","else","enum","=","==","extern","=>","final","fn","for",">=","None-delimited group",">","if","impl","in","<-","<=","let","loop","<","macro","match","mod","move","*=","mut","!=","|","|=","||","override","(...)","#","priv","pub","?","->","ref","%","%=","return","Self","self",";","<<","<<=",">>",">>=","*","static","struct","-","-=","super","~","Marker trait for types that represent single tokens.","trait","try","type","typeof","_","union","unsafe","unsized","use","virtual","where","while","yield","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","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.","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.","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.","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.","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.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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).","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).","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).","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).","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).","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Syntax tree traversal to walk a shared borrow of a syntax …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,65,65,65,88,0,26,67,26,26,26,0,0,0,26,67,0,0,26,0,89,65,65,65,65,65,65,26,52,0,26,59,59,26,52,52,26,26,52,26,39,89,0,0,89,26,285,22,0,0,0,0,85,66,0,65,65,61,48,65,6,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,26,0,0,0,52,26,65,0,0,0,26,67,65,0,0,0,26,0,67,0,26,67,22,12,52,65,26,0,0,0,39,44,48,89,0,13,0,0,0,16,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,65,0,26,67,0,26,46,0,0,16,0,0,26,65,65,13,18,36,65,66,0,67,46,88,66,6,65,12,26,59,67,88,0,0,13,26,67,0,0,0,0,0,67,22,0,26,285,26,67,65,65,26,22,0,26,0,65,65,65,65,67,52,0,26,61,65,65,0,44,0,0,67,26,26,26,67,0,0,26,39,48,85,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,61,18,18,36,26,0,0,26,52,67,0,0,0,0,0,0,26,26,69,78,9,28,90,87,29,94,1,17,21,27,28,29,30,31,32,33,34,35,40,41,42,60,83,84,58,74,30,3,5,3,5,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,285,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,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,285,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,49,40,41,49,50,71,80,92,19,63,0,11,31,68,79,0,0,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,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,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,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,9,10,90,21,40,41,42,49,50,92,38,38,42,77,24,0,0,60,38,43,88,40,42,58,17,30,84,80,68,70,75,77,78,79,81,63,8,1,2,9,10,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,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,15,40,42,51,91,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,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,29,31,33,35,0,82,17,62,64,8,1,2,9,9,10,10,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,36,37,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,3,5,5,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,69,43,8,1,2,9,10,10,10,10,10,10,10,11,12,13,13,13,13,14,15,16,16,16,17,18,18,18,19,20,21,22,22,22,22,23,24,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,36,36,36,37,37,38,39,39,39,39,40,40,41,42,43,44,44,44,45,46,47,48,48,48,48,49,50,51,52,52,52,52,52,52,52,52,53,54,55,56,3,3,5,5,57,285,58,59,60,61,61,61,61,62,63,64,65,66,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,86,87,87,88,89,90,91,92,93,94,28,60,86,70,38,43,90,94,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,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,9,17,21,40,42,60,87,91,92,71,25,31,37,69,93,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,285,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,18,18,18,18,88,86,88,18,18,86,27,18,68,51,41,50,78,38,43,45,49,69,38,15,32,38,43,90,94,73,38,30,45,77,78,82,83,19,14,9,10,41,52,53,54,55,56,3,5,57,10,27,35,69,93,38,14,20,25,28,33,45,69,75,81,93,0,0,0,9,10,13,14,15,16,17,19,20,22,26,32,34,36,37,38,39,40,41,42,43,44,45,46,47,48,52,53,53,54,55,56,3,5,57,58,60,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,85,86,87,89,90,91,93,0,10,11,11,58,58,11,0,11,86,21,11,0,0,0,21,53,9,10,13,11,14,15,25,34,45,58,76,94,11,47,23,25,0,34,76,51,27,86,62,68,9,10,52,53,54,55,56,3,5,57,8,1,2,9,9,10,10,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,36,37,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,52,53,53,54,54,55,55,56,56,3,3,5,5,57,57,58,60,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,37,57,0,38,77,62,11,52,53,54,55,56,3,5,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,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,9,10,3,5,8,1,2,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,58,60,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,0,53,54,55,56,3,5,57,11,58,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,285,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,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,285,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,21,29,42,83,91,94,8,1,2,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,119,116,137,120,133,27,131,127,134,28,29,135,122,30,111,121,139,31,112,32,132,128,138,136,33,34,115,117,126,125,123,129,124,113,110,35,118,114,130,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,3,5,57,285,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,38,38,72,64,20,10,69,53,54,55,56,57,57,69,63,21,60,0,38,47,67,71,80,85,0,0,159,159,160,159,160,160,160,160,160,160,160,159,160,160,160,159,160,160,160,159,159,160,160,160,160,160,160,159,160,159,160,159,160,0,286,286,286,6,0,0,0,6,155,0,0,0,0,0,0,0,164,168,164,165,167,166,168,164,165,167,166,164,165,166,165,166,166,164,165,0,164,167,167,168,164,165,166,164,164,167,166,166,164,168,164,165,167,166,166,167,168,164,165,167,166,166,166,166,164,164,166,166,152,164,155,167,155,155,164,168,164,164,164,164,166,164,166,165,166,164,166,168,164,165,167,166,168,164,165,167,166,168,164,165,167,166,0,287,180,0,0,0,0,0,0,0,0,180,173,177,185,178,179,145,146,180,173,177,185,178,179,145,146,180,173,173,177,178,179,145,180,173,177,178,179,145,180,173,173,173,173,173,173,173,173,173,173,177,185,178,179,145,146,180,173,173,173,173,173,173,173,177,185,178,179,145,146,180,173,173,173,177,185,178,179,145,146,173,180,180,173,173,173,173,173,173,177,185,178,179,145,146,173,180,177,185,178,179,145,146,177,185,178,179,145,146,173,173,173,173,173,173,173,180,180,173,173,173,177,185,178,179,145,146,173,180,173,177,178,179,145,180,173,180,173,173,177,185,178,179,145,146,180,173,177,185,178,179,145,146,180,173,177,185,178,179,145,146,180,180,180,0,288,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,0,0,0,0,0,0,0,0,0,0,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,234,236,239,240,241,243,245,246,248,249,253,256,258,261,264,265,268,271,276,277,279,106,234,236,239,240,241,243,245,246,248,249,253,256,258,261,264,265,268,271,276,277,279,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,280,281,282,283,106,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,106,187,188,189,190,191,192,193,194,195,196,109,197,198,199,200,201,107,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,104,105,220,221,108,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,0,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284,0,284,284],"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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[3,4],[5,4],[3,[[6,[-1]]],7],[5,[[6,[-1]]],7],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[8,8],[1,1],[2,2],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19],[20,20],[21,21],[22,22],[23,23],[24,24],[25,25],[26,26],[27,27],[28,28],[29,29],[30,30],[31,31],[32,32],[33,33],[34,34],[35,35],[36,36],[37,37],[38,38],[39,39],[40,40],[41,41],[42,42],[43,43],[44,44],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[53,53],[54,54],[55,55],[56,56],[3,3],[5,5],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],[65,65],[66,66],[67,67],[68,68],[69,69],[70,70],[71,71],[72,72],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,84],[85,85],[86,86],[87,87],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[94,94],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[9,9],96],[[10,10],96],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],38],[[],43],[[],88],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[8,8],97],[[1,1],97],[[2,2],97],[[9,9],97],[[10,10],97],[[10,-1],97,[[98,[4]],99]],[[11,11],97],[[12,12],97],[[13,13],97],[[14,14],97],[[15,15],97],[[16,16],97],[[17,17],97],[[18,18],97],[[19,19],97],[[20,20],97],[[21,21],97],[[22,22],97],[[23,23],97],[[24,24],97],[[25,25],97],[[26,26],97],[[27,27],97],[[28,28],97],[[29,29],97],[[30,30],97],[[31,31],97],[[32,32],97],[[33,33],97],[[34,34],97],[[35,35],97],[[36,36],97],[[37,37],97],[[38,38],97],[[39,39],97],[[40,40],97],[[41,41],97],[[42,42],97],[[43,43],97],[[44,44],97],[[45,45],97],[[46,46],97],[[47,47],97],[[48,48],97],[[49,49],97],[[50,50],97],[[51,51],97],[[52,52],97],[[53,53],97],[[54,54],97],[[55,55],97],[[56,56],97],[[3,3],97],[[5,5],97],[[57,57],97],[[58,58],97],[[59,59],97],[[60,60],97],[[61,61],97],[[62,62],97],[[63,63],97],[[64,64],97],[[65,65],97],[[66,66],97],[[67,67],97],[[68,68],97],[[69,69],97],[[70,70],97],[[71,71],97],[[72,72],97],[[73,73],97],[[74,74],97],[[75,75],97],[[76,76],97],[[77,77],97],[[78,78],97],[[79,79],97],[[80,80],97],[[81,81],97],[[82,82],97],[[83,83],97],[[84,84],97],[[85,85],97],[[86,86],97],[[87,87],97],[[88,88],97],[[89,89],97],[[90,90],97],[[91,91],97],[[92,92],97],[[93,93],97],[[94,94],97],0,0,0,0,0,[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],0,0,0,0,0,0,0,0,0,[[8,100],101],[[1,100],101],[[2,100],101],[[9,100],101],[[9,100],101],[[10,100],[[103,[95,102]]]],[[10,100],[[103,[95,102]]]],[[10,100],[[103,[95,102]]]],[[11,100],101],[[12,100],101],[[13,100],101],[[14,100],101],[[15,100],101],[[16,100],101],[[17,100],101],[[18,100],101],[[19,100],101],[[20,100],101],[[21,100],101],[[22,100],101],[[23,100],101],[[24,100],101],[[25,100],101],[[26,100],101],[[27,100],101],[[28,100],101],[[29,100],101],[[30,100],101],[[31,100],101],[[32,100],101],[[33,100],101],[[34,100],101],[[35,100],101],[[36,100],101],[[36,100],101],[[37,100],101],[[37,100],101],[[38,100],101],[[39,100],101],[[40,100],101],[[41,100],101],[[42,100],101],[[43,100],101],[[44,100],101],[[45,100],101],[[46,100],101],[[47,100],101],[[48,100],101],[[49,100],101],[[50,100],101],[[51,100],101],[[52,100],101],[[53,100],101],[[54,100],101],[[55,100],101],[[56,100],101],[[3,100],101],[[3,100],101],[[5,100],101],[[5,100],101],[[57,100],101],[[58,100],101],[[59,100],101],[[60,100],101],[[61,100],101],[[62,100],101],[[63,100],101],[[64,100],101],[[65,100],101],[[66,100],101],[[67,100],101],[[68,100],101],[[69,100],101],[[70,100],101],[[71,100],101],[[72,100],101],[[73,100],101],[[74,100],101],[[75,100],101],[[76,100],101],[[77,100],101],[[78,100],101],[[79,100],101],[[80,100],101],[[81,100],101],[[82,100],101],[[83,100],101],[[84,100],101],[[85,100],101],[[86,100],101],[[87,100],101],[[88,100],101],[[89,100],101],[[90,100],101],[[91,100],101],[[92,100],101],[[93,100],101],[[94,100],101],0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[104,10],[105,10],[106,10],[107,10],[108,10],[109,10],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[15,13],[86,13],[14,13],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[52,16],[-1,-1,[]],[13,16],[-1,-1,[]],[19,18],[-1,-1,[]],[20,18],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[24,22],[-1,-1,[]],[25,22],[23,22],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[110,26],[111,26],[112,26],[32,26],[113,26],[114,26],[115,26],[28,26],[35,26],[116,26],[117,26],[118,26],[119,26],[-1,-1,[]],[33,26],[120,26],[121,26],[122,26],[123,26],[124,26],[125,26],[31,26],[126,26],[127,26],[128,26],[29,26],[129,26],[130,26],[131,26],[132,26],[133,26],[34,26],[134,26],[135,26],[136,26],[137,26],[138,26],[30,26],[139,26],[27,26],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[37,36],[140,36],[10,36],[-1,-1,[]],[-1,-1,[]],[140,37],[-1,-1,[]],[41,39],[40,39],[42,39],[-1,-1,[]],[-1,-1,[]],[10,40],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[45,44],[-1,-1,[]],[9,44],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[51,48],[50,48],[-1,-1,[]],[49,48],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[55,52],[3,52],[53,52],[5,52],[56,52],[54,52],[57,52],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[141,3],[-1,-1,[]],[141,5],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[62,61],[64,61],[63,61],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[79,67],[74,67],[81,67],[77,67],[69,67],[78,67],[70,67],[80,67],[-1,-1,[]],[73,67],[75,67],[76,67],[72,67],[68,67],[71,67],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,86,[[142,[87]]]],[-1,-1,[]],[-1,-1,[]],[-1,87,[[142,[10]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[86,[[143,[10]]]],0,0,0,0,0,[[8,-1],95,144],[[1,-1],95,144],[[2,-1],95,144],[[9,-1],95,144],[[10,-1],95,144],[[11,-1],95,144],[[12,-1],95,144],[[13,-1],95,144],[[14,-1],95,144],[[15,-1],95,144],[[16,-1],95,144],[[17,-1],95,144],[[18,-1],95,144],[[19,-1],95,144],[[20,-1],95,144],[[21,-1],95,144],[[22,-1],95,144],[[23,-1],95,144],[[24,-1],95,144],[[25,-1],95,144],[[26,-1],95,144],[[27,-1],95,144],[[28,-1],95,144],[[29,-1],95,144],[[30,-1],95,144],[[31,-1],95,144],[[32,-1],95,144],[[33,-1],95,144],[[34,-1],95,144],[[35,-1],95,144],[[36,-1],95,144],[[37,-1],95,144],[[38,-1],95,144],[[39,-1],95,144],[[40,-1],95,144],[[41,-1],95,144],[[42,-1],95,144],[[43,-1],95,144],[[44,-1],95,144],[[45,-1],95,144],[[46,-1],95,144],[[47,-1],95,144],[[48,-1],95,144],[[49,-1],95,144],[[50,-1],95,144],[[51,-1],95,144],[[52,-1],95,144],[[53,-1],95,144],[[54,-1],95,144],[[55,-1],95,144],[[56,-1],95,144],[[3,-1],95,144],[[5,-1],95,144],[[57,-1],95,144],[[58,-1],95,144],[[59,-1],95,144],[[60,-1],95,144],[[61,-1],95,144],[[62,-1],95,144],[[63,-1],95,144],[[64,-1],95,144],[[65,-1],95,144],[[66,-1],95,144],[[67,-1],95,144],[[68,-1],95,144],[[69,-1],95,144],[[70,-1],95,144],[[71,-1],95,144],[[72,-1],95,144],[[73,-1],95,144],[[74,-1],95,144],[[75,-1],95,144],[[76,-1],95,144],[[77,-1],95,144],[[78,-1],95,144],[[79,-1],95,144],[[80,-1],95,144],[[81,-1],95,144],[[82,-1],95,144],[[83,-1],95,144],[[84,-1],95,144],[[85,-1],95,144],[[86,-1],95,144],[[87,-1],95,144],[[88,-1],95,144],[[89,-1],95,144],[[90,-1],95,144],[[91,-1],95,144],[[92,-1],95,144],[[93,-1],95,144],[[94,-1],95,144],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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[18],[18],[18],[18,97],[88,97],[[86,-1],97,99],[88,97],[18,[[145,[21]]]],[18,[[146,[21]]]],0,0,[18,140],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[38,47],0,0,0,0,0,0,0,0,[[4,147],9],[[4,147],10],[9,41],[141,52],[[4,147],53],[[[149,[148]],147],54],[[148,147],55],[[150,147],56],[[4,147],3],[[4,147],5],[[97,147],57],[[4,147],10],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[151,[[6,[-1]]],152],[153,[[6,[9]]]],[153,[[6,[10]]]],[153,[[6,[13]]]],[153,[[6,[14]]]],[153,[[6,[15]]]],[153,[[6,[16]]]],[153,[[6,[17]]]],[153,[[6,[19]]]],[153,[[6,[20]]]],[153,[[6,[22]]]],[153,[[6,[26]]]],[153,[[6,[32]]]],[153,[[6,[34]]]],[153,[[6,[36]]]],[153,[[6,[37]]]],[153,[[6,[38]]]],[153,[[6,[39]]]],[153,[[6,[40]]]],[153,[[6,[41]]]],[153,[[6,[42]]]],[153,[[6,[43]]]],[153,[[6,[44]]]],[153,[[6,[45]]]],[153,[[6,[46]]]],[153,[[6,[47]]]],[153,[[6,[48]]]],[153,[[6,[52]]]],[153,[[6,[53]]]],[53,[[6,[-1]]],152],[153,[[6,[54]]]],[153,[[6,[55]]]],[153,[[6,[56]]]],[153,[[6,[3]]]],[153,[[6,[5]]]],[153,[[6,[57]]]],[153,[[6,[58]]]],[153,[[6,[60]]]],[153,[[6,[65]]]],[153,[[6,[66]]]],[153,[[6,[67]]]],[153,[[6,[68]]]],[153,[[6,[69]]]],[153,[[6,[70]]]],[153,[[6,[71]]]],[153,[[6,[72]]]],[153,[[6,[73]]]],[153,[[6,[74]]]],[153,[[6,[75]]]],[153,[[6,[76]]]],[153,[[6,[77]]]],[153,[[6,[78]]]],[153,[[6,[79]]]],[153,[[6,[80]]]],[153,[[6,[81]]]],[153,[[6,[82]]]],[153,[[6,[83]]]],[153,[[6,[85]]]],[153,[[6,[86]]]],[153,[[6,[87]]]],[153,[[6,[89]]]],[153,[[6,[90]]]],[153,[[6,[91]]]],[153,[[6,[93]]]],[154,[[6,[-1]]],152],[153,[[6,[10]]]],[11,[[6,[-1]]],152],[[11,-1],6,155],[58,[[6,[-1]]],152],[[58,-1],6,155],[153,[[6,[[156,[11]]]]]],0,[11,[[6,[13]]]],[153,[[6,[86]]]],[153,[[6,[21]]]],[153,[[6,[[156,[11]]]]]],0,0,[4,[[6,[-1]]],152],[153,[[6,[21]]]],[[53,-1],6,155],[[9,9],[[143,[96]]]],[[10,10],[[143,[96]]]],[13,86],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[9,147],95],[[10,147],95],[[52,147],95],[[53,147],95],[[54,147],95],[[55,147],95],[[56,147],95],[[3,147],95],[[5,147],95],[[57,147],95],[-1,147,[]],[-1,147,[]],[-1,147,[]],[9,147],[-1,147,[]],[10,147],[-1,147,[]],[10,[[143,[147]]]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[36,[[143,[147]]]],[-1,147,[]],[37,[[143,[147]]]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[52,147],[-1,147,[]],[-1,147,[]],[53,147],[54,147],[-1,147,[]],[55,147],[-1,147,[]],[-1,147,[]],[56,147],[-1,147,[]],[3,147],[-1,147,[]],[5,147],[-1,147,[]],[57,147],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],0,0,0,[38,[[95,[8,1,[143,[47]]]]]],0,0,0,[52,4],[53,4],[54,4],[55,4],[56,4],[3,4],[5,4],[-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,[],[]],[-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,[],[]],[-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,157,[]],[-1,157,[]],[-1,157,[]],[-1,157,[]],[[8,154],95],[[1,154],95],[[2,154],95],[[9,154],95],[[10,154],95],[[11,154],95],[[13,154],95],[[14,154],95],[[15,154],95],[[16,154],95],[[17,154],95],[[18,154],95],[[19,154],95],[[20,154],95],[[21,154],95],[[22,154],95],[[23,154],95],[[24,154],95],[[25,154],95],[[26,154],95],[[119,154],95],[[116,154],95],[[137,154],95],[[120,154],95],[[133,154],95],[[27,154],95],[[131,154],95],[[127,154],95],[[134,154],95],[[28,154],95],[[29,154],95],[[135,154],95],[[122,154],95],[[30,154],95],[[111,154],95],[[121,154],95],[[139,154],95],[[31,154],95],[[112,154],95],[[32,154],95],[[132,154],95],[[128,154],95],[[138,154],95],[[136,154],95],[[33,154],95],[[34,154],95],[[115,154],95],[[117,154],95],[[126,154],95],[[125,154],95],[[123,154],95],[[129,154],95],[[124,154],95],[[113,154],95],[[110,154],95],[[35,154],95],[[118,154],95],[[114,154],95],[[130,154],95],[[36,154],95],[[37,154],95],[[38,154],95],[[39,154],95],[[40,154],95],[[41,154],95],[[42,154],95],[[43,154],95],[[44,154],95],[[45,154],95],[[46,154],95],[[47,154],95],[[48,154],95],[[49,154],95],[[50,154],95],[[51,154],95],[[52,154],95],[[53,154],95],[[54,154],95],[[55,154],95],[[56,154],95],[[3,154],95],[[5,154],95],[[57,154],95],[[58,154],95],[[60,154],95],[[65,154],95],[[66,154],95],[[67,154],95],[[68,154],95],[[69,154],95],[[70,154],95],[[71,154],95],[[72,154],95],[[73,154],95],[[74,154],95],[[75,154],95],[[76,154],95],[[77,154],95],[[78,154],95],[[79,154],95],[[80,154],95],[[81,154],95],[[82,154],95],[[83,154],95],[[84,154],95],[[85,154],95],[[86,154],95],[[87,154],95],[[88,154],95],[[89,154],95],[[90,154],95],[[91,154],95],[[92,154],95],[[93,154],95],0,[53,141],[54,141],[55,141],[56,141],[3,141],[5,141],[57,10],0,0,[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],0,0,0,0,0,0,[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],0,0,0,0,0,[10,10],0,[53,157],[54,[[156,[148]]]],[55,148],[56,150],[57,97],0,0,0,0,0,0,0,0,[153,[[6,[67]]]],[153,[[6,[71]]]],[153,[[6,[80]]]],[153,[[6,[85]]]],0,0,[159,160],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[160,160],[[-1,-2],95,[],[]],[[],160],[160,97],[[160,160],97],[[-1,-2],97,[],[]],[-1,-1,[]],[-1,-1,[]],[[160,161],[[143,[[95,[160,147,160]]]]]],[160,[[143,[[95,[10,160]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[160,[[143,[[95,[9,160]]]]]],[160,[[143,[[95,[141,160]]]]]],[151,159],[154,159],[[160,160],[[143,[96]]]],[160,[[143,[[95,[162,160]]]]]],[160,147],[-1,-2,[],[]],[160,154],[160,[[143,[[95,[163,160]]]]]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,158,[]],[-1,158,[]],0,[153,[[6,[-1]]],[]],0,[-1,10,[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[164,164],95],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[164,[[6,[-1]]],[]],[165,165],[166,166],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[166,166],95],[164,160],[165],0,[164,95],[[167,167],97],[[-1,-2],97,[],[]],[168,166],[[164,-1],166,169],[[165,-1],166,169],[[166,-1],95,170],[[164,100],101],[[164,100],101],[[167,100],101],[[166,100],101],[[166,100],101],[164,164],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[171,166],[[167,-1],95,144],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[166,154],[166],[166],[164,97],[164,168],[[147,-1],166,169],[[-1,-2],166,172,169],[153,[[6,[-1]]],[]],[164,[[6,[-1]]],152],[[-1,151],6,[]],[153,[[6,[167]]]],[[-1,154],6,[]],[[-1,4],6,[]],[164,[[6,[[173,[-1,-2]]]]],[],152],[[168,-1],97,174],[[164,-1],97,174],[[164,-1],97,174],[[164,-1],97,174],[164,147],[166,147],[[164,-1],[[6,[-2]]],175,[]],[166,154],[-1,-2,[],[]],[-1,-2,[],[]],[-1,157,[]],[-1,157,[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],0,[[-1,-1],95,[]],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,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[173,[-1,-2]]],95,[],[]],[[[173,[-1,-2]]],[[173,[-1,-2]]],176,176],[[[177,[-1,-2]]],[[177,[-1,-2]]],[],[]],[[[178,[-1,-2]]],[[178,[-1,-2]]],176,176],[[[179,[-1]]],[[179,[-1]]],176],[[[145,[-1]]],[[145,[-1]]],[]],[[[180,[-1,-2]]],[[180,[-1,-2]]],176,176],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[],[[173,[-1,-2]]],[],[]],[[[173,[-1,-2]]],97,[],[]],[[[173,[-1,-2]],[173,[-1,-2]]],97,181,181],[[-1,-2],97,[],[]],[[[173,[-1,-2]],-3],95,[],[],170],[[[173,[-1,-2]],-3],95,[],182,170],[[[173,[-1,-2]]],[[143,[-1]]],[],[]],[[[173,[-1,-2]]],[[143,[-1]]],[],[]],[[[173,[-1,-2]],100],101,183,183],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,[[173,[-2,-3]]],170,[],[]],[-1,[[173,[-2,-3]]],170,[],182],[[[173,[-1,-2]],-3],95,184,184,144],[[[173,[-1,-2]],140],[],[],[]],[[[173,[-1,-2]],140],[],[],[]],[[[173,[-1,-2]],140,-1],95,[],182],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[173,[-1,-2]]],[],[],[]],[[[173,[-1,-2]]],[],[],[]],[[[173,[-1,-2]]],[],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[173,[-1,-2]]],[[178,[-1,-2]]],[],[]],[[[180,[-1,-2]]],[[95,[-1,[143,[-2]]]]],[],[]],[[[180,[-1,-2]]],-1,[],[]],[[[173,[-1,-2]]],97,[],[]],[[[173,[-1,-2]]],[[145,[-1]]],[],[]],[[[173,[-1,-2]]],[[146,[-1]]],[],[]],[[[173,[-1,-2]]],[[143,[-1]]],[],[]],[[[173,[-1,-2]]],[[143,[-1]]],[],[]],[[[173,[-1,-2]]],140,[],[]],[[[177,[-1,-2]]],140,[],[]],[[[185,[-1,-2]]],140,[],[]],[[[178,[-1,-2]]],140,[],[]],[[[179,[-1]]],140,[]],[[[145,[-1]]],140,[]],[[[146,[-1]]],140,[]],[[],[[173,[-1,-2]]],[],[]],[[-1,[143,[-2]]],[[180,[-1,-2]]],[],[]],[[[177,[-1,-2]]],143,[],[]],[[[185,[-1,-2]]],143,[],[]],[[[178,[-1,-2]]],143,[],[]],[[[179,[-1]]],143,[]],[[[145,[-1]]],143,[]],[[[146,[-1]]],143,[]],[[[177,[-1,-2]]],143,[],[]],[[[185,[-1,-2]]],143,[],[]],[[[178,[-1,-2]]],143,[],[]],[[[179,[-1]]],143,[]],[[[145,[-1]]],143,[]],[[[146,[-1]]],143,[]],[[[173,[-1,-2]]],[[177,[-1,-2]]],[],[]],[[[173,[-1,-2]]],[[185,[-1,-2]]],[],[]],[153,[[6,[[173,[-1,-2]]]]],152,[186,152]],[153,[[6,[[173,[-1,-2]]]]],[],[186,152]],[153,[[6,[[173,[-1,-2]]]]],152,152],[153,[[6,[[173,[-1,-2]]]]],[],152],[[[173,[-1,-2]]],[[143,[[180,[-1,-2]]]]],[],[]],[[[180,[-1,-2]]],[[143,[-2]]],[],[]],[[[180,[-1,-2]]],[[143,[-2]]],[],[]],[[[173,[-1,-2]],-1],95,[],182],[[[173,[-1,-2]],-2],95,[],[]],[[[173,[-1,-2]],-1],95,[],[]],[[[177,[-1,-2]]],[[95,[140,[143,[140]]]]],[],[]],[[[185,[-1,-2]]],[[95,[140,[143,[140]]]]],[],[]],[[[178,[-1,-2]]],[[95,[140,[143,[140]]]]],[],[]],[[[179,[-1]]],[[95,[140,[143,[140]]]]],[]],[[[145,[-1]]],[[95,[140,[143,[140]]]]],[]],[[[146,[-1]]],[[95,[140,[143,[140]]]]],[]],[-1,147,[]],[-1,147,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[173,[-1,-2]],154],95,172,172],[[[180,[-1,-2]],154],95,172,172],[[[173,[-1,-2]]],97,[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[[[180,[-1,-2]]],-1,[],[]],[[[180,[-1,-2]]],-1,[],[]],0,[-1,147,[]],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,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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-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,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[106,106],[187,187],[188,188],[189,189],[190,190],[191,191],[192,192],[193,193],[194,194],[195,195],[196,196],[109,109],[197,197],[198,198],[199,199],[200,200],[201,201],[107,107],[202,202],[203,203],[204,204],[205,205],[206,206],[207,207],[208,208],[209,209],[210,210],[211,211],[212,212],[213,213],[214,214],[215,215],[216,216],[217,217],[218,218],[219,219],[104,104],[105,105],[220,220],[221,221],[108,108],[222,222],[223,223],[224,224],[225,225],[226,226],[227,227],[228,228],[229,229],[230,230],[231,231],[232,232],[233,233],[234,234],[235,235],[236,236],[237,237],[238,238],[239,239],[240,240],[241,241],[242,242],[243,243],[244,244],[245,245],[246,246],[247,247],[248,248],[249,249],[250,250],[251,251],[252,252],[253,253],[254,254],[255,255],[256,256],[257,257],[258,258],[259,259],[260,260],[261,261],[262,262],[263,263],[264,264],[265,265],[266,266],[267,267],[268,268],[269,269],[270,270],[271,271],[272,272],[273,273],[274,274],[275,275],[276,276],[277,277],[278,278],[279,279],[280,280],[281,281],[282,282],[283,283],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[-1,-2],95,[],[]],[[],106],[[],187],[[],188],[[],189],[[],190],[[],191],[[],192],[[],193],[[],194],[[],195],[[],196],[[],109],[[],197],[[],198],[[],199],[[],200],[[],201],[[],107],[[],202],[[],203],[[],204],[[],205],[[],206],[[],207],[[],208],[[],209],[[],210],[[],211],[[],212],[[],213],[[],214],[[],215],[[],216],[[],217],[[],218],[[],219],[[],104],[[],105],[[],220],[[],221],[[],108],[[],222],[[],223],[[],224],[[],225],[[],226],[[],227],[[],228],[[],229],[[],230],[[],231],[[],232],[[],233],[[],234],[[],235],[[],236],[[],237],[[],238],[[],239],[[],240],[[],241],[[],242],[[],243],[[],244],[[],245],[[],246],[[],247],[[],248],[[],249],[[],250],[[],251],[[],252],[[],253],[[],254],[[],255],[[],256],[[],257],[[],258],[[],259],[[],260],[[],261],[[],262],[[],263],[[],264],[[],265],[[],266],[[],267],[[],268],[[],269],[[],270],[[],271],[[],272],[[],273],[[],274],[[],275],[[],276],[[],277],[[],278],[[],279],[[],280],[[],281],[[],282],[[],283],[106],[234],[236],[239],[240],[241],[243],[245],[246],[248],[249],[253],[256],[258],[261],[264],[265],[268],[271],[276],[277],[279],[106],[234],[236],[239],[240],[241],[243],[245],[246],[248],[249],[253],[256],[258],[261],[264],[265],[268],[271],[276],[277],[279],[[106,106],97],[[187,187],97],[[188,188],97],[[189,189],97],[[190,190],97],[[191,191],97],[[192,192],97],[[193,193],97],[[194,194],97],[[195,195],97],[[196,196],97],[[109,109],97],[[197,197],97],[[198,198],97],[[199,199],97],[[200,200],97],[[201,201],97],[[107,107],97],[[202,202],97],[[203,203],97],[[204,204],97],[[205,205],97],[[206,206],97],[[207,207],97],[[208,208],97],[[209,209],97],[[210,210],97],[[211,211],97],[[212,212],97],[[213,213],97],[[214,214],97],[[215,215],97],[[216,216],97],[[217,217],97],[[218,218],97],[[219,219],97],[[104,104],97],[[105,105],97],[[220,220],97],[[221,221],97],[[108,108],97],[[222,222],97],[[223,223],97],[[224,224],97],[[225,225],97],[[226,226],97],[[227,227],97],[[228,228],97],[[229,229],97],[[230,230],97],[[231,231],97],[[232,232],97],[[233,233],97],[[234,234],97],[[235,235],97],[[236,236],97],[[237,237],97],[[238,238],97],[[239,239],97],[[240,240],97],[[241,241],97],[[242,242],97],[[243,243],97],[[244,244],97],[[245,245],97],[[246,246],97],[[247,247],97],[[248,248],97],[[249,249],97],[[250,250],97],[[251,251],97],[[252,252],97],[[253,253],97],[[254,254],97],[[255,255],97],[[256,256],97],[[257,257],97],[[258,258],97],[[259,259],97],[[260,260],97],[[261,261],97],[[262,262],97],[[263,263],97],[[264,264],97],[[265,265],97],[[266,266],97],[[267,267],97],[[268,268],97],[[269,269],97],[[270,270],97],[[271,271],97],[[272,272],97],[[273,273],97],[[274,274],97],[[275,275],97],[[276,276],97],[[277,277],97],[[278,278],97],[[279,279],97],[[280,280],97],[[281,281],97],[[282,282],97],[[283,283],97],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[-1,-2],97,[],[]],[[106,100],101],[[187,100],101],[[188,100],101],[[189,100],101],[[190,100],101],[[191,100],101],[[192,100],101],[[193,100],101],[[194,100],101],[[195,100],101],[[196,100],101],[[109,100],101],[[197,100],101],[[198,100],101],[[199,100],101],[[200,100],101],[[201,100],101],[[107,100],101],[[202,100],101],[[203,100],101],[[204,100],101],[[205,100],101],[[206,100],101],[[207,100],101],[[208,100],101],[[209,100],101],[[210,100],101],[[211,100],101],[[212,100],101],[[213,100],101],[[214,100],101],[[215,100],101],[[216,100],101],[[217,100],101],[[218,100],101],[[219,100],101],[[104,100],101],[[105,100],101],[[220,100],101],[[221,100],101],[[108,100],101],[[222,100],101],[[223,100],101],[[224,100],101],[[225,100],101],[[226,100],101],[[227,100],101],[[228,100],101],[[229,100],101],[[230,100],101],[[231,100],101],[[232,100],101],[[233,100],101],[[234,100],101],[[235,100],101],[[236,100],101],[[237,100],101],[[238,100],101],[[239,100],101],[[240,100],101],[[241,100],101],[[242,100],101],[[243,100],101],[[244,100],101],[[245,100],101],[[246,100],101],[[247,100],101],[[248,100],101],[[249,100],101],[[250,100],101],[[251,100],101],[[252,100],101],[[253,100],101],[[254,100],101],[[255,100],101],[[256,100],101],[[257,100],101],[[258,100],101],[[259,100],101],[[260,100],101],[[261,100],101],[[262,100],101],[[263,100],101],[[264,100],101],[[265,100],101],[[266,100],101],[[267,100],101],[[268,100],101],[[269,100],101],[[270,100],101],[[271,100],101],[[272,100],101],[[273,100],101],[[274,100],101],[[275,100],101],[[276,100],101],[[277,100],101],[[278,100],101],[[279,100],101],[[280,100],101],[[281,100],101],[[282,100],101],[[283,100],101],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[106,-1],95,144],[[187,-1],95,144],[[188,-1],95,144],[[189,-1],95,144],[[190,-1],95,144],[[191,-1],95,144],[[192,-1],95,144],[[193,-1],95,144],[[194,-1],95,144],[[195,-1],95,144],[[196,-1],95,144],[[109,-1],95,144],[[197,-1],95,144],[[198,-1],95,144],[[199,-1],95,144],[[200,-1],95,144],[[201,-1],95,144],[[107,-1],95,144],[[202,-1],95,144],[[203,-1],95,144],[[204,-1],95,144],[[205,-1],95,144],[[206,-1],95,144],[[207,-1],95,144],[[208,-1],95,144],[[209,-1],95,144],[[210,-1],95,144],[[211,-1],95,144],[[212,-1],95,144],[[213,-1],95,144],[[214,-1],95,144],[[215,-1],95,144],[[216,-1],95,144],[[217,-1],95,144],[[218,-1],95,144],[[219,-1],95,144],[[104,-1],95,144],[[105,-1],95,144],[[220,-1],95,144],[[221,-1],95,144],[[108,-1],95,144],[[222,-1],95,144],[[223,-1],95,144],[[224,-1],95,144],[[225,-1],95,144],[[226,-1],95,144],[[227,-1],95,144],[[228,-1],95,144],[[229,-1],95,144],[[230,-1],95,144],[[231,-1],95,144],[[232,-1],95,144],[[233,-1],95,144],[[234,-1],95,144],[[235,-1],95,144],[[236,-1],95,144],[[237,-1],95,144],[[238,-1],95,144],[[239,-1],95,144],[[240,-1],95,144],[[241,-1],95,144],[[242,-1],95,144],[[243,-1],95,144],[[244,-1],95,144],[[245,-1],95,144],[[246,-1],95,144],[[247,-1],95,144],[[248,-1],95,144],[[249,-1],95,144],[[250,-1],95,144],[[251,-1],95,144],[[252,-1],95,144],[[253,-1],95,144],[[254,-1],95,144],[[255,-1],95,144],[[256,-1],95,144],[[257,-1],95,144],[[258,-1],95,144],[[259,-1],95,144],[[260,-1],95,144],[[261,-1],95,144],[[262,-1],95,144],[[263,-1],95,144],[[264,-1],95,144],[[265,-1],95,144],[[266,-1],95,144],[[267,-1],95,144],[[268,-1],95,144],[[269,-1],95,144],[[270,-1],95,144],[[271,-1],95,144],[[272,-1],95,144],[[273,-1],95,144],[[274,-1],95,144],[[275,-1],95,144],[[276,-1],95,144],[[277,-1],95,144],[[278,-1],95,144],[[279,-1],95,144],[[280,-1],95,144],[[281,-1],95,144],[[282,-1],95,144],[[283,-1],95,144],[-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,[],[]],[-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,[],[]],[-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,[],[]],[153,[[6,[106]]]],[153,[[6,[187]]]],[153,[[6,[188]]]],[153,[[6,[189]]]],[153,[[6,[190]]]],[153,[[6,[191]]]],[153,[[6,[192]]]],[153,[[6,[193]]]],[153,[[6,[194]]]],[153,[[6,[195]]]],[153,[[6,[196]]]],[153,[[6,[109]]]],[153,[[6,[197]]]],[153,[[6,[198]]]],[153,[[6,[199]]]],[153,[[6,[200]]]],[153,[[6,[201]]]],[153,[[6,[107]]]],[153,[[6,[202]]]],[153,[[6,[203]]]],[153,[[6,[204]]]],[153,[[6,[205]]]],[153,[[6,[206]]]],[153,[[6,[207]]]],[153,[[6,[208]]]],[153,[[6,[209]]]],[153,[[6,[210]]]],[153,[[6,[211]]]],[153,[[6,[212]]]],[153,[[6,[213]]]],[153,[[6,[214]]]],[153,[[6,[215]]]],[153,[[6,[216]]]],[153,[[6,[217]]]],[153,[[6,[218]]]],[153,[[6,[219]]]],[153,[[6,[104]]]],[153,[[6,[105]]]],[153,[[6,[220]]]],[153,[[6,[221]]]],[153,[[6,[108]]]],[153,[[6,[222]]]],[153,[[6,[223]]]],[153,[[6,[224]]]],[153,[[6,[225]]]],[153,[[6,[226]]]],[153,[[6,[227]]]],[153,[[6,[228]]]],[153,[[6,[229]]]],[153,[[6,[230]]]],[153,[[6,[231]]]],[153,[[6,[232]]]],[153,[[6,[233]]]],[153,[[6,[234]]]],[153,[[6,[235]]]],[153,[[6,[236]]]],[153,[[6,[237]]]],[153,[[6,[238]]]],[153,[[6,[239]]]],[153,[[6,[240]]]],[153,[[6,[241]]]],[153,[[6,[242]]]],[153,[[6,[243]]]],[153,[[6,[244]]]],[153,[[6,[245]]]],[153,[[6,[246]]]],[153,[[6,[247]]]],[153,[[6,[248]]]],[153,[[6,[249]]]],[153,[[6,[250]]]],[153,[[6,[251]]]],[153,[[6,[252]]]],[153,[[6,[253]]]],[153,[[6,[254]]]],[153,[[6,[255]]]],[153,[[6,[256]]]],[153,[[6,[257]]]],[153,[[6,[258]]]],[153,[[6,[259]]]],[153,[[6,[260]]]],[153,[[6,[261]]]],[153,[[6,[262]]]],[153,[[6,[263]]]],[153,[[6,[264]]]],[153,[[6,[265]]]],[153,[[6,[266]]]],[153,[[6,[267]]]],[153,[[6,[268]]]],[153,[[6,[269]]]],[153,[[6,[270]]]],[153,[[6,[271]]]],[153,[[6,[272]]]],[153,[[6,[273]]]],[153,[[6,[274]]]],[153,[[6,[275]]]],[153,[[6,[276]]]],[153,[[6,[277]]]],[153,[[6,[278]]]],[153,[[6,[279]]]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],[-1,147,[]],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,0,0,0,0,0,0,0,0,0,[[280,154,-1],95,175],[[281,154,-1],95,175],[[282,154,-1],95,175],[[283,154,-1],95,175],[-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,[],[]],[-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,[],[]],[-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,[],[]],[[106,154],95],[[187,154],95],[[188,154],95],[[189,154],95],[[190,154],95],[[191,154],95],[[192,154],95],[[193,154],95],[[194,154],95],[[195,154],95],[[196,154],95],[[109,154],95],[[197,154],95],[[198,154],95],[[199,154],95],[[200,154],95],[[201,154],95],[[107,154],95],[[202,154],95],[[203,154],95],[[204,154],95],[[205,154],95],[[206,154],95],[[207,154],95],[[208,154],95],[[209,154],95],[[210,154],95],[[211,154],95],[[212,154],95],[[213,154],95],[[214,154],95],[[215,154],95],[[216,154],95],[[217,154],95],[[218,154],95],[[219,154],95],[[104,154],95],[[105,154],95],[[220,154],95],[[221,154],95],[[108,154],95],[[222,154],95],[[223,154],95],[[224,154],95],[[225,154],95],[[226,154],95],[[227,154],95],[[228,154],95],[[229,154],95],[[230,154],95],[[231,154],95],[[232,154],95],[[233,154],95],[[234,154],95],[[235,154],95],[[236,154],95],[[237,154],95],[[238,154],95],[[239,154],95],[[240,154],95],[[241,154],95],[[242,154],95],[[243,154],95],[[244,154],95],[[245,154],95],[[246,154],95],[[247,154],95],[[248,154],95],[[249,154],95],[[250,154],95],[[251,154],95],[[252,154],95],[[253,154],95],[[254,154],95],[[255,154],95],[[256,154],95],[[257,154],95],[[258,154],95],[[259,154],95],[[260,154],95],[[261,154],95],[[262,154],95],[[263,154],95],[[264,154],95],[[265,154],95],[[266,154],95],[[267,154],95],[[268,154],95],[[269,154],95],[[270,154],95],[[271,154],95],[[272,154],95],[[273,154],95],[[274,154],95],[[275,154],95],[[276,154],95],[[277,154],95],[[278,154],95],[[279,154],95],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,[[103,[-2]]],[],[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],[-1,158,[]],0,[[-1,82],95,[284,99]],[[-1,82],95,[]],[[-1,82],95,[]],[[-1,90],95,[284,99]],[[-1,90],95,[]],[[-1,90],95,[]],[[-1,12],95,[284,99]],[[-1,12],95,[]],[[-1,12],95,[]],[[-1,11],95,[284,99]],[[-1,11],95,[]],[[-1,11],95,[]],[[-1,83],95,[284,99]],[[-1,83],95,[]],[[-1,83],95,[]],[[-1,65],95,[284,99]],[[-1,65],95,[]],[[-1,65],95,[]],[[-1,91],95,[284,99]],[[-1,91],95,[]],[[-1,91],95,[]],[[-1,43],95,[284,99]],[[-1,43],95,[]],[[-1,43],95,[]],[[-1,42],95,[284,99]],[[-1,42],95,[]],[[-1,42],95,[]],[[-1,92],95,[284,99]],[[-1,92],95,[]],[[-1,92],95,[]],[[-1,61],95,[284,99]],[[-1,61],95,[]],[[-1,61],95,[]],[[-1,63],95,[284,99]],[[-1,63],95,[]],[[-1,63],95,[]],[[-1,62],95,[284,99]],[[-1,62],95,[]],[[-1,62],95,[]],[[-1,64],95,[284,99]],[[-1,64],95,[]],[[-1,64],95,[]],[[-1,60],95,[284,99]],[[-1,60],95,[]],[[-1,60],95,[]],[[-1,26],95,[284,99]],[[-1,26],95,[]],[[-1,26],95,[]],[[-1,27],95,[284,99]],[[-1,27],95,[]],[[-1,27],95,[]],[[-1,28],95,[284,99]],[[-1,28],95,[]],[[-1,28],95,[]],[[-1,29],95,[284,99]],[[-1,29],95,[]],[[-1,29],95,[]],[[-1,30],95,[284,99]],[[-1,30],95,[]],[[-1,30],95,[]],[[-1,31],95,[284,99]],[[-1,31],95,[]],[[-1,31],95,[]],[[-1,32],95,[284,99]],[[-1,32],95,[]],[[-1,32],95,[]],[[-1,33],95,[284,99]],[[-1,33],95,[]],[[-1,33],95,[]],[[-1,34],95,[284,99]],[[-1,34],95,[]],[[-1,34],95,[]],[[-1,35],95,[284,99]],[[-1,35],95,[]],[[-1,35],95,[]],[[-1,21],95,[284,99]],[[-1,21],95,[]],[[-1,21],95,[]],[[-1,18],95,[284,99]],[[-1,18],95,[]],[[-1,18],95,[]],[[-1,19],95,[284,99]],[[-1,19],95,[]],[[-1,19],95,[]],[[-1,20],95,[284,99]],[[-1,20],95,[]],[[-1,20],95,[]],[[-1,89],95,[284,99]],[[-1,89],95,[]],[[-1,89],95,[]],[[-1,39],95,[284,99]],[[-1,39],95,[]],[[-1,39],95,[]],[[-1,38],95,[284,99]],[[-1,38],95,[]],[[-1,38],95,[]],[[-1,10],95,[284,99]],[[-1,10],95,[]],[[-1,10],95,[]],[[-1,37],95,[284,99]],[[-1,37],95,[]],[[-1,37],95,[]],[[-1,9],95,[284,99]],[[-1,9],95,[]],[[-1,9],95,[]],[[-1,41],95,[284,99]],[[-1,41],95,[]],[[-1,41],95,[]],[[-1,52],95,[284,99]],[[-1,52],95,[]],[[-1,52],95,[]],[[-1,57],95,[284,99]],[[-1,57],95,[]],[[-1,57],95,[]],[[-1,55],95,[284,99]],[[-1,55],95,[]],[[-1,55],95,[]],[[-1,54],95,[284,99]],[[-1,54],95,[]],[[-1,54],95,[]],[[-1,56],95,[284,99]],[[-1,56],95,[]],[[-1,56],95,[]],[[-1,5],95,[284,99]],[[-1,5],95,[]],[[-1,5],95,[]],[[-1,3],95,[284,99]],[[-1,3],95,[]],[[-1,3],95,[]],[[-1,53],95,[284,99]],[[-1,53],95,[]],[[-1,53],95,[]],[[-1,58],95,[284,99]],[[-1,58],95,[]],[[-1,58],95,[]],[[-1,59],95,[284,99]],[[-1,59],95,[]],[[-1,59],95,[]],[[-1,36],95,[284,99]],[[-1,36],95,[]],[[-1,36],95,[]],[[-1,13],95,[284,99]],[[-1,13],95,[]],[[-1,13],95,[]],[[-1,14],95,[284,99]],[[-1,14],95,[]],[[-1,14],95,[]],[[-1,15],95,[284,99]],[[-1,15],95,[]],[[-1,15],95,[]],[[-1,16],95,[284,99]],[[-1,16],95,[]],[[-1,16],95,[]],[[-1,93],95,[284,99]],[[-1,93],95,[]],[[-1,93],95,[]],[[-1,86],95,[284,99]],[[-1,86],95,[]],[[-1,86],95,[]],[[-1,88],95,[284,99]],[[-1,88],95,[]],[[-1,88],95,[]],[[-1,87],95,[284,99]],[[-1,87],95,[]],[[-1,87],95,[]],[[-1,51],95,[284,99]],[[-1,51],95,[]],[[-1,51],95,[]],[[-1,50],95,[284,99]],[[-1,50],95,[]],[[-1,50],95,[]],[[-1,49],95,[284,99]],[[-1,49],95,[]],[[-1,49],95,[]],[[-1,94],95,[284,99]],[[-1,94],95,[]],[[-1,94],95,[]],[[-1,85],95,[284,99]],[[-1,85],95,[]],[[-1,85],95,[]],[[-1,147],95,[284,99]],[[-1,147],95,[]],[[-1,147],95,[]],[[-1,45],95,[284,99]],[[-1,45],95,[]],[[-1,45],95,[]],[[-1,46],95,[284,99]],[[-1,46],95,[]],[[-1,46],95,[]],[[-1,67],95,[284,99]],[[-1,67],95,[]],[[-1,67],95,[]],[[-1,68],95,[284,99]],[[-1,68],95,[]],[[-1,68],95,[]],[[-1,69],95,[284,99]],[[-1,69],95,[]],[[-1,69],95,[]],[[-1,70],95,[284,99]],[[-1,70],95,[]],[[-1,70],95,[]],[[-1,71],95,[284,99]],[[-1,71],95,[]],[[-1,71],95,[]],[[-1,72],95,[284,99]],[[-1,72],95,[]],[[-1,72],95,[]],[[-1,73],95,[284,99]],[[-1,73],95,[]],[[-1,73],95,[]],[[-1,74],95,[284,99]],[[-1,74],95,[]],[[-1,74],95,[]],[[-1,40],95,[284,99]],[[-1,40],95,[]],[[-1,40],95,[]],[[-1,44],95,[284,99]],[[-1,44],95,[]],[[-1,44],95,[]],[[-1,75],95,[284,99]],[[-1,75],95,[]],[[-1,75],95,[]],[[-1,76],95,[284,99]],[[-1,76],95,[]],[[-1,76],95,[]],[[-1,77],95,[284,99]],[[-1,77],95,[]],[[-1,77],95,[]],[[-1,78],95,[284,99]],[[-1,78],95,[]],[[-1,78],95,[]],[[-1,79],95,[284,99]],[[-1,79],95,[]],[[-1,79],95,[]],[[-1,80],95,[284,99]],[[-1,80],95,[]],[[-1,80],95,[]],[[-1,81],95,[284,99]],[[-1,81],95,[]],[[-1,81],95,[]],[[-1,66],95,[284,99]],[[-1,66],95,[]],[[-1,66],95,[]],[[-1,84],95,[284,99]],[[-1,84],95,[]],[[-1,84],95,[]],[[-1,17],95,[284,99]],[[-1,17],95,[]],[[-1,17],95,[]],[[-1,24],95,[284,99]],[[-1,24],95,[]],[[-1,24],95,[]],[[-1,23],95,[284,99]],[[-1,23],95,[]],[[-1,23],95,[]],[[-1,25],95,[284,99]],[[-1,25],95,[]],[[-1,25],95,[]],[[-1,22],95,[284,99]],[[-1,22],95,[]],[[-1,22],95,[]],[[-1,47],95,[284,99]],[[-1,47],95,[]],[[-1,47],95,[]],[[-1,48],95,[284,99]],[[-1,48],95,[]],[[-1,48],95,[]]],"c":[],"p":[[3,"TypeGenerics",0],[3,"Turbofish",0],[3,"LitInt",0],[15,"str"],[3,"LitFloat",0],[6,"Result",2527],[8,"FromStr",5158],[3,"ImplGenerics",0],[3,"Lifetime",0],[3,"Ident",0],[3,"Attribute",0],[4,"AttrStyle",0],[4,"Meta",0],[3,"MetaList",0],[3,"MetaNameValue",0],[4,"NestedMeta",0],[3,"Variant",0],[4,"Fields",0],[3,"FieldsNamed",0],[3,"FieldsUnnamed",0],[3,"Field",0],[4,"Visibility",0],[3,"VisPublic",0],[3,"VisCrate",0],[3,"VisRestricted",0],[4,"Expr",0],[3,"ExprBinary",0],[3,"ExprCall",0],[3,"ExprCast",0],[3,"ExprField",0],[3,"ExprIndex",0],[3,"ExprLit",0],[3,"ExprParen",0],[3,"ExprPath",0],[3,"ExprUnary",0],[4,"Member",0],[3,"Index",0],[3,"Generics",0],[4,"GenericParam",0],[3,"TypeParam",0],[3,"LifetimeDef",0],[3,"ConstParam",0],[3,"BoundLifetimes",0],[4,"TypeParamBound",0],[3,"TraitBound",0],[4,"TraitBoundModifier",0],[3,"WhereClause",0],[4,"WherePredicate",0],[3,"PredicateType",0],[3,"PredicateLifetime",0],[3,"PredicateEq",0],[4,"Lit",0],[3,"LitStr",0],[3,"LitByteStr",0],[3,"LitByte",0],[3,"LitChar",0],[3,"LitBool",0],[3,"Macro",0],[4,"MacroDelimiter",0],[3,"DeriveInput",0],[4,"Data",0],[3,"DataStruct",0],[3,"DataEnum",0],[3,"DataUnion",0],[4,"BinOp",0],[4,"UnOp",0],[4,"Type",0],[3,"TypeArray",0],[3,"TypeBareFn",0],[3,"TypeGroup",0],[3,"TypeImplTrait",0],[3,"TypeInfer",0],[3,"TypeMacro",0],[3,"TypeNever",0],[3,"TypeParen",0],[3,"TypePath",0],[3,"TypePtr",0],[3,"TypeReference",0],[3,"TypeSlice",0],[3,"TypeTraitObject",0],[3,"TypeTuple",0],[3,"Abi",0],[3,"BareFnArg",0],[3,"Variadic",0],[4,"ReturnType",0],[3,"Path",0],[3,"PathSegment",0],[4,"PathArguments",0],[4,"GenericArgument",0],[3,"AngleBracketedGenericArguments",0],[3,"Binding",0],[3,"Constraint",0],[3,"ParenthesizedGenericArguments",0],[3,"QSelf",0],[15,"tuple"],[4,"Ordering",5159],[15,"bool"],[8,"AsRef",5160],[8,"Sized",5161],[3,"Formatter",5162],[6,"Result",5162],[3,"Error",5162],[4,"Result",5163],[3,"SelfType",2793],[3,"SelfValue",2793],[3,"Underscore",2793],[3,"Extern",2793],[3,"Super",2793],[3,"Crate",2793],[3,"ExprType",0],[3,"ExprForLoop",0],[3,"ExprLet",0],[3,"ExprTuple",0],[3,"ExprWhile",0],[3,"ExprRange",0],[3,"ExprAssign",0],[3,"ExprReference",0],[3,"ExprUnsafe",0],[3,"ExprArray",0],[3,"ExprAsync",0],[3,"ExprGroup",0],[3,"ExprContinue",0],[3,"ExprStruct",0],[3,"ExprTryBlock",0],[3,"ExprReturn",0],[3,"ExprRepeat",0],[3,"ExprBox",0],[3,"ExprMacro",0],[3,"ExprTry",0],[3,"ExprYield",0],[3,"ExprBlock",0],[3,"ExprLoop",0],[3,"ExprAwait",0],[3,"ExprBreak",0],[3,"ExprClosure",0],[3,"ExprMethodCall",0],[3,"ExprAssignOp",0],[3,"ExprMatch",0],[3,"ExprIf",0],[15,"usize"],[3,"Literal",5164],[8,"Into",5160],[4,"Option",5165],[8,"Hasher",5166],[3,"Iter",2628],[3,"IterMut",2628],[3,"Span",5164],[15,"u8"],[15,"slice"],[15,"char"],[3,"TokenStream",5167],[8,"Parse",2527],[6,"ParseStream",2527],[3,"TokenStream",5164],[8,"Parser",2527],[3,"Vec",5168],[3,"String",5169],[3,"TypeId",5170],[3,"TokenBuffer",2488],[3,"Cursor",2488],[4,"Delimiter",5164],[3,"Punct",5164],[4,"TokenTree",5164],[3,"ParseBuffer",2527],[3,"StepCursor",2527],[3,"Error",2527],[3,"Nothing",2527],[3,"Lookahead1",2527],[8,"Display",5162],[8,"IntoIterator",5171],[3,"LexError",5164],[8,"ToTokens",5172],[3,"Punctuated",2628],[8,"Peek",2527],[8,"FnOnce",5173],[8,"Clone",5174],[3,"Pairs",2628],[3,"IntoPairs",2628],[3,"IntoIter",2628],[4,"Pair",2628],[8,"PartialEq",5159],[8,"Default",5175],[8,"Debug",5162],[8,"Hash",5166],[3,"PairsMut",2628],[8,"Token",2793],[3,"Abstract",2793],[3,"As",2793],[3,"Async",2793],[3,"Auto",2793],[3,"Await",2793],[3,"Become",2793],[3,"Box",2793],[3,"Break",2793],[3,"Const",2793],[3,"Continue",2793],[3,"Default",2793],[3,"Do",2793],[3,"Dyn",2793],[3,"Else",2793],[3,"Enum",2793],[3,"Final",2793],[3,"Fn",2793],[3,"For",2793],[3,"If",2793],[3,"Impl",2793],[3,"In",2793],[3,"Let",2793],[3,"Loop",2793],[3,"Macro",2793],[3,"Match",2793],[3,"Mod",2793],[3,"Move",2793],[3,"Mut",2793],[3,"Override",2793],[3,"Priv",2793],[3,"Pub",2793],[3,"Ref",2793],[3,"Return",2793],[3,"Static",2793],[3,"Struct",2793],[3,"Trait",2793],[3,"Try",2793],[3,"Type",2793],[3,"Typeof",2793],[3,"Union",2793],[3,"Unsafe",2793],[3,"Unsized",2793],[3,"Use",2793],[3,"Virtual",2793],[3,"Where",2793],[3,"While",2793],[3,"Yield",2793],[3,"Add",2793],[3,"AddEq",2793],[3,"And",2793],[3,"AndAnd",2793],[3,"AndEq",2793],[3,"At",2793],[3,"Bang",2793],[3,"Caret",2793],[3,"CaretEq",2793],[3,"Colon",2793],[3,"Colon2",2793],[3,"Comma",2793],[3,"Div",2793],[3,"DivEq",2793],[3,"Dollar",2793],[3,"Dot",2793],[3,"Dot2",2793],[3,"Dot3",2793],[3,"DotDotEq",2793],[3,"Eq",2793],[3,"EqEq",2793],[3,"Ge",2793],[3,"Gt",2793],[3,"Le",2793],[3,"Lt",2793],[3,"MulEq",2793],[3,"Ne",2793],[3,"Or",2793],[3,"OrEq",2793],[3,"OrOr",2793],[3,"Pound",2793],[3,"Question",2793],[3,"RArrow",2793],[3,"LArrow",2793],[3,"Rem",2793],[3,"RemEq",2793],[3,"FatArrow",2793],[3,"Semi",2793],[3,"Shl",2793],[3,"ShlEq",2793],[3,"Shr",2793],[3,"ShrEq",2793],[3,"Star",2793],[3,"Sub",2793],[3,"SubEq",2793],[3,"Tilde",2793],[3,"Brace",2793],[3,"Bracket",2793],[3,"Paren",2793],[3,"Group",2793],[8,"Visit",4890],[4,"StrStyle",0],[8,"IdentExt",2523],[8,"Speculative",2626],[8,"Spanned",2791]]},\ +"synstructure":{"doc":"This crate provides helper types for matching against enum …","t":"EEDNNNINNNNNDDDLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLKLLLLLLMLLLLLLLMOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLL","n":["AddBounds","BindStyle","BindingInfo","Both","Fields","Generics","MacroResult","Move","MoveMut","None","Ref","RefMut","Structure","VariantAst","VariantInfo","add_bounds","add_impl_generic","add_trait_bounds","add_where_predicate","ast","ast","ast","attrs","bind_with","bind_with","binding","binding_name","binding_name","bindings","bindings_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bound_impl","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","construct","decl_attribute","decl_derive","discriminant","each","each","each_variant","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fields","filter","filter","filter_variants","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold","from","from","from","from","from","from","gen_impl","hash","hash","hash","hash","hash","hash","ident","into","into","into","into","into","into","into_result","into_stream","new","omitted_bindings","omitted_variants","pat","pat","prefix","referenced_ty_params","referenced_ty_params","referenced_ty_params","remove_binding","remove_variant","span","span","style","test_derive","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_tokens","to_tokens","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_new","type_id","type_id","type_id","type_id","type_id","type_id","unbound_impl","underscore_const","unpretty_print","unsafe_bound_impl","unsafe_unbound_impl","variants","variants_mut"],"q":[[0,"synstructure"],[157,"syn::generics"],[158,"syn::generics"],[159,"syn::generics"],[160,"syn::derive"],[161,"core::ops::function"],[162,"proc_macro2"],[163,"quote::to_tokens"],[164,"core::fmt"],[165,"core::fmt"],[166,"syn::error"],[167,"proc_macro"],[168,"core::marker"],[169,"proc_macro2"],[170,"proc_macro2"],[171,"core::any"],[172,"alloc::string"],[173,"core::fmt"]],"d":["Changes how bounds are added","The type of binding to use when generating a pattern.","Information about a specific binding. This contains both …","Add for fields and generics","Fields only","Generics only","Helper trait describing values which may be returned by …","x","mut x","None","ref x","ref mut x","A wrapper around a syn::DeriveInput which provides …","This type is similar to syn’s Variant type, however each …","A wrapper around a syn::DeriveInput’s variant which …","Specify which bounds should be generated by …","Adds an impl<> generic parameter. This can be used when …","Add trait bounds for a trait with the given path for each …","Specify additional where predicate bounds which should be …","Returns a reference to the underlying syn AST node which …","Returns a VariantAst object which contains references to …","Returns a reference to the underlying syn AST node which …","","Updates the BindStyle for each of the passed-in fields by …","Updates the BindStyle for each of the passed-in fields by …","The name which this BindingInfo will bind to.","Updates the binding name for each fo the passed-in fields …","Updates the binding name for each fo the passed-in fields …","Returns a slice of the bindings in this Variant.","Returns a mut slice of the bindings in this Variant.","","","","","","","","","","","","","NOTE: This methods’ features are superceded by …","","","","","","","","","","","","","Generates the token stream required to construct the …","The decl_attribute! macro declares a custom attribute …","The decl_derive! macro declares a custom derive wrapper. …","","Runs the passed-in function once for each bound field, …","Runs the passed-in function once for each bound field, …","Runs the passed-in function once for each variant, passing …","","","","","","","","","","","","","","Filter the bindings created by this Variant object. This …","Filter the bindings created by this Structure object. This …","Filter the variants matched by this Structure object. This …","","","","","","","Runs the passed-in function once for each bound field, …","Runs the passed-in function once for each bound field, …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Generate an impl block for the given struct. This impl …","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Convert this result into a Result for further processing / …","Convert this result into a proc_macro::TokenStream, ready …","Create a new Structure with the variants and fields from …","True if any bindings were omitted due to a filter call.","True if any variants were omitted due to a filter_variants …","Generates the pattern fragment for this field binding.","Generates the match-arm pattern which could be used to …","","Returns a list of the type parameters which are referenced …","Returns a list of the type parameters which are referenced …","Returns a list of the type parameters which are refrenced …","Remove the binding at the given index.","Remove the variant at the given index.","","","The type of binding which this BindingInfo will create.","Run a test on a custom derive. This macro expands both the …","","","","","","","","","","","","","","","","","","","","","Create a new Structure with the variants and fields from …","","","","","","","NOTE: This methods’ features are superceded by …","Configure whether to use const _ instead of a generated …","Dumps an unpretty version of a tokenstream. Takes any type …","NOTE: This methods’ features are superceded by …","NOTE: This methods’ features are superceded by …","Returns a slice of the variants in this Structure.","Returns a mut slice of the variants in this Structure."],"i":[0,0,0,2,2,2,0,18,18,2,18,18,0,0,0,1,1,1,1,9,11,1,12,11,1,9,11,1,11,11,2,18,9,12,11,1,2,18,9,12,11,1,1,2,18,9,12,11,1,2,18,9,12,11,1,11,0,0,12,11,1,1,2,18,9,12,11,1,2,18,9,12,11,1,12,11,1,1,2,18,9,12,11,1,11,1,2,18,9,12,11,1,1,2,18,9,12,11,1,12,2,18,9,12,11,1,34,34,1,11,1,9,11,11,9,11,1,11,1,18,9,9,0,2,18,9,12,11,1,18,9,2,18,9,12,11,1,2,18,9,12,11,1,1,2,18,9,12,11,1,1,1,0,1,1,1,1],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2],1],[[1,3],1],[[1,4,[6,[5]],2],7],[[1,8],1],[9,10],[11,12],[1,13],0,[[11,-1],11,14],[[1,-1],1,14],0,[[11,-1],11,14],[[1,-1],1,14],[11,[[15,[9]]]],[11,[[15,[9]]]],[-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,-1,-2],16,17,17],[2,2],[18,18],[9,9],[12,12],[11,11],[1,1],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[-1,-2],7,[],[]],[[11,-1],16,14],0,0,0,[[11,-1],16,14],[[1,-1],16,14],[[1,-1],16,14],[[2,2],19],[[18,18],19],[[9,9],19],[[12,12],19],[[11,11],19],[[1,1],19],[[-1,-2],19,[],[]],[[-1,-2],19,[],[]],[[-1,-2],19,[],[]],[[-1,-2],19,[],[]],[[-1,-2],19,[],[]],[[-1,-2],19,[],[]],0,[[11,-1],11,14],[[1,-1],1,14],[[1,-1],1,14],[[2,20],21],[[18,20],21],[[9,20],21],[[12,20],21],[[11,20],21],[[1,20],21],[[11,-1,-2],16,17,14],[[1,-1,-2],16,17,14],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,16],16],[[2,-1],7,22],[[18,-1],7,22],[[9,-1],7,22],[[12,-1],7,22],[[11,-1],7,22],[[1,-1],7,22],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[23,[16]]],[]],[-1,24,25],[13,1],[11,19],[1,19],[9,16],[11,16],0,[9,[[27,[26]]]],[11,[[27,[26]]]],[1,[[27,[26]]]],[[11,28],11],[[1,28],1],[-1,29,[]],[-1,29,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[18,16],7],[[9,16],7],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[-1,[[30,[-2]]],[],[]],[13,[[23,[1]]]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[-1,31,[]],[[1,-1,-2],16,17,17],[[1,19],1],[-1,32,33],[[1,-1,-2],16,17,17],[[1,-1,-2],16,17,17],[1,[[15,[11]]]],[1,[[15,[11]]]]],"c":[154],"p":[[3,"Structure",0],[4,"AddBounds",0],[4,"GenericParam",157],[3,"TraitBound",157],[3,"WhereClause",157],[4,"Option",158],[15,"tuple"],[4,"WherePredicate",157],[3,"BindingInfo",0],[3,"Field",159],[3,"VariantInfo",0],[3,"VariantAst",0],[3,"DeriveInput",160],[8,"FnMut",161],[15,"slice"],[3,"TokenStream",162],[8,"ToTokens",163],[4,"BindStyle",0],[15,"bool"],[3,"Formatter",164],[6,"Result",164],[8,"Hasher",165],[6,"Result",166],[3,"TokenStream",167],[8,"Sized",168],[3,"Ident",162],[3,"Vec",169],[15,"usize"],[3,"Span",162],[4,"Result",170],[3,"TypeId",171],[3,"String",172],[8,"Display",164],[8,"MacroResult",0]]},\ +"unicode_ident":{"doc":"github crates-io docs-rs","t":"FF","n":["is_xid_continue","is_xid_start"],"q":[[0,"unicode_ident"]],"d":["",""],"i":[0,0],"f":[[1,2],[1,2]],"c":[],"p":[[15,"char"],[15,"bool"]]},\ +"unicode_xid":{"doc":"Determine if a char is a valid identifier for a parser …","t":"RIKK","n":["UNICODE_VERSION","UnicodeXID","is_xid_continue","is_xid_start"],"q":[[0,"unicode_xid"]],"d":["The version of Unicode that this version of unicode-xid is …","Methods for determining if a character is a valid …","Returns whether the specified char satisfies the ‘…","Returns whether the specified character satisfies the ‘…"],"i":[0,0,2,2],"f":[0,0,[-1,1,[]],[-1,1,[]]],"c":[],"p":[[15,"bool"],[8,"UnicodeXID",0]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/settings.html b/settings.html index 83de367..33b5e40 100644 --- a/settings.html +++ b/settings.html @@ -1 +1 @@ -Rustdoc settings

    Rustdoc settings

    Back
    \ No newline at end of file +Rustdoc settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/source-files.js b/src-files.js similarity index 58% rename from source-files.js rename to src-files.js index 694c4ff..4d1a75e 100644 --- a/source-files.js +++ b/src-files.js @@ -1,14 +1,13 @@ -var sourcesIndex = JSON.parse('{\ -"cfg_if":["",[],["lib.rs"]],\ +var srcIndex = JSON.parse('{\ "delog":["",[],["hex.rs","lib.rs","logger.rs","macros.rs","render.rs"]],\ "flexiber":["",[],["decoder.rs","encoder.rs","error.rs","header.rs","length.rs","lib.rs","simpletag.rs","slice.rs","tag.rs","tagged.rs","traits.rs"]],\ "flexiber_derive":["",[],["decodable.rs","encodable.rs","lib.rs"]],\ -"log":["",[],["lib.rs","macros.rs"]],\ -"proc_macro2":["",[],["detection.rs","fallback.rs","lib.rs","marker.rs","parse.rs","rcvec.rs","wrapper.rs"]],\ +"log":["",[],["__private_api.rs","lib.rs","macros.rs"]],\ +"proc_macro2":["",[],["detection.rs","extra.rs","fallback.rs","lib.rs","marker.rs","parse.rs","rcvec.rs","wrapper.rs"]],\ "quote":["",[],["ext.rs","format.rs","ident_fragment.rs","lib.rs","runtime.rs","spanned.rs","to_tokens.rs"]],\ -"syn":["",[["gen",[],["clone.rs","debug.rs","eq.rs","gen_helper.rs","hash.rs","visit.rs"]]],["attr.rs","await.rs","bigint.rs","buffer.rs","custom_keyword.rs","custom_punctuation.rs","data.rs","derive.rs","discouraged.rs","drops.rs","error.rs","export.rs","expr.rs","ext.rs","generics.rs","group.rs","ident.rs","lib.rs","lifetime.rs","lit.rs","lookahead.rs","mac.rs","macros.rs","op.rs","parse.rs","parse_macro_input.rs","parse_quote.rs","path.rs","print.rs","punctuated.rs","sealed.rs","span.rs","spanned.rs","thread.rs","token.rs","tt.rs","ty.rs","verbatim.rs"]],\ +"syn":["",[["gen",[],["clone.rs","debug.rs","eq.rs","hash.rs","visit.rs"]]],["attr.rs","await.rs","bigint.rs","buffer.rs","custom_keyword.rs","custom_punctuation.rs","data.rs","derive.rs","discouraged.rs","drops.rs","error.rs","export.rs","expr.rs","ext.rs","gen_helper.rs","generics.rs","group.rs","ident.rs","lib.rs","lifetime.rs","lit.rs","lookahead.rs","mac.rs","macros.rs","op.rs","parse.rs","parse_macro_input.rs","parse_quote.rs","path.rs","print.rs","punctuated.rs","sealed.rs","span.rs","spanned.rs","thread.rs","token.rs","tt.rs","ty.rs","verbatim.rs"]],\ "synstructure":["",[],["lib.rs","macros.rs"]],\ "unicode_ident":["",[],["lib.rs","tables.rs"]],\ "unicode_xid":["",[],["lib.rs","tables.rs"]]\ }'); -createSourceSidebar(); +createSrcSidebar(); diff --git a/src/cfg_if/lib.rs.html b/src/cfg_if/lib.rs.html deleted file mode 100644 index 30421b3..0000000 --- a/src/cfg_if/lib.rs.html +++ /dev/null @@ -1,354 +0,0 @@ -lib.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -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
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -
    //! A macro for defining `#[cfg]` if-else statements.
    -//!
    -//! The macro provided by this crate, `cfg_if`, is similar to the `if/elif` C
    -//! preprocessor macro by allowing definition of a cascade of `#[cfg]` cases,
    -//! emitting the implementation which matches first.
    -//!
    -//! This allows you to conveniently provide a long list `#[cfg]`'d blocks of code
    -//! without having to rewrite each clause multiple times.
    -//!
    -//! # Example
    -//!
    -//! ```
    -//! cfg_if::cfg_if! {
    -//!     if #[cfg(unix)] {
    -//!         fn foo() { /* unix specific functionality */ }
    -//!     } else if #[cfg(target_pointer_width = "32")] {
    -//!         fn foo() { /* non-unix, 32-bit functionality */ }
    -//!     } else {
    -//!         fn foo() { /* fallback implementation */ }
    -//!     }
    -//! }
    -//!
    -//! # fn main() {}
    -//! ```
    -
    -#![no_std]
    -#![doc(html_root_url = "https://docs.rs/cfg-if")]
    -#![deny(missing_docs)]
    -#![cfg_attr(test, deny(warnings))]
    -
    -/// The main macro provided by this crate. See crate documentation for more
    -/// information.
    -#[macro_export]
    -macro_rules! cfg_if {
    -    // match if/else chains with a final `else`
    -    ($(
    -        if #[cfg($meta:meta)] { $($tokens:tt)* }
    -    ) else * else {
    -        $($tokens2:tt)*
    -    }) => {
    -        $crate::cfg_if! {
    -            @__items
    -            () ;
    -            $( ( ($meta) ($($tokens)*) ), )*
    -            ( () ($($tokens2)*) ),
    -        }
    -    };
    -
    -    // match if/else chains lacking a final `else`
    -    (
    -        if #[cfg($i_met:meta)] { $($i_tokens:tt)* }
    -        $(
    -            else if #[cfg($e_met:meta)] { $($e_tokens:tt)* }
    -        )*
    -    ) => {
    -        $crate::cfg_if! {
    -            @__items
    -            () ;
    -            ( ($i_met) ($($i_tokens)*) ),
    -            $( ( ($e_met) ($($e_tokens)*) ), )*
    -            ( () () ),
    -        }
    -    };
    -
    -    // Internal and recursive macro to emit all the items
    -    //
    -    // Collects all the negated cfgs in a list at the beginning and after the
    -    // semicolon is all the remaining items
    -    (@__items ($($not:meta,)*) ; ) => {};
    -    (@__items ($($not:meta,)*) ; ( ($($m:meta),*) ($($tokens:tt)*) ), $($rest:tt)*) => {
    -        // Emit all items within one block, applying an appropriate #[cfg]. The
    -        // #[cfg] will require all `$m` matchers specified and must also negate
    -        // all previous matchers.
    -        #[cfg(all($($m,)* not(any($($not),*))))] $crate::cfg_if! { @__identity $($tokens)* }
    -
    -        // Recurse to emit all other items in `$rest`, and when we do so add all
    -        // our `$m` matchers to the list of `$not` matchers as future emissions
    -        // will have to negate everything we just matched as well.
    -        $crate::cfg_if! { @__items ($($not,)* $($m,)*) ; $($rest)* }
    -    };
    -
    -    // Internal macro to make __apply work out right for different match types,
    -    // because of how macros matching/expand stuff.
    -    (@__identity $($tokens:tt)*) => {
    -        $($tokens)*
    -    };
    -}
    -
    -#[cfg(test)]
    -mod tests {
    -    cfg_if! {
    -        if #[cfg(test)] {
    -            use core::option::Option as Option2;
    -            fn works1() -> Option2<u32> { Some(1) }
    -        } else {
    -            fn works1() -> Option<u32> { None }
    -        }
    -    }
    -
    -    cfg_if! {
    -        if #[cfg(foo)] {
    -            fn works2() -> bool { false }
    -        } else if #[cfg(test)] {
    -            fn works2() -> bool { true }
    -        } else {
    -            fn works2() -> bool { false }
    -        }
    -    }
    -
    -    cfg_if! {
    -        if #[cfg(foo)] {
    -            fn works3() -> bool { false }
    -        } else {
    -            fn works3() -> bool { true }
    -        }
    -    }
    -
    -    cfg_if! {
    -        if #[cfg(test)] {
    -            use core::option::Option as Option3;
    -            fn works4() -> Option3<u32> { Some(1) }
    -        }
    -    }
    -
    -    cfg_if! {
    -        if #[cfg(foo)] {
    -            fn works5() -> bool { false }
    -        } else if #[cfg(test)] {
    -            fn works5() -> bool { true }
    -        }
    -    }
    -
    -    #[test]
    -    fn it_works() {
    -        assert!(works1().is_some());
    -        assert!(works2());
    -        assert!(works3());
    -        assert!(works4().is_some());
    -        assert!(works5());
    -    }
    -
    -    #[test]
    -    #[allow(clippy::assertions_on_constants)]
    -    fn test_usage_within_a_function() {
    -        cfg_if! {if #[cfg(debug_assertions)] {
    -            // we want to put more than one thing here to make sure that they
    -            // all get configured properly.
    -            assert!(cfg!(debug_assertions));
    -            assert_eq!(4, 2+2);
    -        } else {
    -            assert!(works1().is_some());
    -            assert_eq!(10, 5+5);
    -        }}
    -    }
    -
    -    trait Trait {
    -        fn blah(&self);
    -    }
    -
    -    #[allow(dead_code)]
    -    struct Struct;
    -
    -    impl Trait for Struct {
    -        cfg_if! {
    -            if #[cfg(feature = "blah")] {
    -                fn blah(&self) {
    -                    unimplemented!();
    -                }
    -            } else {
    -                fn blah(&self) {
    -                    unimplemented!();
    -                }
    -            }
    -        }
    -    }
    -}
    -
    -
    \ No newline at end of file diff --git a/src/delog/hex.rs.html b/src/delog/hex.rs.html index f3092ac..75864ea 100644 --- a/src/delog/hex.rs.html +++ b/src/delog/hex.rs.html @@ -1,4 +1,4 @@ -hex.rs - source
    1
    +hex.rs - source
    1
     2
     3
     4
    @@ -308,7 +308,7 @@
     308
     309
     310
    -
    //! Convenient `Display` and other traits for binary data.
    +
    //! Convenient `Display` and other traits for binary data.
     //!
     //! Standard Rust uses the `fmt::UpperHex` and `LowerHex` traits to implement hexadecimal
     //! representations for use in format strings. For instance,
    @@ -618,5 +618,4 @@
             insta::assert_debug_snapshot!(format_args!("'{:X}'", HexStr::<_, U3, Space>(&buf),));
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/delog/lib.rs.html b/src/delog/lib.rs.html index 85f021a..d5d69d8 100644 --- a/src/delog/lib.rs.html +++ b/src/delog/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -183,7 +183,7 @@
     183
     184
     185
    -
    //! # Compile-time configurable deferred logging (for `printf()`-debugging *aka* tracing)
    +
    //! # Compile-time configurable deferred logging (for `printf()`-debugging *aka* tracing)
     //!
     //! This is an implementation of the `log::Log` trait, suitable for use
     //! in both embedded and desktop environments.
    @@ -368,5 +368,4 @@
                 .build(),
         )
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/delog/logger.rs.html b/src/delog/logger.rs.html index bc6c665..03d18a2 100644 --- a/src/delog/logger.rs.html +++ b/src/delog/logger.rs.html @@ -1,4 +1,4 @@ -logger.rs - source
    1
    +logger.rs - source
    1
     2
     3
     4
    @@ -646,7 +646,7 @@
     646
     647
     648
    -
    use core::sync::atomic::{AtomicUsize, Ordering};
    +
    use core::sync::atomic::{AtomicUsize, Ordering};
     use core::{cmp, ptr};
     
     /// Semi-abstract characterization of the deferred loggers that the `delog!` macro produces.
    @@ -1294,5 +1294,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/delog/macros.rs.html b/src/delog/macros.rs.html index 896008e..151eb05 100644 --- a/src/delog/macros.rs.html +++ b/src/delog/macros.rs.html @@ -1,4 +1,4 @@ -macros.rs - source
    1
    +macros.rs - source
    1
     2
     3
     4
    @@ -299,62 +299,25 @@
     299
     300
     301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -
    /// Fallible (ungated) version of `log!`.
    +
    /// Fallible (ungated) version of `log!`.
     #[macro_export]
     #[doc(hidden)]
     #[cfg(not(feature = "std-log"))]
     macro_rules! try_log {
    -
    -    (target: $target:expr, $lvl:expr, $message:expr) => ({
    -        let lvl = $lvl;
    -        if lvl <= $crate::log::STATIC_MAX_LEVEL && lvl <= $crate::log::max_level() {
    -            // ensure that $message is a valid format string literal
    -            let _ = $crate::log::__log_format_args!($message);
    -            $crate::__private_api_try_log_lit(
    -                $message,
    -                lvl,
    -                &($target, $crate::log::__log_module_path!(), $crate::log::__log_file!(), $crate::log::__log_line!()),
    -            )
    -        } else {
    -            Ok(())
    -        }
    -    });
    -
    -    (target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
    +    (target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
             let lvl = $lvl;
             if lvl <= $crate::log::STATIC_MAX_LEVEL && lvl <= $crate::log::max_level() {
                 $crate::__private_api_try_log(
    -                $crate::log::__log_format_args!($($arg)+),
    +                ::core::format_args!($($arg)+),
                     lvl,
    -                &($target, $crate::log::__log_module_path!(), $crate::log::__log_file!(), $crate::log::__log_line!()),
    +                &($target, ::core::module_path!(), ::core::file!(), ::core::line!()),
                 )
             } else {
                 Ok(())
             }
         });
     
    -    ($lvl:expr, $($arg:tt)+) => ($crate::try_log!(target: $crate::log::__log_module_path!(), $lvl, $($arg)+))
    +    ($lvl:expr, $($arg:tt)+) => ($crate::try_log!(target: ::core::module_path!(), $lvl, $($arg)+))
     }
     
     #[macro_export]
    @@ -362,11 +325,6 @@
     #[cfg(feature = "std-log")]
     macro_rules! try_log {
     
    -    (target: $target:expr, $lvl:expr, $message:expr) => ({
    -        $crate::log::log!(target: $target, $lvl, $message);
    -        ::core::result::Result::<(), ()>::Ok(())
    -    });
    -
         (target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
             $crate::log::log!(target: $target, $lvl, $($arg)+);
             ::core::result::Result::<(), ()>::Ok(())
    @@ -642,5 +600,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/delog/render.rs.html b/src/delog/render.rs.html index 63f9abb..eb01e61 100644 --- a/src/delog/render.rs.html +++ b/src/delog/render.rs.html @@ -1,4 +1,4 @@ -render.rs - source
    1
    +render.rs - source
    1
     2
     3
     4
    @@ -134,7 +134,7 @@
     134
     135
     136
    -
    //! The default, minimal renderer, and some helper functions.
    +
    //! The default, minimal renderer, and some helper functions.
     
     use core::{cmp, fmt};
     
    @@ -270,5 +270,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/decoder.rs.html b/src/flexiber/decoder.rs.html index fac5813..6177848 100644 --- a/src/flexiber/decoder.rs.html +++ b/src/flexiber/decoder.rs.html @@ -1,4 +1,4 @@ -decoder.rs - source
    1
    +decoder.rs - source
    1
     2
     3
     4
    @@ -189,7 +189,7 @@
     189
     190
     191
    -
    use core::convert::TryInto;
    +
    use core::convert::TryInto;
     use crate::{Decodable, ErrorKind, Length, Result, TagLike};
     
     /// BER-TLV decoder.
    @@ -380,5 +380,4 @@
     //         assert_eq!(Some(Length::from(3u8)), err.position());
     //     }
     // }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/encoder.rs.html b/src/flexiber/encoder.rs.html index 34763d1..281b2e1 100644 --- a/src/flexiber/encoder.rs.html +++ b/src/flexiber/encoder.rs.html @@ -1,4 +1,4 @@ -encoder.rs - source
    1
    +encoder.rs - source
    1
     2
     3
     4
    @@ -178,7 +178,7 @@
     178
     179
     180
    -
    use core::convert::{TryFrom, TryInto};
    +
    use core::convert::{TryFrom, TryInto};
     use crate::{Encodable, ErrorKind, header::Header, Length, Result, Tag};
     
     /// BER-TLV encoder.
    @@ -358,5 +358,4 @@
         //     assert_eq!(err.position(), Some(Length::zero()));
         // }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/error.rs.html b/src/flexiber/error.rs.html index a518f85..e7ad020 100644 --- a/src/flexiber/error.rs.html +++ b/src/flexiber/error.rs.html @@ -1,4 +1,4 @@ -error.rs - source
    1
    +error.rs - source
    1
     2
     3
     4
    @@ -243,7 +243,7 @@
     243
     244
     245
    -
    //! Error types.
    +
    //! Error types.
     
     // pub use core::str::Utf8Error;
     
    @@ -488,5 +488,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/header.rs.html b/src/flexiber/header.rs.html index 4ec6dec..d169da6 100644 --- a/src/flexiber/header.rs.html +++ b/src/flexiber/header.rs.html @@ -1,4 +1,4 @@ -header.rs - source
    1
    +header.rs - source
    1
     2
     3
     4
    @@ -55,7 +55,7 @@
     55
     56
     57
    -
    //! BER-TLV headers.
    +
    //! BER-TLV headers.
     
     use crate::{Decodable, Decoder, Encodable, Encoder, ErrorKind, Length, Result, TagLike};
     use core::convert::TryInto;
    @@ -112,5 +112,4 @@
             self.length.encode(encoder)
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/length.rs.html b/src/flexiber/length.rs.html index aae3f3e..2f05c7b 100644 --- a/src/flexiber/length.rs.html +++ b/src/flexiber/length.rs.html @@ -1,4 +1,4 @@ -length.rs - source
    1
    +length.rs - source
    1
     2
     3
     4
    @@ -241,7 +241,7 @@
     241
     242
     243
    -
    //! Length calculations for encoded ASN.1 DER values
    +
    //! Length calculations for encoded ASN.1 DER values
     
     use crate::{Decodable, Decoder, Encodable, Encoder, Error, ErrorKind, Result};
     use core::{convert::TryFrom, fmt, ops::Add};
    @@ -484,5 +484,4 @@
             assert!(Length::from_bytes(&[0x80]).is_err());
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/lib.rs.html b/src/flexiber/lib.rs.html index c2de9de..7bf1f6e 100644 --- a/src/flexiber/lib.rs.html +++ b/src/flexiber/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -62,7 +62,7 @@
     62
     63
     64
    -
    //! # flexiber
    +
    //! # flexiber
     //!
     //! Implementation of the BER-TLV serialization format from ISO 7816-4:2005.
     //!
    @@ -126,5 +126,4 @@
     //     a: &'a [u8],
     // }
     
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/simpletag.rs.html b/src/flexiber/simpletag.rs.html index 1666025..1efacf1 100644 --- a/src/flexiber/simpletag.rs.html +++ b/src/flexiber/simpletag.rs.html @@ -1,4 +1,4 @@ -simpletag.rs - source
    1
    +simpletag.rs - source
    1
     2
     3
     4
    @@ -70,7 +70,7 @@
     70
     71
     72
    -
    use core::convert::TryFrom;
    +
    use core::convert::TryFrom;
     use crate::{Decodable, Decoder, Encodable, Encoder, Error, ErrorKind, Length, Result, Tag, TagLike};
     
     /// These are tags like in SIMPLE-TLV.
    @@ -142,5 +142,4 @@
             assert_eq!(&encoded[4..], slice);
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/slice.rs.html b/src/flexiber/slice.rs.html index 097f3ff..8a5b1fb 100644 --- a/src/flexiber/slice.rs.html +++ b/src/flexiber/slice.rs.html @@ -1,4 +1,4 @@ -slice.rs - source
    1
    +slice.rs - source
    1
     2
     3
     4
    @@ -43,7 +43,7 @@
     43
     44
     45
    -
    use core::convert::TryFrom;
    +
    use core::convert::TryFrom;
     use crate::{Length, Result};
     
     /// Slice of at most `Length::max()` bytes.
    @@ -88,5 +88,4 @@
         }
     }
     
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/tag.rs.html b/src/flexiber/tag.rs.html index c45e5c4..2987fe9 100644 --- a/src/flexiber/tag.rs.html +++ b/src/flexiber/tag.rs.html @@ -1,4 +1,4 @@ -tag.rs - source
    1
    +tag.rs - source
    1
     2
     3
     4
    @@ -249,7 +249,7 @@
     249
     250
     251
    -
    use core::{convert::{TryFrom, TryInto}, fmt};
    +
    use core::{convert::{TryFrom, TryInto}, fmt};
     use crate::{Decodable, Decoder, Encodable, Encoder, Error, ErrorKind, Length, Result, TaggedValue};
     
     const CLASS_OFFSET: usize = 6;
    @@ -500,5 +500,4 @@
             assert_eq!(tag, tag2);
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/tagged.rs.html b/src/flexiber/tagged.rs.html index 365b2c6..b232b87 100644 --- a/src/flexiber/tagged.rs.html +++ b/src/flexiber/tagged.rs.html @@ -1,4 +1,4 @@ -tagged.rs - source
    1
    +tagged.rs - source
    1
     2
     3
     4
    @@ -208,7 +208,7 @@
     208
     209
     210
    -
    // //! Common handling for types backed by byte slices with enforcement of the
    +
    // //! Common handling for types backed by byte slices with enforcement of the
     // //! format-level length limitation of 65,535 bytes.
     
     use crate::{Decodable, Decoder, Encodable, Encoder, ErrorKind, header::Header, Length, Result, Slice, Tag, TagLike};
    @@ -418,5 +418,4 @@
         }
     
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber/traits.rs.html b/src/flexiber/traits.rs.html index dc1d38c..f0f6c7d 100644 --- a/src/flexiber/traits.rs.html +++ b/src/flexiber/traits.rs.html @@ -1,4 +1,4 @@ -traits.rs - source
    1
    +traits.rs - source
    1
     2
     3
     4
    @@ -648,7 +648,7 @@
     648
     649
     650
    -
    // pub use der::{Decodable, Encodable};
    +
    // pub use der::{Decodable, Encodable};
     //! Trait definitions
     
     use core::convert::{TryFrom, TryInto};
    @@ -1298,5 +1298,4 @@
             assert!(s.is_none());
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber_derive/decodable.rs.html b/src/flexiber_derive/decodable.rs.html index 2583e5d..6b9d4e4 100644 --- a/src/flexiber_derive/decodable.rs.html +++ b/src/flexiber_derive/decodable.rs.html @@ -1,4 +1,4 @@ -decodable.rs - source
    1
    +decodable.rs - source
    1
     2
     3
     4
    @@ -165,7 +165,7 @@
     165
     166
     167
    -
    use proc_macro2::TokenStream;
    +
    use proc_macro2::TokenStream;
     use quote::{quote, ToTokens};
     use syn::{Attribute, DataStruct, Field, Ident};
     use synstructure::Structure;
    @@ -332,5 +332,4 @@
         }
     }
     
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber_derive/encodable.rs.html b/src/flexiber_derive/encodable.rs.html index 6a94104..db7bbb8 100644 --- a/src/flexiber_derive/encodable.rs.html +++ b/src/flexiber_derive/encodable.rs.html @@ -1,4 +1,4 @@ -encodable.rs - source
    1
    +encodable.rs - source
    1
     2
     3
     4
    @@ -148,7 +148,7 @@
     148
     149
     150
    -
    use proc_macro2::TokenStream;
    +
    use proc_macro2::TokenStream;
     use quote::{quote, ToTokens};
     use syn::{Attribute, DataStruct, Field, Ident};
     use synstructure::Structure;
    @@ -298,5 +298,4 @@
         }
     }
     
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/flexiber_derive/lib.rs.html b/src/flexiber_derive/lib.rs.html index ef0c0e6..99d5b4e 100644 --- a/src/flexiber_derive/lib.rs.html +++ b/src/flexiber_derive/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -278,7 +278,7 @@
     278
     279
     280
    -
    //! Custom derive support for the `flexiber` crate
    +
    //! Custom derive support for the `flexiber` crate
     //!
     //! With `#[tlv(slice)]` set, `Encodable` should work for fields implementing `AsRef<[u8]>`,
     //! and `Decodable` should work for fields implementing `TryFrom<[u8]>`, even if the field
    @@ -558,5 +558,4 @@
             panic!("BER-TLV tag missing for `{}`", name);
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/log/__private_api.rs.html b/src/log/__private_api.rs.html new file mode 100644 index 0000000..5a34cd2 --- /dev/null +++ b/src/log/__private_api.rs.html @@ -0,0 +1,115 @@ +__private_api.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +
    //! WARNING: this is not part of the crate's public API and is subject to change at any time
    +
    +use crate::{Level, Metadata, Record};
    +use std::fmt::Arguments;
    +pub use std::option::Option;
    +pub use std::{file, format_args, line, module_path, stringify};
    +
    +#[cfg(not(feature = "kv_unstable"))]
    +pub fn log(
    +    args: Arguments,
    +    level: Level,
    +    &(target, module_path, file): &(&str, &'static str, &'static str),
    +    line: u32,
    +    kvs: Option<&[(&str, &str)]>,
    +) {
    +    if kvs.is_some() {
    +        panic!(
    +            "key-value support is experimental and must be enabled using the `kv_unstable` feature"
    +        )
    +    }
    +
    +    crate::logger().log(
    +        &Record::builder()
    +            .args(args)
    +            .level(level)
    +            .target(target)
    +            .module_path_static(Some(module_path))
    +            .file_static(Some(file))
    +            .line(Some(line))
    +            .build(),
    +    );
    +}
    +
    +#[cfg(feature = "kv_unstable")]
    +pub fn log(
    +    args: Arguments,
    +    level: Level,
    +    &(target, module_path, file): &(&str, &'static str, &'static str),
    +    line: u32,
    +    kvs: Option<&[(&str, &dyn crate::kv::ToValue)]>,
    +) {
    +    crate::logger().log(
    +        &Record::builder()
    +            .args(args)
    +            .level(level)
    +            .target(target)
    +            .module_path_static(Some(module_path))
    +            .file_static(Some(file))
    +            .line(Some(line))
    +            .key_values(&kvs)
    +            .build(),
    +    );
    +}
    +
    +pub fn enabled(level: Level, target: &str) -> bool {
    +    crate::logger().enabled(&Metadata::builder().level(level).target(target).build())
    +}
    +
    \ No newline at end of file diff --git a/src/log/lib.rs.html b/src/log/lib.rs.html index 4ae08a9..8317e76 100644 --- a/src/log/lib.rs.html +++ b/src/log/lib.rs.html @@ -1,5 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -1826,151 +1825,7 @@
     1825
     1826
     1827
    -1828
    -1829
    -1830
    -1831
    -1832
    -1833
    -1834
    -1835
    -1836
    -1837
    -1838
    -1839
    -1840
    -1841
    -1842
    -1843
    -1844
    -1845
    -1846
    -1847
    -1848
    -1849
    -1850
    -1851
    -1852
    -1853
    -1854
    -1855
    -1856
    -1857
    -1858
    -1859
    -1860
    -1861
    -1862
    -1863
    -1864
    -1865
    -1866
    -1867
    -1868
    -1869
    -1870
    -1871
    -1872
    -1873
    -1874
    -1875
    -1876
    -1877
    -1878
    -1879
    -1880
    -1881
    -1882
    -1883
    -1884
    -1885
    -1886
    -1887
    -1888
    -1889
    -1890
    -1891
    -1892
    -1893
    -1894
    -1895
    -1896
    -1897
    -1898
    -1899
    -1900
    -1901
    -1902
    -1903
    -1904
    -1905
    -1906
    -1907
    -1908
    -1909
    -1910
    -1911
    -1912
    -1913
    -1914
    -1915
    -1916
    -1917
    -1918
    -1919
    -1920
    -1921
    -1922
    -1923
    -1924
    -1925
    -1926
    -1927
    -1928
    -1929
    -1930
    -1931
    -1932
    -1933
    -1934
    -1935
    -1936
    -1937
    -1938
    -1939
    -1940
    -1941
    -1942
    -1943
    -1944
    -1945
    -1946
    -1947
    -1948
    -1949
    -1950
    -1951
    -1952
    -1953
    -1954
    -1955
    -1956
    -1957
    -1958
    -1959
    -1960
    -1961
    -1962
    -1963
    -1964
    -1965
    -1966
    -1967
    -1968
    -1969
    -1970
    -1971
    -
    // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
    +
    // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
     // file at the top-level directory of this distribution and at
     // http://rust-lang.org/COPYRIGHT.
     //
    @@ -2108,6 +1963,8 @@
     //!     * [pretty_env_logger]
     //!     * [stderrlog]
     //!     * [flexi_logger]
    +//!     * [call_logger]
    +//!     * [structured-logger]
     //! * Complex configurable frameworks:
     //!     * [log4rs]
     //!     * [fern]
    @@ -2118,6 +1975,7 @@
     //!     * [android_log]
     //!     * [win_dbg_logger]
     //!     * [db_logger]
    +//!     * [log-to-defmt]
     //! * For WebAssembly binaries:
     //!     * [console_log]
     //! * For dynamic libraries:
    @@ -2274,6 +2132,7 @@
     //! [pretty_env_logger]: https://docs.rs/pretty_env_logger/*/pretty_env_logger/
     //! [stderrlog]: https://docs.rs/stderrlog/*/stderrlog/
     //! [flexi_logger]: https://docs.rs/flexi_logger/*/flexi_logger/
    +//! [call_logger]: https://docs.rs/call_logger/*/call_logger/
     //! [syslog]: https://docs.rs/syslog/*/syslog/
     //! [slog-stdlog]: https://docs.rs/slog-stdlog/*/slog_stdlog/
     //! [log4rs]: https://docs.rs/log4rs/*/log4rs/
    @@ -2281,12 +2140,15 @@
     //! [systemd-journal-logger]: https://docs.rs/systemd-journal-logger/*/systemd_journal_logger/
     //! [android_log]: https://docs.rs/android_log/*/android_log/
     //! [win_dbg_logger]: https://docs.rs/win_dbg_logger/*/win_dbg_logger/
    +//! [db_logger]: https://docs.rs/db_logger/*/db_logger/
    +//! [log-to-defmt]: https://docs.rs/log-to-defmt/*/log_to_defmt/
     //! [console_log]: https://docs.rs/console_log/*/console_log/
    +//! [structured-logger]: https://docs.rs/structured-logger/latest/structured_logger/
     
     #![doc(
         html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
         html_favicon_url = "https://www.rust-lang.org/favicon.ico",
    -    html_root_url = "https://docs.rs/log/0.4.17"
    +    html_root_url = "https://docs.rs/log/0.4.20"
     )]
     #![warn(missing_docs)]
     #![deny(missing_debug_implementations, unconditional_recursion)]
    @@ -2299,9 +2161,6 @@
     #[cfg(all(not(feature = "std"), not(test)))]
     extern crate core as std;
     
    -#[macro_use]
    -extern crate cfg_if;
    -
     use std::cmp;
     #[cfg(feature = "std")]
     use std::error;
    @@ -2316,20 +2175,20 @@
     #[cfg(feature = "kv_unstable")]
     pub mod kv;
     
    -#[cfg(has_atomics)]
    +#[cfg(target_has_atomic = "ptr")]
     use std::sync::atomic::{AtomicUsize, Ordering};
     
    -#[cfg(not(has_atomics))]
    +#[cfg(not(target_has_atomic = "ptr"))]
     use std::cell::Cell;
    -#[cfg(not(has_atomics))]
    +#[cfg(not(target_has_atomic = "ptr"))]
     use std::sync::atomic::Ordering;
     
    -#[cfg(not(has_atomics))]
    +#[cfg(not(target_has_atomic = "ptr"))]
     struct AtomicUsize {
         v: Cell<usize>,
     }
     
    -#[cfg(not(has_atomics))]
    +#[cfg(not(target_has_atomic = "ptr"))]
     impl AtomicUsize {
         const fn new(v: usize) -> AtomicUsize {
             AtomicUsize { v: Cell::new(v) }
    @@ -2343,7 +2202,7 @@
             self.v.set(val)
         }
     
    -    #[cfg(atomic_cas)]
    +    #[cfg(target_has_atomic = "ptr")]
         fn compare_exchange(
             &self,
             current: usize,
    @@ -2361,7 +2220,7 @@
     
     // Any platform without atomics is unlikely to have multiple cores, so
     // writing via Cell will not be a race condition.
    -#[cfg(not(has_atomics))]
    +#[cfg(not(target_has_atomic = "ptr"))]
     unsafe impl Sync for AtomicUsize {}
     
     // The LOGGER static holds a pointer to the global logger. It is protected by
    @@ -2393,7 +2252,7 @@
     /// [`log!`](macro.log.html), and comparing a `Level` directly to a
     /// [`LevelFilter`](enum.LevelFilter.html).
     #[repr(usize)]
    -#[derive(Copy, Eq, Debug, Hash)]
    +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
     pub enum Level {
         /// The "error" level.
         ///
    @@ -2420,20 +2279,6 @@
         Trace,
     }
     
    -impl Clone for Level {
    -    #[inline]
    -    fn clone(&self) -> Level {
    -        *self
    -    }
    -}
    -
    -impl PartialEq for Level {
    -    #[inline]
    -    fn eq(&self, other: &Level) -> bool {
    -        *self as usize == *other as usize
    -    }
    -}
    -
     impl PartialEq<LevelFilter> for Level {
         #[inline]
         fn eq(&self, other: &LevelFilter) -> bool {
    @@ -2441,65 +2286,11 @@
         }
     }
     
    -impl PartialOrd for Level {
    -    #[inline]
    -    fn partial_cmp(&self, other: &Level) -> Option<cmp::Ordering> {
    -        Some(self.cmp(other))
    -    }
    -
    -    #[inline]
    -    fn lt(&self, other: &Level) -> bool {
    -        (*self as usize) < *other as usize
    -    }
    -
    -    #[inline]
    -    fn le(&self, other: &Level) -> bool {
    -        *self as usize <= *other as usize
    -    }
    -
    -    #[inline]
    -    fn gt(&self, other: &Level) -> bool {
    -        *self as usize > *other as usize
    -    }
    -
    -    #[inline]
    -    fn ge(&self, other: &Level) -> bool {
    -        *self as usize >= *other as usize
    -    }
    -}
    -
     impl PartialOrd<LevelFilter> for Level {
         #[inline]
         fn partial_cmp(&self, other: &LevelFilter) -> Option<cmp::Ordering> {
             Some((*self as usize).cmp(&(*other as usize)))
         }
    -
    -    #[inline]
    -    fn lt(&self, other: &LevelFilter) -> bool {
    -        (*self as usize) < *other as usize
    -    }
    -
    -    #[inline]
    -    fn le(&self, other: &LevelFilter) -> bool {
    -        *self as usize <= *other as usize
    -    }
    -
    -    #[inline]
    -    fn gt(&self, other: &LevelFilter) -> bool {
    -        *self as usize > *other as usize
    -    }
    -
    -    #[inline]
    -    fn ge(&self, other: &LevelFilter) -> bool {
    -        *self as usize >= *other as usize
    -    }
    -}
    -
    -impl Ord for Level {
    -    #[inline]
    -    fn cmp(&self, other: &Level) -> cmp::Ordering {
    -        (*self as usize).cmp(&(*other as usize))
    -    }
     }
     
     fn ok_or<T, E>(t: Option<T>, e: E) -> Result<T, E> {
    @@ -2509,32 +2300,13 @@
         }
     }
     
    -// Reimplemented here because std::ascii is not available in libcore
    -fn eq_ignore_ascii_case(a: &str, b: &str) -> bool {
    -    fn to_ascii_uppercase(c: u8) -> u8 {
    -        if c >= b'a' && c <= b'z' {
    -            c - b'a' + b'A'
    -        } else {
    -            c
    -        }
    -    }
    -
    -    if a.len() == b.len() {
    -        a.bytes()
    -            .zip(b.bytes())
    -            .all(|(a, b)| to_ascii_uppercase(a) == to_ascii_uppercase(b))
    -    } else {
    -        false
    -    }
    -}
    -
     impl FromStr for Level {
         type Err = ParseLevelError;
         fn from_str(level: &str) -> Result<Level, Self::Err> {
             ok_or(
                 LOG_LEVEL_NAMES
                     .iter()
    -                .position(|&name| eq_ignore_ascii_case(name, level))
    +                .position(|&name| name.eq_ignore_ascii_case(level))
                     .into_iter()
                     .filter(|&idx| idx != 0)
                     .map(|idx| Level::from_usize(idx).unwrap())
    @@ -2609,7 +2381,7 @@
     /// [`max_level()`]: fn.max_level.html
     /// [`set_max_level`]: fn.set_max_level.html
     #[repr(usize)]
    -#[derive(Copy, Eq, Debug, Hash)]
    +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
     pub enum LevelFilter {
         /// A level lower than all log levels.
         Off,
    @@ -2625,22 +2397,6 @@
         Trace,
     }
     
    -// Deriving generates terrible impls of these traits
    -
    -impl Clone for LevelFilter {
    -    #[inline]
    -    fn clone(&self) -> LevelFilter {
    -        *self
    -    }
    -}
    -
    -impl PartialEq for LevelFilter {
    -    #[inline]
    -    fn eq(&self, other: &LevelFilter) -> bool {
    -        *self as usize == *other as usize
    -    }
    -}
    -
     impl PartialEq<Level> for LevelFilter {
         #[inline]
         fn eq(&self, other: &Level) -> bool {
    @@ -2648,65 +2404,11 @@
         }
     }
     
    -impl PartialOrd for LevelFilter {
    -    #[inline]
    -    fn partial_cmp(&self, other: &LevelFilter) -> Option<cmp::Ordering> {
    -        Some(self.cmp(other))
    -    }
    -
    -    #[inline]
    -    fn lt(&self, other: &LevelFilter) -> bool {
    -        (*self as usize) < *other as usize
    -    }
    -
    -    #[inline]
    -    fn le(&self, other: &LevelFilter) -> bool {
    -        *self as usize <= *other as usize
    -    }
    -
    -    #[inline]
    -    fn gt(&self, other: &LevelFilter) -> bool {
    -        *self as usize > *other as usize
    -    }
    -
    -    #[inline]
    -    fn ge(&self, other: &LevelFilter) -> bool {
    -        *self as usize >= *other as usize
    -    }
    -}
    -
     impl PartialOrd<Level> for LevelFilter {
         #[inline]
         fn partial_cmp(&self, other: &Level) -> Option<cmp::Ordering> {
             Some((*self as usize).cmp(&(*other as usize)))
         }
    -
    -    #[inline]
    -    fn lt(&self, other: &Level) -> bool {
    -        (*self as usize) < *other as usize
    -    }
    -
    -    #[inline]
    -    fn le(&self, other: &Level) -> bool {
    -        *self as usize <= *other as usize
    -    }
    -
    -    #[inline]
    -    fn gt(&self, other: &Level) -> bool {
    -        *self as usize > *other as usize
    -    }
    -
    -    #[inline]
    -    fn ge(&self, other: &Level) -> bool {
    -        *self as usize >= *other as usize
    -    }
    -}
    -
    -impl Ord for LevelFilter {
    -    #[inline]
    -    fn cmp(&self, other: &LevelFilter) -> cmp::Ordering {
    -        (*self as usize).cmp(&(*other as usize))
    -    }
     }
     
     impl FromStr for LevelFilter {
    @@ -2715,7 +2417,7 @@
             ok_or(
                 LOG_LEVEL_NAMES
                     .iter()
    -                .position(|&name| eq_ignore_ascii_case(name, level))
    +                .position(|&name| name.eq_ignore_ascii_case(level))
                     .map(|p| LevelFilter::from_usize(p).unwrap()),
                 ParseLevelError(()),
             )
    @@ -2819,7 +2521,7 @@
     /// struct SimpleLogger;
     ///
     /// impl log::Log for SimpleLogger {
    -///    fn enabled(&self, metadata: &log::Metadata) -> bool {
    +///    fn enabled(&self, _metadata: &log::Metadata) -> bool {
     ///        true
     ///    }
     ///
    @@ -3114,6 +2816,12 @@
         }
     }
     
    +impl<'a> Default for RecordBuilder<'a> {
    +    fn default() -> Self {
    +        Self::new()
    +    }
    +}
    +
     /// Metadata about a log message.
     ///
     /// # Use
    @@ -3237,6 +2945,12 @@
         }
     }
     
    +impl<'a> Default for MetadataBuilder<'a> {
    +    fn default() -> Self {
    +        Self::new()
    +    }
    +}
    +
     /// A trait encapsulating the operations required of a logger.
     pub trait Log: Sync + Send {
         /// Determines if a log message with the specified metadata would be
    @@ -3287,10 +3001,10 @@
         }
     
         fn log(&self, record: &Record) {
    -        (**self).log(record)
    +        (**self).log(record);
         }
         fn flush(&self) {
    -        (**self).flush()
    +        (**self).flush();
         }
     }
     
    @@ -3334,8 +3048,36 @@
     ///
     /// Note that `Trace` is the maximum level, because it provides the maximum amount of detail in the emitted logs.
     #[inline]
    +#[cfg(target_has_atomic = "ptr")]
     pub fn set_max_level(level: LevelFilter) {
    -    MAX_LOG_LEVEL_FILTER.store(level as usize, Ordering::Relaxed)
    +    MAX_LOG_LEVEL_FILTER.store(level as usize, Ordering::Relaxed);
    +}
    +
    +/// A thread-unsafe version of [`set_max_level`].
    +///
    +/// This function is available on all platforms, even those that do not have
    +/// support for atomics that is needed by [`set_max_level`].
    +///
    +/// In almost all cases, [`set_max_level`] should be preferred.
    +///
    +/// # Safety
    +///
    +/// This function is only safe to call when no other level setting function is
    +/// called while this function still executes.
    +///
    +/// This can be upheld by (for example) making sure that **there are no other
    +/// threads**, and (on embedded) that **interrupts are disabled**.
    +///
    +/// Is is safe to use all other logging functions while this function runs
    +/// (including all logging macros).
    +///
    +/// [`set_max_level`]: fn.set_max_level.html
    +#[inline]
    +pub unsafe fn set_max_level_racy(level: LevelFilter) {
    +    // `MAX_LOG_LEVEL_FILTER` uses a `Cell` as the underlying primitive when a
    +    // platform doesn't support `target_has_atomic = "ptr"`, so even though this looks the same
    +    // as `set_max_level` it may have different safety properties.
    +    MAX_LOG_LEVEL_FILTER.store(level as usize, Ordering::Relaxed);
     }
     
     /// Returns the current maximum log level.
    @@ -3375,7 +3117,7 @@
     /// An error is returned if a logger has already been set.
     ///
     /// [`set_logger`]: fn.set_logger.html
    -#[cfg(all(feature = "std", atomic_cas))]
    +#[cfg(all(feature = "std", target_has_atomic = "ptr"))]
     pub fn set_boxed_logger(logger: Box<dyn Log>) -> Result<(), SetLoggerError> {
         set_logger_inner(|| Box::leak(logger))
     }
    @@ -3433,12 +3175,12 @@
     /// ```
     ///
     /// [`set_logger_racy`]: fn.set_logger_racy.html
    -#[cfg(atomic_cas)]
    +#[cfg(target_has_atomic = "ptr")]
     pub fn set_logger(logger: &'static dyn Log) -> Result<(), SetLoggerError> {
         set_logger_inner(|| logger)
     }
     
    -#[cfg(atomic_cas)]
    +#[cfg(target_has_atomic = "ptr")]
     fn set_logger_inner<F>(make_logger: F) -> Result<(), SetLoggerError>
     where
         F: FnOnce() -> &'static dyn Log,
    @@ -3526,7 +3268,7 @@
     ///
     /// [`from_str`]: https://doc.rust-lang.org/std/str/trait.FromStr.html#tymethod.from_str
     #[allow(missing_copy_implementations)]
    -#[derive(Debug, PartialEq)]
    +#[derive(Debug, PartialEq, Eq)]
     pub struct ParseLevelError(());
     
     impl fmt::Display for ParseLevelError {
    @@ -3553,64 +3295,7 @@
     
     // WARNING: this is not part of the crate's public API and is subject to change at any time
     #[doc(hidden)]
    -#[cfg(not(feature = "kv_unstable"))]
    -pub fn __private_api_log(
    -    args: fmt::Arguments,
    -    level: Level,
    -    &(target, module_path, file, line): &(&str, &'static str, &'static str, u32),
    -    kvs: Option<&[(&str, &str)]>,
    -) {
    -    if kvs.is_some() {
    -        panic!(
    -            "key-value support is experimental and must be enabled using the `kv_unstable` feature"
    -        )
    -    }
    -
    -    logger().log(
    -        &Record::builder()
    -            .args(args)
    -            .level(level)
    -            .target(target)
    -            .module_path_static(Some(module_path))
    -            .file_static(Some(file))
    -            .line(Some(line))
    -            .build(),
    -    );
    -}
    -
    -// WARNING: this is not part of the crate's public API and is subject to change at any time
    -#[doc(hidden)]
    -#[cfg(feature = "kv_unstable")]
    -pub fn __private_api_log(
    -    args: fmt::Arguments,
    -    level: Level,
    -    &(target, module_path, file, line): &(&str, &'static str, &'static str, u32),
    -    kvs: Option<&[(&str, &dyn kv::ToValue)]>,
    -) {
    -    logger().log(
    -        &Record::builder()
    -            .args(args)
    -            .level(level)
    -            .target(target)
    -            .module_path_static(Some(module_path))
    -            .file_static(Some(file))
    -            .line(Some(line))
    -            .key_values(&kvs)
    -            .build(),
    -    );
    -}
    -
    -// WARNING: this is not part of the crate's public API and is subject to change at any time
    -#[doc(hidden)]
    -pub fn __private_api_enabled(level: Level, target: &str) -> bool {
    -    logger().enabled(&Metadata::builder().level(level).target(target).build())
    -}
    -
    -// WARNING: this is not part of the crate's public API and is subject to change at any time
    -#[doc(hidden)]
    -pub mod __private_api {
    -    pub use std::option::Option;
    -}
    +pub mod __private_api;
     
     /// The statically resolved maximum log level.
     ///
    @@ -3623,31 +3308,57 @@
     /// [`logger`]: fn.logger.html
     pub const STATIC_MAX_LEVEL: LevelFilter = MAX_LEVEL_INNER;
     
    -cfg_if! {
    -    if #[cfg(all(not(debug_assertions), feature = "release_max_level_off"))] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Off;
    -    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_error"))] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Error;
    -    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_warn"))] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Warn;
    -    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_info"))] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Info;
    -    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_debug"))] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Debug;
    -    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_trace"))] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Trace;
    -    } else if #[cfg(feature = "max_level_off")] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Off;
    -    } else if #[cfg(feature = "max_level_error")] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Error;
    -    } else if #[cfg(feature = "max_level_warn")] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Warn;
    -    } else if #[cfg(feature = "max_level_info")] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Info;
    -    } else if #[cfg(feature = "max_level_debug")] {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Debug;
    -    } else {
    -        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Trace;
    +const MAX_LEVEL_INNER: LevelFilter = get_max_level_inner();
    +
    +const fn get_max_level_inner() -> LevelFilter {
    +    #[allow(unreachable_code)]
    +    {
    +        #[cfg(all(not(debug_assertions), feature = "release_max_level_off"))]
    +        {
    +            return LevelFilter::Off;
    +        }
    +        #[cfg(all(not(debug_assertions), feature = "release_max_level_error"))]
    +        {
    +            return LevelFilter::Error;
    +        }
    +        #[cfg(all(not(debug_assertions), feature = "release_max_level_warn"))]
    +        {
    +            return LevelFilter::Warn;
    +        }
    +        #[cfg(all(not(debug_assertions), feature = "release_max_level_info"))]
    +        {
    +            return LevelFilter::Info;
    +        }
    +        #[cfg(all(not(debug_assertions), feature = "release_max_level_debug"))]
    +        {
    +            return LevelFilter::Debug;
    +        }
    +        #[cfg(all(not(debug_assertions), feature = "release_max_level_trace"))]
    +        {
    +            return LevelFilter::Trace;
    +        }
    +        #[cfg(feature = "max_level_off")]
    +        {
    +            return LevelFilter::Off;
    +        }
    +        #[cfg(feature = "max_level_error")]
    +        {
    +            return LevelFilter::Error;
    +        }
    +        #[cfg(feature = "max_level_warn")]
    +        {
    +            return LevelFilter::Warn;
    +        }
    +        #[cfg(feature = "max_level_info")]
    +        {
    +            return LevelFilter::Info;
    +        }
    +        #[cfg(feature = "max_level_debug")]
    +        {
    +            return LevelFilter::Debug;
    +        }
    +
    +        LevelFilter::Trace
         }
     }
     
    @@ -3941,5 +3652,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/log/macros.rs.html b/src/log/macros.rs.html index 143ea53..b0181ca 100644 --- a/src/log/macros.rs.html +++ b/src/log/macros.rs.html @@ -1,5 +1,4 @@ -macros.rs - source
    1
    +macros.rs - source
    1
     2
     3
     4
    @@ -239,47 +238,7 @@
     238
     239
     240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -
    // Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
    +
    // Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
     // file at the top-level directory of this distribution and at
     // http://rust-lang.org/COPYRIGHT.
     //
    @@ -308,36 +267,38 @@
     ///     data.0, data.1, private_data);
     /// # }
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! log {
    -    // log!(target: "my_target", Level::Info; key1 = 42, key2 = true; "a {} event", "log");
    +    // log!(target: "my_target", Level::Info, key1 = 42, key2 = true; "a {} event", "log");
         (target: $target:expr, $lvl:expr, $($key:tt = $value:expr),+; $($arg:tt)+) => ({
             let lvl = $lvl;
             if lvl <= $crate::STATIC_MAX_LEVEL && lvl <= $crate::max_level() {
    -            $crate::__private_api_log(
    -                __log_format_args!($($arg)+),
    +            $crate::__private_api::log(
    +                $crate::__private_api::format_args!($($arg)+),
                     lvl,
    -                &($target, __log_module_path!(), __log_file!(), __log_line!()),
    -                $crate::__private_api::Option::Some(&[$((__log_key!($key), &$value)),+])
    +                &($target, $crate::__private_api::module_path!(), $crate::__private_api::file!()),
    +                $crate::__private_api::line!(),
    +                $crate::__private_api::Option::Some(&[$(($crate::__log_key!($key), &$value)),+])
                 );
             }
         });
     
    -    // log!(target: "my_target", Level::Info; "a {} event", "log");
    +    // log!(target: "my_target", Level::Info, "a {} event", "log");
         (target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
             let lvl = $lvl;
             if lvl <= $crate::STATIC_MAX_LEVEL && lvl <= $crate::max_level() {
    -            $crate::__private_api_log(
    -                __log_format_args!($($arg)+),
    +            $crate::__private_api::log(
    +                $crate::__private_api::format_args!($($arg)+),
                     lvl,
    -                &($target, __log_module_path!(), __log_file!(), __log_line!()),
    +                &($target, $crate::__private_api::module_path!(), $crate::__private_api::file!()),
    +                $crate::__private_api::line!(),
                     $crate::__private_api::Option::None,
                 );
             }
         });
     
         // log!(Level::Info, "a log event")
    -    ($lvl:expr, $($arg:tt)+) => (log!(target: __log_module_path!(), $lvl, $($arg)+));
    +    ($lvl:expr, $($arg:tt)+) => ($crate::log!(target: $crate::__private_api::module_path!(), $lvl, $($arg)+));
     }
     
     /// Logs a message at the error level.
    @@ -354,14 +315,14 @@
     /// error!(target: "app_events", "App Error: {}, Port: {}", err_info, 22);
     /// # }
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! error {
         // error!(target: "my_target", key1 = 42, key2 = true; "a {} event", "log")
         // error!(target: "my_target", "a {} event", "log")
    -    (target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Error, $($arg)+));
    +    (target: $target:expr, $($arg:tt)+) => ($crate::log!(target: $target, $crate::Level::Error, $($arg)+));
     
         // error!("a {} event", "log")
    -    ($($arg:tt)+) => (log!($crate::Level::Error, $($arg)+))
    +    ($($arg:tt)+) => ($crate::log!($crate::Level::Error, $($arg)+))
     }
     
     /// Logs a message at the warn level.
    @@ -378,14 +339,14 @@
     /// warn!(target: "input_events", "App received warning: {}", warn_description);
     /// # }
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! warn {
         // warn!(target: "my_target", key1 = 42, key2 = true; "a {} event", "log")
         // warn!(target: "my_target", "a {} event", "log")
    -    (target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Warn, $($arg)+));
    +    (target: $target:expr, $($arg:tt)+) => ($crate::log!(target: $target, $crate::Level::Warn, $($arg)+));
     
         // warn!("a {} event", "log")
    -    ($($arg:tt)+) => (log!($crate::Level::Warn, $($arg)+))
    +    ($($arg:tt)+) => ($crate::log!($crate::Level::Warn, $($arg)+))
     }
     
     /// Logs a message at the info level.
    @@ -400,18 +361,18 @@
     /// let conn_info = Connection { port: 40, speed: 3.20 };
     ///
     /// info!("Connected to port {} at {} Mb/s", conn_info.port, conn_info.speed);
    -/// info!(target: "connection_events", "Successfull connection, port: {}, speed: {}",
    +/// info!(target: "connection_events", "Successful connection, port: {}, speed: {}",
     ///       conn_info.port, conn_info.speed);
     /// # }
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! info {
         // info!(target: "my_target", key1 = 42, key2 = true; "a {} event", "log")
         // info!(target: "my_target", "a {} event", "log")
    -    (target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Info, $($arg)+));
    +    (target: $target:expr, $($arg:tt)+) => ($crate::log!(target: $target, $crate::Level::Info, $($arg)+));
     
         // info!("a {} event", "log")
    -    ($($arg:tt)+) => (log!($crate::Level::Info, $($arg)+))
    +    ($($arg:tt)+) => ($crate::log!($crate::Level::Info, $($arg)+))
     }
     
     /// Logs a message at the debug level.
    @@ -429,14 +390,14 @@
     /// debug!(target: "app_events", "New position: x: {}, y: {}", pos.x, pos.y);
     /// # }
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! debug {
         // debug!(target: "my_target", key1 = 42, key2 = true; "a {} event", "log")
         // debug!(target: "my_target", "a {} event", "log")
    -    (target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Debug, $($arg)+));
    +    (target: $target:expr, $($arg:tt)+) => ($crate::log!(target: $target, $crate::Level::Debug, $($arg)+));
     
         // debug!("a {} event", "log")
    -    ($($arg:tt)+) => (log!($crate::Level::Debug, $($arg)+))
    +    ($($arg:tt)+) => ($crate::log!($crate::Level::Debug, $($arg)+))
     }
     
     /// Logs a message at the trace level.
    @@ -456,14 +417,14 @@
     ///        if pos.y >= 0.0 { "positive" } else { "negative" });
     /// # }
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! trace {
         // trace!(target: "my_target", key1 = 42, key2 = true; "a {} event", "log")
         // trace!(target: "my_target", "a {} event", "log")
    -    (target: $target:expr, $($arg:tt)+) => (log!(target: $target, $crate::Level::Trace, $($arg)+));
    +    (target: $target:expr, $($arg:tt)+) => ($crate::log!(target: $target, $crate::Level::Trace, $($arg)+));
     
         // trace!("a {} event", "log")
    -    ($($arg:tt)+) => (log!($crate::Level::Trace, $($arg)+))
    +    ($($arg:tt)+) => ($crate::log!($crate::Level::Trace, $($arg)+))
     }
     
     /// Determines if a message logged at the specified level in that module will
    @@ -492,58 +453,16 @@
     /// # fn expensive_call() -> Data { Data { x: 0, y: 0 } }
     /// # fn main() {}
     /// ```
    -#[macro_export(local_inner_macros)]
    +#[macro_export]
     macro_rules! log_enabled {
         (target: $target:expr, $lvl:expr) => {{
             let lvl = $lvl;
             lvl <= $crate::STATIC_MAX_LEVEL
                 && lvl <= $crate::max_level()
    -            && $crate::__private_api_enabled(lvl, $target)
    +            && $crate::__private_api::enabled(lvl, $target)
         }};
         ($lvl:expr) => {
    -        log_enabled!(target: __log_module_path!(), $lvl)
    -    };
    -}
    -
    -// The log macro above cannot invoke format_args directly because it uses
    -// local_inner_macros. A format_args invocation there would resolve to
    -// $crate::format_args which does not exist. Instead invoke format_args here
    -// outside of local_inner_macros so that it resolves (probably) to
    -// core::format_args or std::format_args. Same for the several macros that
    -// follow.
    -//
    -// This is a workaround until we drop support for pre-1.30 compilers. At that
    -// point we can remove use of local_inner_macros, use $crate:: when invoking
    -// local macros, and invoke format_args directly.
    -#[doc(hidden)]
    -#[macro_export]
    -macro_rules! __log_format_args {
    -    ($($args:tt)*) => {
    -        format_args!($($args)*)
    -    };
    -}
    -
    -#[doc(hidden)]
    -#[macro_export]
    -macro_rules! __log_module_path {
    -    () => {
    -        module_path!()
    -    };
    -}
    -
    -#[doc(hidden)]
    -#[macro_export]
    -macro_rules! __log_file {
    -    () => {
    -        file!()
    -    };
    -}
    -
    -#[doc(hidden)]
    -#[macro_export]
    -macro_rules! __log_line {
    -    () => {
    -        line!()
    +        $crate::log_enabled!(target: $crate::__private_api::module_path!(), $lvl)
         };
     }
     
    @@ -552,12 +471,11 @@
     macro_rules! __log_key {
         // key1 = 42
         ($($args:ident)*) => {
    -        stringify!($($args)*)
    +        $crate::__private_api::stringify!($($args)*)
         };
         // "key1" = 42
         ($($args:expr)*) => {
             $($args)*
         };
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/proc_macro2/detection.rs.html b/src/proc_macro2/detection.rs.html index 4d0c751..ffe0ed4 100644 --- a/src/proc_macro2/detection.rs.html +++ b/src/proc_macro2/detection.rs.html @@ -1,4 +1,4 @@ -detection.rs - source
    1
    +detection.rs - source
    1
     2
     3
     4
    @@ -73,7 +73,7 @@
     73
     74
     75
    -
    use core::sync::atomic::{AtomicUsize, Ordering};
    +
    use core::sync::atomic::{AtomicUsize, Ordering};
     use std::sync::Once;
     
     static WORKS: AtomicUsize = AtomicUsize::new(0);
    @@ -148,5 +148,4 @@
             panic!("observed race condition in proc_macro2::inside_proc_macro");
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/proc_macro2/extra.rs.html b/src/proc_macro2/extra.rs.html new file mode 100644 index 0000000..e01064a --- /dev/null +++ b/src/proc_macro2/extra.rs.html @@ -0,0 +1,169 @@ +extra.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +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
    +
    //! Items which do not have a correspondence to any API in the proc_macro crate,
    +//! but are necessary to include in proc-macro2.
    +
    +use crate::fallback;
    +use crate::imp;
    +use crate::marker::Marker;
    +use crate::Span;
    +use core::fmt::{self, Debug};
    +
    +/// An object that holds a [`Group`]'s `span_open()` and `span_close()` together
    +/// (in a more compact representation than holding those 2 spans individually.
    +///
    +/// [`Group`]: crate::Group
    +#[derive(Copy, Clone)]
    +pub struct DelimSpan {
    +    inner: DelimSpanEnum,
    +    _marker: Marker,
    +}
    +
    +#[derive(Copy, Clone)]
    +enum DelimSpanEnum {
    +    #[cfg(wrap_proc_macro)]
    +    Compiler {
    +        join: proc_macro::Span,
    +        open: proc_macro::Span,
    +        close: proc_macro::Span,
    +    },
    +    Fallback(fallback::Span),
    +}
    +
    +impl DelimSpan {
    +    pub(crate) fn new(group: &imp::Group) -> Self {
    +        #[cfg(wrap_proc_macro)]
    +        let inner = match group {
    +            imp::Group::Compiler(group) => DelimSpanEnum::Compiler {
    +                join: group.span(),
    +                open: group.span_open(),
    +                close: group.span_close(),
    +            },
    +            imp::Group::Fallback(group) => DelimSpanEnum::Fallback(group.span()),
    +        };
    +
    +        #[cfg(not(wrap_proc_macro))]
    +        let inner = DelimSpanEnum::Fallback(group.span());
    +
    +        DelimSpan {
    +            inner,
    +            _marker: Marker,
    +        }
    +    }
    +
    +    /// Returns a span covering the entire delimited group.
    +    pub fn join(&self) -> Span {
    +        match &self.inner {
    +            #[cfg(wrap_proc_macro)]
    +            DelimSpanEnum::Compiler { join, .. } => Span::_new(imp::Span::Compiler(*join)),
    +            DelimSpanEnum::Fallback(span) => Span::_new_fallback(*span),
    +        }
    +    }
    +
    +    /// Returns a span for the opening punctuation of the group only.
    +    pub fn open(&self) -> Span {
    +        match &self.inner {
    +            #[cfg(wrap_proc_macro)]
    +            DelimSpanEnum::Compiler { open, .. } => Span::_new(imp::Span::Compiler(*open)),
    +            DelimSpanEnum::Fallback(span) => Span::_new_fallback(span.first_byte()),
    +        }
    +    }
    +
    +    /// Returns a span for the closing punctuation of the group only.
    +    pub fn close(&self) -> Span {
    +        match &self.inner {
    +            #[cfg(wrap_proc_macro)]
    +            DelimSpanEnum::Compiler { close, .. } => Span::_new(imp::Span::Compiler(*close)),
    +            DelimSpanEnum::Fallback(span) => Span::_new_fallback(span.last_byte()),
    +        }
    +    }
    +}
    +
    +impl Debug for DelimSpan {
    +    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    +        Debug::fmt(&self.join(), f)
    +    }
    +}
    +
    \ No newline at end of file diff --git a/src/proc_macro2/fallback.rs.html b/src/proc_macro2/fallback.rs.html index 3b9bb03..a475939 100644 --- a/src/proc_macro2/fallback.rs.html +++ b/src/proc_macro2/fallback.rs.html @@ -1,4 +1,4 @@ -fallback.rs - source
    1
    +fallback.rs - source
    1
     2
     3
     4
    @@ -996,23 +996,153 @@
     996
     997
     998
    -
    #[cfg(span_locations)]
    +999
    +1000
    +1001
    +1002
    +1003
    +1004
    +1005
    +1006
    +1007
    +1008
    +1009
    +1010
    +1011
    +1012
    +1013
    +1014
    +1015
    +1016
    +1017
    +1018
    +1019
    +1020
    +1021
    +1022
    +1023
    +1024
    +1025
    +1026
    +1027
    +1028
    +1029
    +1030
    +1031
    +1032
    +1033
    +1034
    +1035
    +1036
    +1037
    +1038
    +1039
    +1040
    +1041
    +1042
    +1043
    +1044
    +1045
    +1046
    +1047
    +1048
    +1049
    +1050
    +1051
    +1052
    +1053
    +1054
    +1055
    +1056
    +1057
    +1058
    +1059
    +1060
    +1061
    +1062
    +1063
    +1064
    +1065
    +1066
    +1067
    +1068
    +1069
    +1070
    +1071
    +1072
    +1073
    +1074
    +1075
    +1076
    +1077
    +1078
    +1079
    +1080
    +1081
    +1082
    +1083
    +1084
    +1085
    +1086
    +1087
    +1088
    +1089
    +1090
    +1091
    +1092
    +1093
    +1094
    +1095
    +1096
    +1097
    +1098
    +1099
    +1100
    +1101
    +1102
    +1103
    +1104
    +1105
    +1106
    +1107
    +1108
    +1109
    +1110
    +1111
    +1112
    +1113
    +1114
    +1115
    +1116
    +1117
    +1118
    +1119
    +1120
    +1121
    +1122
    +1123
    +1124
    +1125
    +1126
    +1127
    +1128
    +1129
    +
    #[cfg(span_locations)]
     use crate::location::LineColumn;
     use crate::parse::{self, Cursor};
     use crate::rcvec::{RcVec, RcVecBuilder, RcVecIntoIter, RcVecMut};
     use crate::{Delimiter, Spacing, TokenTree};
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
    +use alloc::collections::BTreeMap;
    +#[cfg(all(span_locations, not(fuzzing)))]
     use core::cell::RefCell;
     #[cfg(span_locations)]
     use core::cmp;
     use core::fmt::{self, Debug, Display, Write};
    -use core::iter::FromIterator;
     use core::mem::ManuallyDrop;
     use core::ops::RangeBounds;
     use core::ptr;
     use core::str::FromStr;
    -#[cfg(procmacro2_semver_exempt)]
    -use std::path::Path;
     use std::path::PathBuf;
     
     /// Force use of proc-macro2's fallback implementation of the API for now, even
    @@ -1071,8 +1201,7 @@
     fn push_token_from_proc_macro(mut vec: RcVecMut<TokenTree>, token: TokenTree) {
         // https://github.com/dtolnay/proc-macro2/issues/235
         match token {
    -        #[cfg(not(no_bind_by_move_pattern_guard))]
    -        TokenTree::Literal(crate::Literal {
    +        TokenTree::Literal(crate::Literal {
                 #[cfg(wrap_proc_macro)]
                     inner: crate::imp::Literal::Fallback(literal),
                 #[cfg(not(wrap_proc_macro))]
    @@ -1081,20 +1210,6 @@
             }) if literal.repr.starts_with('-') => {
                 push_negative_literal(vec, literal);
             }
    -        #[cfg(no_bind_by_move_pattern_guard)]
    -        TokenTree::Literal(crate::Literal {
    -            #[cfg(wrap_proc_macro)]
    -                inner: crate::imp::Literal::Fallback(literal),
    -            #[cfg(not(wrap_proc_macro))]
    -                inner: literal,
    -            ..
    -        }) => {
    -            if literal.repr.starts_with('-') {
    -                push_negative_literal(vec, literal);
    -            } else {
    -                vec.push(TokenTree::Literal(crate::Literal::_new_stable(literal)));
    -            }
    -        }
             _ => vec.push(token),
         }
     
    @@ -1102,9 +1217,9 @@
         fn push_negative_literal(mut vec: RcVecMut<TokenTree>, mut literal: Literal) {
             literal.repr.remove(0);
             let mut punct = crate::Punct::new('-', Spacing::Alone);
    -        punct.set_span(crate::Span::_new_stable(literal.span));
    +        punct.set_span(crate::Span::_new_fallback(literal.span));
             vec.push(TokenTree::Punct(punct));
    -        vec.push(TokenTree::Literal(crate::Literal::_new_stable(literal)));
    +        vec.push(TokenTree::Literal(crate::Literal::_new_fallback(literal)));
         }
     }
     
    @@ -1160,11 +1275,14 @@
     
     #[cfg(span_locations)]
     fn get_cursor(src: &str) -> Cursor {
    +    #[cfg(fuzzing)]
    +    return Cursor { rest: src, off: 1 };
    +
         // Create a dummy file & add it to the source map
    +    #[cfg(not(fuzzing))]
         SOURCE_MAP.with(|cm| {
             let mut cm = cm.borrow_mut();
    -        let name = format!("<parsed string {}>", cm.files.len());
    -        let span = cm.add_file(&name, src);
    +        let span = cm.add_file(src);
             Cursor {
                 rest: src,
                 off: span.lo,
    @@ -1230,7 +1348,7 @@
         }
     }
     
    -#[cfg(use_proc_macro)]
    +#[cfg(feature = "proc-macro")]
     impl From<proc_macro::TokenStream> for TokenStream {
         fn from(inner: proc_macro::TokenStream) -> Self {
             inner
    @@ -1240,7 +1358,7 @@
         }
     }
     
    -#[cfg(use_proc_macro)]
    +#[cfg(feature = "proc-macro")]
     impl From<TokenStream> for proc_macro::TokenStream {
         fn from(inner: TokenStream) -> Self {
             inner
    @@ -1318,8 +1436,7 @@
         }
     
         pub fn is_real(&self) -> bool {
    -        // XXX(nika): Support real files in the future?
    -        false
    +        false
         }
     }
     
    @@ -1332,29 +1449,29 @@
         }
     }
     
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
     thread_local! {
         static SOURCE_MAP: RefCell<SourceMap> = RefCell::new(SourceMap {
    -        // NOTE: We start with a single dummy file which all call_site() and
    -        // def_site() spans reference.
    +        // Start with a single dummy file which all call_site() and def_site()
    +        // spans reference.
             files: vec![FileInfo {
    -            #[cfg(procmacro2_semver_exempt)]
    -            name: "<unspecified>".to_owned(),
    +            source_text: String::new(),
                 span: Span { lo: 0, hi: 0 },
                 lines: vec![0],
    +            char_index_to_byte_offset: BTreeMap::new(),
             }],
         });
     }
     
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
     struct FileInfo {
    -    #[cfg(procmacro2_semver_exempt)]
    -    name: String,
    +    source_text: String,
         span: Span,
         lines: Vec<usize>,
    +    char_index_to_byte_offset: BTreeMap<usize, usize>,
     }
     
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
     impl FileInfo {
         fn offset_line_column(&self, offset: usize) -> LineColumn {
             assert!(self.span_within(Span {
    @@ -1377,11 +1494,47 @@
         fn span_within(&self, span: Span) -> bool {
             span.lo >= self.span.lo && span.hi <= self.span.hi
         }
    +
    +    fn source_text(&mut self, span: Span) -> String {
    +        let lo_char = (span.lo - self.span.lo) as usize;
    +
    +        // Look up offset of the largest already-computed char index that is
    +        // less than or equal to the current requested one. We resume counting
    +        // chars from that point.
    +        let (&last_char_index, &last_byte_offset) = self
    +            .char_index_to_byte_offset
    +            .range(..=lo_char)
    +            .next_back()
    +            .unwrap_or((&0, &0));
    +
    +        let lo_byte = if last_char_index == lo_char {
    +            last_byte_offset
    +        } else {
    +            let total_byte_offset = match self.source_text[last_byte_offset..]
    +                .char_indices()
    +                .nth(lo_char - last_char_index)
    +            {
    +                Some((additional_offset, _ch)) => last_byte_offset + additional_offset,
    +                None => self.source_text.len(),
    +            };
    +            self.char_index_to_byte_offset
    +                .insert(lo_char, total_byte_offset);
    +            total_byte_offset
    +        };
    +
    +        let trunc_lo = &self.source_text[lo_byte..];
    +        let char_len = (span.hi - span.lo) as usize;
    +        let source_text = match trunc_lo.char_indices().nth(char_len) {
    +            Some((offset, _ch)) => &trunc_lo[..offset],
    +            None => trunc_lo,
    +        };
    +        source_text.to_owned()
    +    }
     }
     
     /// Computes the offsets of each line in the given source string
     /// and the total number of characters
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
     fn lines_offsets(s: &str) -> (usize, Vec<usize>) {
         let mut lines = vec![0];
         let mut total = 0;
    @@ -1396,12 +1549,12 @@
         (total, lines)
     }
     
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
     struct SourceMap {
         files: Vec<FileInfo>,
     }
     
    -#[cfg(span_locations)]
    +#[cfg(all(span_locations, not(fuzzing)))]
     impl SourceMap {
         fn next_start_pos(&self) -> u32 {
             // Add 1 so there's always space between files.
    @@ -1411,35 +1564,55 @@
             self.files.last().unwrap().span.hi + 1
         }
     
    -    fn add_file(&mut self, name: &str, src: &str) -> Span {
    +    fn add_file(&mut self, src: &str) -> Span {
             let (len, lines) = lines_offsets(src);
             let lo = self.next_start_pos();
    -        // XXX(nika): Should we bother doing a checked cast or checked add here?
    -        let span = Span {
    +        let span = Span {
                 lo,
                 hi: lo + (len as u32),
             };
     
             self.files.push(FileInfo {
    -            #[cfg(procmacro2_semver_exempt)]
    -            name: name.to_owned(),
    +            source_text: src.to_owned(),
                 span,
                 lines,
    +            // Populated lazily by source_text().
    +            char_index_to_byte_offset: BTreeMap::new(),
             });
     
    -        #[cfg(not(procmacro2_semver_exempt))]
    -        let _ = name;
    -
             span
         }
     
    +    #[cfg(procmacro2_semver_exempt)]
    +    fn filepath(&self, span: Span) -> PathBuf {
    +        for (i, file) in self.files.iter().enumerate() {
    +            if file.span_within(span) {
    +                return PathBuf::from(if i == 0 {
    +                    "<unspecified>".to_owned()
    +                } else {
    +                    format!("<parsed string {}>", i)
    +                });
    +            }
    +        }
    +        unreachable!("Invalid span with no related FileInfo!");
    +    }
    +
         fn fileinfo(&self, span: Span) -> &FileInfo {
             for file in &self.files {
                 if file.span_within(span) {
                     return file;
                 }
             }
    -        panic!("Invalid span with no related FileInfo!");
    +        unreachable!("Invalid span with no related FileInfo!");
    +    }
    +
    +    fn fileinfo_mut(&mut self, span: Span) -> &mut FileInfo {
    +        for file in &mut self.files {
    +            if file.span_within(span) {
    +                return file;
    +            }
    +        }
    +        unreachable!("Invalid span with no related FileInfo!");
         }
     }
     
    @@ -1462,8 +1635,7 @@
             Span { lo: 0, hi: 0 }
         }
     
    -    #[cfg(not(no_hygiene))]
    -    pub fn mixed_site() -> Self {
    +    pub fn mixed_site() -> Self {
             Span::call_site()
         }
     
    @@ -1485,18 +1657,26 @@
     
         #[cfg(procmacro2_semver_exempt)]
         pub fn source_file(&self) -> SourceFile {
    -        SOURCE_MAP.with(|cm| {
    +        #[cfg(fuzzing)]
    +        return SourceFile {
    +            path: PathBuf::from("<unspecified>"),
    +        };
    +
    +        #[cfg(not(fuzzing))]
    +        SOURCE_MAP.with(|cm| {
                 let cm = cm.borrow();
    -            let fi = cm.fileinfo(*self);
    -            SourceFile {
    -                path: Path::new(&fi.name).to_owned(),
    -            }
    +            let path = cm.filepath(*self);
    +            SourceFile { path }
             })
         }
     
         #[cfg(span_locations)]
         pub fn start(&self) -> LineColumn {
    -        SOURCE_MAP.with(|cm| {
    +        #[cfg(fuzzing)]
    +        return LineColumn { line: 0, column: 0 };
    +
    +        #[cfg(not(fuzzing))]
    +        SOURCE_MAP.with(|cm| {
                 let cm = cm.borrow();
                 let fi = cm.fileinfo(*self);
                 fi.offset_line_column(self.lo as usize)
    @@ -1505,33 +1685,17 @@
     
         #[cfg(span_locations)]
         pub fn end(&self) -> LineColumn {
    -        SOURCE_MAP.with(|cm| {
    +        #[cfg(fuzzing)]
    +        return LineColumn { line: 0, column: 0 };
    +
    +        #[cfg(not(fuzzing))]
    +        SOURCE_MAP.with(|cm| {
                 let cm = cm.borrow();
                 let fi = cm.fileinfo(*self);
                 fi.offset_line_column(self.hi as usize)
             })
         }
     
    -    #[cfg(procmacro2_semver_exempt)]
    -    pub fn before(&self) -> Span {
    -        Span {
    -            #[cfg(span_locations)]
    -            lo: self.lo,
    -            #[cfg(span_locations)]
    -            hi: self.lo,
    -        }
    -    }
    -
    -    #[cfg(procmacro2_semver_exempt)]
    -    pub fn after(&self) -> Span {
    -        Span {
    -            #[cfg(span_locations)]
    -            lo: self.hi,
    -            #[cfg(span_locations)]
    -            hi: self.hi,
    -        }
    -    }
    -
         #[cfg(not(span_locations))]
         pub fn join(&self, _other: Span) -> Option<Span> {
             Some(Span {})
    @@ -1539,7 +1703,14 @@
     
         #[cfg(span_locations)]
         pub fn join(&self, other: Span) -> Option<Span> {
    -        SOURCE_MAP.with(|cm| {
    +        #[cfg(fuzzing)]
    +        return {
    +            let _ = other;
    +            None
    +        };
    +
    +        #[cfg(not(fuzzing))]
    +        SOURCE_MAP.with(|cm| {
                 let cm = cm.borrow();
                 // If `other` is not within the same FileInfo as us, return None.
                 if !cm.fileinfo(*self).span_within(other) {
    @@ -1553,12 +1724,32 @@
         }
     
         #[cfg(not(span_locations))]
    -    fn first_byte(self) -> Self {
    +    pub fn source_text(&self) -> Option<String> {
    +        None
    +    }
    +
    +    #[cfg(span_locations)]
    +    pub fn source_text(&self) -> Option<String> {
    +        #[cfg(fuzzing)]
    +        return None;
    +
    +        #[cfg(not(fuzzing))]
    +        {
    +            if self.is_call_site() {
    +                None
    +            } else {
    +                Some(SOURCE_MAP.with(|cm| cm.borrow_mut().fileinfo_mut(*self).source_text(*self)))
    +            }
    +        }
    +    }
    +
    +    #[cfg(not(span_locations))]
    +    pub(crate) fn first_byte(self) -> Self {
             self
         }
     
         #[cfg(span_locations)]
    -    fn first_byte(self) -> Self {
    +    pub(crate) fn first_byte(self) -> Self {
             Span {
                 lo: self.lo,
                 hi: cmp::min(self.lo.saturating_add(1), self.hi),
    @@ -1566,17 +1757,22 @@
         }
     
         #[cfg(not(span_locations))]
    -    fn last_byte(self) -> Self {
    +    pub(crate) fn last_byte(self) -> Self {
             self
         }
     
         #[cfg(span_locations)]
    -    fn last_byte(self) -> Self {
    +    pub(crate) fn last_byte(self) -> Self {
             Span {
                 lo: cmp::max(self.hi.saturating_sub(1), self.lo),
                 hi: self.hi,
             }
         }
    +
    +    #[cfg(span_locations)]
    +    fn is_call_site(&self) -> bool {
    +        self.lo == 0 && self.hi == 0
    +    }
     }
     
     impl Debug for Span {
    @@ -1592,7 +1788,7 @@
     pub(crate) fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) {
         #[cfg(span_locations)]
         {
    -        if span.lo == 0 && span.hi == 0 {
    +        if span.is_call_site() {
                 return;
             }
         }
    @@ -1728,7 +1924,7 @@
             panic!("Ident is not allowed to be empty; use Option<Ident>");
         }
     
    -    if string.bytes().all(|digit| digit >= b'0' && digit <= b'9') {
    +    if string.bytes().all(|digit| b'0' <= digit && digit <= b'9') {
             panic!("Ident cannot be a number; use Literal instead");
         }
     
    @@ -1789,7 +1985,8 @@
         }
     }
     
    -impl Debug for Ident {
    +#[allow(clippy::missing_fields_in_debug)]
    +impl Debug for Ident {
         // Ident(proc_macro), Ident(r#union)
         #[cfg(not(span_locations))]
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    @@ -1897,12 +2094,25 @@
         pub fn string(t: &str) -> Literal {
             let mut repr = String::with_capacity(t.len() + 2);
             repr.push('"');
    -        for c in t.chars() {
    -            if c == '\'' {
    +        let mut chars = t.chars();
    +        while let Some(ch) = chars.next() {
    +            if ch == '\0' {
    +                repr.push_str(
    +                    if chars
    +                        .as_str()
    +                        .starts_with(|next| '0' <= next && next <= '7')
    +                    {
    +                        // circumvent clippy::octal_escapes lint
    +                        "\\x00"
    +                    } else {
    +                        "\\0"
    +                    },
    +                );
    +            } else if ch == '\'' {
                     // escape_debug turns this into "\'" which is unnecessary.
    -                repr.push(c);
    +                repr.push(ch);
                 } else {
    -                repr.extend(c.escape_debug());
    +                repr.extend(ch.escape_debug());
                 }
             }
             repr.push('"');
    @@ -1924,16 +2134,21 @@
     
         pub fn byte_string(bytes: &[u8]) -> Literal {
             let mut escaped = "b\"".to_string();
    -        for b in bytes {
    +        let mut bytes = bytes.iter();
    +        while let Some(&b) = bytes.next() {
                 #[allow(clippy::match_overlapping_arm)]
    -            match *b {
    -                b'\0' => escaped.push_str(r"\0"),
    +            match b {
    +                b'\0' => escaped.push_str(match bytes.as_slice().first() {
    +                    // circumvent clippy::octal_escapes lint
    +                    Some(b'0'..=b'7') => r"\x00",
    +                    _ => r"\0",
    +                }),
                     b'\t' => escaped.push_str(r"\t"),
                     b'\n' => escaped.push_str(r"\n"),
                     b'\r' => escaped.push_str(r"\r"),
                     b'"' => escaped.push_str("\\\""),
                     b'\\' => escaped.push_str("\\\\"),
    -                b'\x20'..=b'\x7E' => escaped.push(*b as char),
    +                b'\x20'..=b'\x7E' => escaped.push(b as char),
                     _ => {
                         let _ = write!(escaped, "\\x{:02X}", b);
                     }
    @@ -1951,28 +2166,75 @@
             self.span = span;
         }
     
    -    pub fn subspan<R: RangeBounds<usize>>(&self, _range: R) -> Option<Span> {
    -        None
    -    }
    +    pub fn subspan<R: RangeBounds<usize>>(&self, range: R) -> Option<Span> {
    +        #[cfg(not(span_locations))]
    +        {
    +            let _ = range;
    +            None
    +        }
    +
    +        #[cfg(span_locations)]
    +        {
    +            use core::ops::Bound;
    +
    +            let lo = match range.start_bound() {
    +                Bound::Included(start) => {
    +                    let start = u32::try_from(*start).ok()?;
    +                    self.span.lo.checked_add(start)?
    +                }
    +                Bound::Excluded(start) => {
    +                    let start = u32::try_from(*start).ok()?;
    +                    self.span.lo.checked_add(start)?.checked_add(1)?
    +                }
    +                Bound::Unbounded => self.span.lo,
    +            };
    +            let hi = match range.end_bound() {
    +                Bound::Included(end) => {
    +                    let end = u32::try_from(*end).ok()?;
    +                    self.span.lo.checked_add(end)?.checked_add(1)?
    +                }
    +                Bound::Excluded(end) => {
    +                    let end = u32::try_from(*end).ok()?;
    +                    self.span.lo.checked_add(end)?
    +                }
    +                Bound::Unbounded => self.span.hi,
    +            };
    +            if lo <= hi && hi <= self.span.hi {
    +                Some(Span { lo, hi })
    +            } else {
    +                None
    +            }
    +        }
    +    }
     }
     
     impl FromStr for Literal {
         type Err = LexError;
     
    -    fn from_str(mut repr: &str) -> Result<Self, Self::Err> {
    -        let negative = repr.starts_with('-');
    +    fn from_str(repr: &str) -> Result<Self, Self::Err> {
    +        let mut cursor = get_cursor(repr);
    +        #[cfg(span_locations)]
    +        let lo = cursor.off;
    +
    +        let negative = cursor.starts_with_char('-');
             if negative {
    -            repr = &repr[1..];
    -            if !repr.starts_with(|ch: char| ch.is_ascii_digit()) {
    +            cursor = cursor.advance(1);
    +            if !cursor.starts_with_fn(|ch| ch.is_ascii_digit()) {
                     return Err(LexError::call_site());
                 }
             }
    -        let cursor = get_cursor(repr);
    -        if let Ok((_rest, mut literal)) = parse::literal(cursor) {
    -            if literal.repr.len() == repr.len() {
    +
    +        if let Ok((rest, mut literal)) = parse::literal(cursor) {
    +            if rest.is_empty() {
                     if negative {
                         literal.repr.insert(0, '-');
                     }
    +                literal.span = Span {
    +                    #[cfg(span_locations)]
    +                    lo,
    +                    #[cfg(span_locations)]
    +                    hi: rest.off,
    +                };
                     return Ok(literal);
                 }
             }
    @@ -1994,5 +2256,4 @@
             debug.finish()
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/proc_macro2/lib.rs.html b/src/proc_macro2/lib.rs.html index fabb02b..37e391f 100644 --- a/src/proc_macro2/lib.rs.html +++ b/src/proc_macro2/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -1310,7 +1310,13 @@
     1310
     1311
     1312
    -
    //! [![github]](https://github.com/dtolnay/proc-macro2)&ensp;[![crates-io]](https://crates.io/crates/proc-macro2)&ensp;[![docs-rs]](crate)
    +1313
    +1314
    +1315
    +1316
    +1317
    +1318
    +
    //! [![github]](https://github.com/dtolnay/proc-macro2)&ensp;[![crates-io]](https://crates.io/crates/proc-macro2)&ensp;[![docs-rs]](crate)
     //!
     //! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
     //! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
    @@ -1367,7 +1373,7 @@
     //! If parsing with [Syn], you'll use [`parse_macro_input!`] instead to
     //! propagate parse errors correctly back to the compiler when parsing fails.
     //!
    -//! [`parse_macro_input!`]: https://docs.rs/syn/1.0/syn/macro.parse_macro_input.html
    +//! [`parse_macro_input!`]: https://docs.rs/syn/2.0/syn/macro.parse_macro_input.html
     //!
     //! # Unstable features
     //!
    @@ -1377,7 +1383,7 @@
     //!
     //! To opt into the additional APIs available in the most recent nightly
     //! compiler, the `procmacro2_semver_exempt` config flag must be passed to
    -//! rustc. We will polyfill those nightly-only APIs back to Rust 1.31.0. As
    +//! rustc. We will polyfill those nightly-only APIs back to Rust 1.56.0. As
     //! these are unstable APIs that track the nightly compiler, minor versions of
     //! proc-macro2 may make breaking changes to them at any time.
     //!
    @@ -1398,11 +1404,8 @@
     //! a different thread.
     
     // Proc-macro2 types in rustdoc of other crates get linked to here.
    -#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.51")]
    -#![cfg_attr(
    -    any(proc_macro_span, super_unstable),
    -    feature(proc_macro_span, proc_macro_span_shrink)
    -)]
    +#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.69")]
    +#![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))]
     #![cfg_attr(super_unstable, feature(proc_macro_def_site))]
     #![cfg_attr(doc_cfg, feature(doc_cfg))]
     #![allow(
    @@ -1410,9 +1413,14 @@
         clippy::cast_possible_truncation,
         clippy::doc_markdown,
         clippy::items_after_statements,
    +    clippy::iter_without_into_iter,
    +    clippy::let_underscore_untyped,
         clippy::manual_assert,
    +    clippy::manual_range_contains,
    +    clippy::missing_safety_doc,
         clippy::must_use_candidate,
         clippy::needless_doctest_main,
    +    clippy::new_without_default,
         clippy::return_self_not_must_use,
         clippy::shadow_unrelated,
         clippy::trivially_copy_pass_by_ref,
    @@ -1430,7 +1438,9 @@
         build script as well.
     "}
     
    -#[cfg(use_proc_macro)]
    +extern crate alloc;
    +
    +#[cfg(feature = "proc-macro")]
     extern crate proc_macro;
     
     mod marker;
    @@ -1445,6 +1455,8 @@
     #[doc(hidden)]
     pub mod fallback;
     
    +pub mod extra;
    +
     #[cfg(not(wrap_proc_macro))]
     use crate::fallback as imp;
     #[path = "wrapper.rs"]
    @@ -1454,11 +1466,11 @@
     #[cfg(span_locations)]
     mod location;
     
    +use crate::extra::DelimSpan;
     use crate::marker::Marker;
     use core::cmp::Ordering;
     use core::fmt::{self, Debug, Display};
     use core::hash::{Hash, Hasher};
    -use core::iter::FromIterator;
     use core::ops::RangeBounds;
     use core::str::FromStr;
     use std::error::Error;
    @@ -1495,7 +1507,7 @@
             }
         }
     
    -    fn _new_stable(inner: fallback::TokenStream) -> Self {
    +    fn _new_fallback(inner: fallback::TokenStream) -> Self {
             TokenStream {
                 inner: inner.into(),
                 _marker: Marker,
    @@ -1541,14 +1553,16 @@
         }
     }
     
    -#[cfg(use_proc_macro)]
    +#[cfg(feature = "proc-macro")]
    +#[cfg_attr(doc_cfg, doc(cfg(feature = "proc-macro")))]
     impl From<proc_macro::TokenStream> for TokenStream {
         fn from(inner: proc_macro::TokenStream) -> Self {
             TokenStream::_new(inner.into())
         }
     }
     
    -#[cfg(use_proc_macro)]
    +#[cfg(feature = "proc-macro")]
    +#[cfg_attr(doc_cfg, doc(cfg(feature = "proc-macro")))]
     impl From<TokenStream> for proc_macro::TokenStream {
         fn from(inner: TokenStream) -> Self {
             inner.inner.into()
    @@ -1689,7 +1703,7 @@
             }
         }
     
    -    fn _new_stable(inner: fallback::Span) -> Self {
    +    fn _new_fallback(inner: fallback::Span) -> Self {
             Span {
                 inner: inner.into(),
                 _marker: Marker,
    @@ -1708,9 +1722,6 @@
         /// The span located at the invocation of the procedural macro, but with
         /// local variables, labels, and `$crate` resolved at the definition site
         /// of the macro. This is the same hygiene behavior as `macro_rules`.
    -    ///
    -    /// This function requires Rust 1.45 or later.
    -    #[cfg(not(no_hygiene))]
         pub fn mixed_site() -> Self {
             Span::_new(imp::Span::mixed_site())
         }
    @@ -1797,24 +1808,6 @@
             self.inner.end()
         }
     
    -    /// Creates an empty span pointing to directly before this span.
    -    ///
    -    /// This method is semver exempt and not exposed by default.
    -    #[cfg(all(procmacro2_semver_exempt, any(not(wrap_proc_macro), super_unstable)))]
    -    #[cfg_attr(doc_cfg, doc(cfg(procmacro2_semver_exempt)))]
    -    pub fn before(&self) -> Span {
    -        Span::_new(self.inner.before())
    -    }
    -
    -    /// Creates an empty span pointing to directly after this span.
    -    ///
    -    /// This method is semver exempt and not exposed by default.
    -    #[cfg(all(procmacro2_semver_exempt, any(not(wrap_proc_macro), super_unstable)))]
    -    #[cfg_attr(doc_cfg, doc(cfg(procmacro2_semver_exempt)))]
    -    pub fn after(&self) -> Span {
    -        Span::_new(self.inner.after())
    -    }
    -
         /// Create a new span encompassing `self` and `other`.
         ///
         /// Returns `None` if `self` and `other` are from different files.
    @@ -1836,6 +1829,17 @@
         pub fn eq(&self, other: &Span) -> bool {
             self.inner.eq(&other.inner)
         }
    +
    +    /// Returns the source text behind a span. This preserves the original
    +    /// source code, including spaces and comments. It only returns a result if
    +    /// the span corresponds to real source code.
    +    ///
    +    /// Note: The observable result of a macro should only rely on the tokens
    +    /// and not on this source text. The result of this function is a best
    +    /// effort to be used for diagnostics only.
    +    pub fn source_text(&self) -> Option<String> {
    +        self.inner.source_text()
    +    }
     }
     
     /// Prints a span in a form convenient for debugging.
    @@ -1976,7 +1980,7 @@
             Group { inner }
         }
     
    -    fn _new_stable(inner: fallback::Group) -> Self {
    +    fn _new_fallback(inner: fallback::Group) -> Self {
             Group {
                 inner: inner.into(),
             }
    @@ -1993,7 +1997,8 @@
             }
         }
     
    -    /// Returns the delimiter of this `Group`
    +    /// Returns the punctuation used as the delimiter for this group: a set of
    +    /// parentheses, square brackets, or curly braces.
         pub fn delimiter(&self) -> Delimiter {
             self.inner.delimiter()
         }
    @@ -2037,6 +2042,13 @@
             Span::_new(self.inner.span_close())
         }
     
    +    /// Returns an object that holds this group's `span_open()` and
    +    /// `span_close()` together (in a more compact representation than holding
    +    /// those 2 spans individually).
    +    pub fn delim_span(&self) -> DelimSpan {
    +        DelimSpan::new(&self.inner)
    +    }
    +
         /// Configures the span for this `Group`'s delimiters, but not its internal
         /// tokens.
         ///
    @@ -2160,7 +2172,7 @@
     /// Rust keywords. Use `input.call(Ident::parse_any)` when parsing to match the
     /// behaviour of `Ident::new`.
     ///
    -/// [`Parse`]: https://docs.rs/syn/1.0/syn/parse/trait.Parse.html
    +/// [`Parse`]: https://docs.rs/syn/2.0/syn/parse/trait.Parse.html
     ///
     /// # Examples
     ///
    @@ -2251,7 +2263,7 @@
         /// Panics if the input string is neither a keyword nor a legal variable
         /// name. If you are not sure whether the string contains an identifier and
         /// need to handle an error case, use
    -    /// <a href="https://docs.rs/syn/1.0/syn/fn.parse_str.html"><code
    +    /// <a href="https://docs.rs/syn/2.0/syn/fn.parse_str.html"><code
         ///   style="padding-right:0;">syn::parse_str</code></a><code
         ///   style="padding-left:0;">::&lt;Ident&gt;</code>
         /// rather than `Ident::new`.
    @@ -2393,7 +2405,7 @@
             }
         }
     
    -    fn _new_stable(inner: fallback::Literal) -> Self {
    +    fn _new_fallback(inner: fallback::Literal) -> Self {
             Literal {
                 inner: inner.into(),
                 _marker: Marker,
    @@ -2622,5 +2634,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/proc_macro2/marker.rs.html b/src/proc_macro2/marker.rs.html index d243bab..0092a28 100644 --- a/src/proc_macro2/marker.rs.html +++ b/src/proc_macro2/marker.rs.html @@ -1,4 +1,4 @@ -marker.rs - source
    1
    +marker.rs - source
    1
     2
     3
     4
    @@ -16,9 +16,9 @@
     16
     17
     18
    -
    use core::marker::PhantomData;
    -use std::panic::{RefUnwindSafe, UnwindSafe};
    -use std::rc::Rc;
    +
    use alloc::rc::Rc;
    +use core::marker::PhantomData;
    +use core::panic::{RefUnwindSafe, UnwindSafe};
     
     // Zero sized marker with the correct set of autotrait impls we want all proc
     // macro types to have.
    @@ -34,5 +34,4 @@
     
     impl UnwindSafe for ProcMacroAutoTraits {}
     impl RefUnwindSafe for ProcMacroAutoTraits {}
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/proc_macro2/parse.rs.html b/src/proc_macro2/parse.rs.html index efd9027..84de80a 100644 --- a/src/proc_macro2/parse.rs.html +++ b/src/proc_macro2/parse.rs.html @@ -1,4 +1,4 @@ -parse.rs - source
    1
    +parse.rs - source
    1
     2
     3
     4
    @@ -874,7 +874,120 @@
     874
     875
     876
    -
    use crate::fallback::{
    +877
    +878
    +879
    +880
    +881
    +882
    +883
    +884
    +885
    +886
    +887
    +888
    +889
    +890
    +891
    +892
    +893
    +894
    +895
    +896
    +897
    +898
    +899
    +900
    +901
    +902
    +903
    +904
    +905
    +906
    +907
    +908
    +909
    +910
    +911
    +912
    +913
    +914
    +915
    +916
    +917
    +918
    +919
    +920
    +921
    +922
    +923
    +924
    +925
    +926
    +927
    +928
    +929
    +930
    +931
    +932
    +933
    +934
    +935
    +936
    +937
    +938
    +939
    +940
    +941
    +942
    +943
    +944
    +945
    +946
    +947
    +948
    +949
    +950
    +951
    +952
    +953
    +954
    +955
    +956
    +957
    +958
    +959
    +960
    +961
    +962
    +963
    +964
    +965
    +966
    +967
    +968
    +969
    +970
    +971
    +972
    +973
    +974
    +975
    +976
    +977
    +978
    +979
    +980
    +981
    +982
    +983
    +984
    +985
    +986
    +987
    +988
    +989
    +
    use crate::fallback::{
         is_ident_continue, is_ident_start, Group, LexError, Literal, Span, TokenStream,
         TokenStreamBuilder,
     };
    @@ -903,7 +1016,18 @@
             self.rest.starts_with(s)
         }
     
    -    fn is_empty(&self) -> bool {
    +    pub fn starts_with_char(&self, ch: char) -> bool {
    +        self.rest.starts_with(ch)
    +    }
    +
    +    pub fn starts_with_fn<Pattern>(&self, f: Pattern) -> bool
    +    where
    +        Pattern: FnMut(char) -> bool,
    +    {
    +        self.rest.starts_with(f)
    +    }
    +
    +    pub fn is_empty(&self) -> bool {
             self.rest.is_empty()
         }
     
    @@ -973,7 +1097,7 @@
                     s = s.advance(1);
                     continue;
                 }
    -            b if b <= 0x7f => {}
    +            b if b.is_ascii() => {}
                 _ => {
                     let ch = s.chars().next().unwrap();
                     if is_whitespace(ch) {
    @@ -1026,6 +1150,10 @@
         }
     }
     
    +// Rustc's representation of a macro expansion error in expression position or
    +// type position.
    +const ERROR: &str = "(/*ERROR*/)";
    +
     pub(crate) fn token_stream(mut input: Cursor) -> Result<TokenStream, LexError> {
         let mut trees = TokenStreamBuilder::new();
         let mut stack = Vec::new();
    @@ -1057,7 +1185,7 @@
             };
     
             if let Some(open_delimiter) = match first {
    -            b'(' => Some(Delimiter::Parenthesis),
    +            b'(' if !input.starts_with(ERROR) => Some(Delimiter::Parenthesis),
                 b'[' => Some(Delimiter::Bracket),
                 b'{' => Some(Delimiter::Brace),
                 _ => None,
    @@ -1093,13 +1221,13 @@
                     hi: input.off,
                 });
                 trees = outer;
    -            trees.push_token_from_parser(TokenTree::Group(crate::Group::_new_stable(g)));
    +            trees.push_token_from_parser(TokenTree::Group(crate::Group::_new_fallback(g)));
             } else {
                 let (rest, mut tt) = match leaf_token(input) {
                     Ok((rest, tt)) => (rest, tt),
                     Err(Reject) => return Err(lex_error(input)),
                 };
    -            tt.set_span(crate::Span::_new_stable(Span {
    +            tt.set_span(crate::Span::_new_fallback(Span {
                     #[cfg(span_locations)]
                     lo,
                     #[cfg(span_locations)]
    @@ -1127,20 +1255,26 @@
     fn leaf_token(input: Cursor) -> PResult<TokenTree> {
         if let Ok((input, l)) = literal(input) {
             // must be parsed before ident
    -        Ok((input, TokenTree::Literal(crate::Literal::_new_stable(l))))
    +        Ok((input, TokenTree::Literal(crate::Literal::_new_fallback(l))))
         } else if let Ok((input, p)) = punct(input) {
             Ok((input, TokenTree::Punct(p)))
         } else if let Ok((input, i)) = ident(input) {
             Ok((input, TokenTree::Ident(i)))
    +    } else if input.starts_with(ERROR) {
    +        let rest = input.advance(ERROR.len());
    +        let repr = crate::Literal::_new_fallback(Literal::_new(ERROR.to_owned()));
    +        Ok((rest, TokenTree::Literal(repr)))
         } else {
             Err(Reject)
         }
     }
     
     fn ident(input: Cursor) -> PResult<crate::Ident> {
    -    if ["r\"", "r#\"", "r##", "b\"", "b\'", "br\"", "br#"]
    -        .iter()
    -        .any(|prefix| input.starts_with(prefix))
    +    if [
    +        "r\"", "r#\"", "r##", "b\"", "b\'", "br\"", "br#", "c\"", "cr\"", "cr#",
    +    ]
    +    .iter()
    +    .any(|prefix| input.starts_with(prefix))
         {
             Err(Reject)
         } else {
    @@ -1198,6 +1332,8 @@
             Ok(ok)
         } else if let Ok(ok) = byte_string(input) {
             Ok(ok)
    +    } else if let Ok(ok) = c_string(input) {
    +        Ok(ok)
         } else if let Ok(ok) = byte(input) {
             Ok(ok)
         } else if let Ok(ok) = character(input) {
    @@ -1228,8 +1364,8 @@
         }
     }
     
    -fn cooked_string(input: Cursor) -> Result<Cursor, Reject> {
    -    let mut chars = input.char_indices().peekable();
    +fn cooked_string(mut input: Cursor) -> Result<Cursor, Reject> {
    +    let mut chars = input.char_indices();
     
         while let Some((i, ch)) = chars.next() {
             match ch {
    @@ -1243,31 +1379,16 @@
                 },
                 '\\' => match chars.next() {
                     Some((_, 'x')) => {
    -                    if !backslash_x_char(&mut chars) {
    -                        break;
    -                    }
    +                    backslash_x_char(&mut chars)?;
                     }
    -                Some((_, 'n')) | Some((_, 'r')) | Some((_, 't')) | Some((_, '\\'))
    -                | Some((_, '\'')) | Some((_, '"')) | Some((_, '0')) => {}
    +                Some((_, 'n' | 'r' | 't' | '\\' | '\'' | '"' | '0')) => {}
                     Some((_, 'u')) => {
    -                    if !backslash_u(&mut chars) {
    -                        break;
    -                    }
    +                    backslash_u(&mut chars)?;
                     }
    -                Some((_, ch @ '\n')) | Some((_, ch @ '\r')) => {
    -                    let mut last = ch;
    -                    loop {
    -                        if last == '\r' && chars.next().map_or(true, |(_, ch)| ch != '\n') {
    -                            return Err(Reject);
    -                        }
    -                        match chars.peek() {
    -                            Some((_, ch)) if ch.is_whitespace() => {
    -                                last = *ch;
    -                                chars.next();
    -                            }
    -                            _ => break,
    -                        }
    -                    }
    +                Some((newline, ch @ ('\n' | '\r'))) => {
    +                    input = input.advance(newline + 1);
    +                    trailing_backslash(&mut input, ch as u8)?;
    +                    chars = input.char_indices();
                     }
                     _ => break,
                 },
    @@ -1277,11 +1398,30 @@
         Err(Reject)
     }
     
    +fn raw_string(input: Cursor) -> Result<Cursor, Reject> {
    +    let (input, delimiter) = delimiter_of_raw_string(input)?;
    +    let mut bytes = input.bytes().enumerate();
    +    while let Some((i, byte)) = bytes.next() {
    +        match byte {
    +            b'"' if input.rest[i + 1..].starts_with(delimiter) => {
    +                let rest = input.advance(i + 1 + delimiter.len());
    +                return Ok(literal_suffix(rest));
    +            }
    +            b'\r' => match bytes.next() {
    +                Some((_, b'\n')) => {}
    +                _ => break,
    +            },
    +            _ => {}
    +        }
    +    }
    +    Err(Reject)
    +}
    +
     fn byte_string(input: Cursor) -> Result<Cursor, Reject> {
         if let Ok(input) = input.parse("b\"") {
             cooked_byte_string(input)
         } else if let Ok(input) = input.parse("br") {
    -        raw_string(input)
    +        raw_byte_string(input)
         } else {
             Err(Reject)
         }
    @@ -1301,68 +1441,125 @@
                 },
                 b'\\' => match bytes.next() {
                     Some((_, b'x')) => {
    -                    if !backslash_x_byte(&mut bytes) {
    -                        break;
    -                    }
    +                    backslash_x_byte(&mut bytes)?;
                     }
    -                Some((_, b'n')) | Some((_, b'r')) | Some((_, b't')) | Some((_, b'\\'))
    -                | Some((_, b'0')) | Some((_, b'\'')) | Some((_, b'"')) => {}
    -                Some((newline, b @ b'\n')) | Some((newline, b @ b'\r')) => {
    -                    let mut last = b as char;
    -                    let rest = input.advance(newline + 1);
    -                    let mut chars = rest.char_indices();
    -                    loop {
    -                        if last == '\r' && chars.next().map_or(true, |(_, ch)| ch != '\n') {
    -                            return Err(Reject);
    -                        }
    -                        match chars.next() {
    -                            Some((_, ch)) if ch.is_whitespace() => last = ch,
    -                            Some((offset, _)) => {
    -                                input = rest.advance(offset);
    -                                bytes = input.bytes().enumerate();
    -                                break;
    -                            }
    -                            None => return Err(Reject),
    -                        }
    -                    }
    +                Some((_, b'n' | b'r' | b't' | b'\\' | b'0' | b'\'' | b'"')) => {}
    +                Some((newline, b @ (b'\n' | b'\r'))) => {
    +                    input = input.advance(newline + 1);
    +                    trailing_backslash(&mut input, b)?;
    +                    bytes = input.bytes().enumerate();
                     }
                     _ => break,
                 },
    -            b if b < 0x80 => {}
    +            b if b.is_ascii() => {}
                 _ => break,
             }
         }
         Err(Reject)
     }
     
    -fn raw_string(input: Cursor) -> Result<Cursor, Reject> {
    -    let mut chars = input.char_indices();
    -    let mut n = 0;
    -    for (i, ch) in &mut chars {
    -        match ch {
    -            '"' => {
    -                n = i;
    -                break;
    +fn delimiter_of_raw_string(input: Cursor) -> PResult<&str> {
    +    for (i, byte) in input.bytes().enumerate() {
    +        match byte {
    +            b'"' => {
    +                if i > 255 {
    +                    // https://github.com/rust-lang/rust/pull/95251
    +                    return Err(Reject);
    +                }
    +                return Ok((input.advance(i + 1), &input.rest[..i]));
                 }
    -            '#' => {}
    -            _ => return Err(Reject),
    +            b'#' => {}
    +            _ => break,
             }
         }
    -    if n > 255 {
    -        // https://github.com/rust-lang/rust/pull/95251
    -        return Err(Reject);
    +    Err(Reject)
    +}
    +
    +fn raw_byte_string(input: Cursor) -> Result<Cursor, Reject> {
    +    let (input, delimiter) = delimiter_of_raw_string(input)?;
    +    let mut bytes = input.bytes().enumerate();
    +    while let Some((i, byte)) = bytes.next() {
    +        match byte {
    +            b'"' if input.rest[i + 1..].starts_with(delimiter) => {
    +                let rest = input.advance(i + 1 + delimiter.len());
    +                return Ok(literal_suffix(rest));
    +            }
    +            b'\r' => match bytes.next() {
    +                Some((_, b'\n')) => {}
    +                _ => break,
    +            },
    +            other => {
    +                if !other.is_ascii() {
    +                    break;
    +                }
    +            }
    +        }
         }
    +    Err(Reject)
    +}
    +
    +fn c_string(input: Cursor) -> Result<Cursor, Reject> {
    +    if let Ok(input) = input.parse("c\"") {
    +        cooked_c_string(input)
    +    } else if let Ok(input) = input.parse("cr") {
    +        raw_c_string(input)
    +    } else {
    +        Err(Reject)
    +    }
    +}
    +
    +fn raw_c_string(input: Cursor) -> Result<Cursor, Reject> {
    +    let (input, delimiter) = delimiter_of_raw_string(input)?;
    +    let mut bytes = input.bytes().enumerate();
    +    while let Some((i, byte)) = bytes.next() {
    +        match byte {
    +            b'"' if input.rest[i + 1..].starts_with(delimiter) => {
    +                let rest = input.advance(i + 1 + delimiter.len());
    +                return Ok(literal_suffix(rest));
    +            }
    +            b'\r' => match bytes.next() {
    +                Some((_, b'\n')) => {}
    +                _ => break,
    +            },
    +            b'\0' => break,
    +            _ => {}
    +        }
    +    }
    +    Err(Reject)
    +}
    +
    +fn cooked_c_string(mut input: Cursor) -> Result<Cursor, Reject> {
    +    let mut chars = input.char_indices();
    +
         while let Some((i, ch)) = chars.next() {
             match ch {
    -            '"' if input.rest[i + 1..].starts_with(&input.rest[..n]) => {
    -                let rest = input.advance(i + 1 + n);
    -                return Ok(literal_suffix(rest));
    +            '"' => {
    +                let input = input.advance(i + 1);
    +                return Ok(literal_suffix(input));
                 }
                 '\r' => match chars.next() {
                     Some((_, '\n')) => {}
                     _ => break,
                 },
    -            _ => {}
    +            '\\' => match chars.next() {
    +                Some((_, 'x')) => {
    +                    backslash_x_nonzero(&mut chars)?;
    +                }
    +                Some((_, 'n' | 'r' | 't' | '\\' | '\'' | '"')) => {}
    +                Some((_, 'u')) => {
    +                    if backslash_u(&mut chars)? == '\0' {
    +                        break;
    +                    }
    +                }
    +                Some((newline, ch @ ('\n' | '\r'))) => {
    +                    input = input.advance(newline + 1);
    +                    trailing_backslash(&mut input, ch as u8)?;
    +                    chars = input.char_indices();
    +                }
    +                _ => break,
    +            },
    +            '\0' => break,
    +            _ch => {}
             }
         }
         Err(Reject)
    @@ -1373,9 +1570,8 @@
         let mut bytes = input.bytes().enumerate();
         let ok = match bytes.next().map(|(_, b)| b) {
             Some(b'\\') => match bytes.next().map(|(_, b)| b) {
    -            Some(b'x') => backslash_x_byte(&mut bytes),
    -            Some(b'n') | Some(b'r') | Some(b't') | Some(b'\\') | Some(b'0') | Some(b'\'')
    -            | Some(b'"') => true,
    +            Some(b'x') => backslash_x_byte(&mut bytes).is_ok(),
    +            Some(b'n' | b'r' | b't' | b'\\' | b'0' | b'\'' | b'"') => true,
                 _ => false,
             },
             b => b.is_some(),
    @@ -1396,11 +1592,9 @@
         let mut chars = input.char_indices();
         let ok = match chars.next().map(|(_, ch)| ch) {
             Some('\\') => match chars.next().map(|(_, ch)| ch) {
    -            Some('x') => backslash_x_char(&mut chars),
    -            Some('u') => backslash_u(&mut chars),
    -            Some('n') | Some('r') | Some('t') | Some('\\') | Some('0') | Some('\'') | Some('"') => {
    -                true
    -            }
    +            Some('x') => backslash_x_char(&mut chars).is_ok(),
    +            Some('u') => backslash_u(&mut chars).is_ok(),
    +            Some('n' | 'r' | 't' | '\\' | '0' | '\'' | '"') => true,
                 _ => false,
             },
             ch => ch.is_some(),
    @@ -1414,36 +1608,49 @@
     }
     
     macro_rules! next_ch {
    -    ($chars:ident @ $pat:pat $(| $rest:pat)*) => {
    +    ($chars:ident @ $pat:pat) => {
             match $chars.next() {
                 Some((_, ch)) => match ch {
    -                $pat $(| $rest)* => ch,
    -                _ => return false,
    +                $pat => ch,
    +                _ => return Err(Reject),
                 },
    -            None => return false,
    +            None => return Err(Reject),
             }
         };
     }
     
    -fn backslash_x_char<I>(chars: &mut I) -> bool
    +fn backslash_x_char<I>(chars: &mut I) -> Result<(), Reject>
     where
         I: Iterator<Item = (usize, char)>,
     {
         next_ch!(chars @ '0'..='7');
         next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F');
    -    true
    -}
    +    Ok(())
    +}
     
    -fn backslash_x_byte<I>(chars: &mut I) -> bool
    +fn backslash_x_byte<I>(chars: &mut I) -> Result<(), Reject>
     where
         I: Iterator<Item = (usize, u8)>,
     {
         next_ch!(chars @ b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F');
         next_ch!(chars @ b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F');
    -    true
    -}
    +    Ok(())
    +}
     
    -fn backslash_u<I>(chars: &mut I) -> bool
    +fn backslash_x_nonzero<I>(chars: &mut I) -> Result<(), Reject>
    +where
    +    I: Iterator<Item = (usize, char)>,
    +{
    +    let first = next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F');
    +    let second = next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F');
    +    if first == '0' && second == '0' {
    +        Err(Reject)
    +    } else {
    +        Ok(())
    +    }
    +}
    +
    +fn backslash_u<I>(chars: &mut I) -> Result<char, Reject>
     where
         I: Iterator<Item = (usize, char)>,
     {
    @@ -1456,18 +1663,37 @@
                 'a'..='f' => 10 + ch as u8 - b'a',
                 'A'..='F' => 10 + ch as u8 - b'A',
                 '_' if len > 0 => continue,
    -            '}' if len > 0 => return char::from_u32(value).is_some(),
    -            _ => return false,
    +            '}' if len > 0 => return char::from_u32(value).ok_or(Reject),
    +            _ => break,
             };
             if len == 6 {
    -            return false;
    +            break;
             }
             value *= 0x10;
             value += u32::from(digit);
             len += 1;
         }
    -    false
    -}
    +    Err(Reject)
    +}
    +
    +fn trailing_backslash(input: &mut Cursor, mut last: u8) -> Result<(), Reject> {
    +    let mut whitespace = input.bytes().enumerate();
    +    loop {
    +        if last == b'\r' && whitespace.next().map_or(true, |(_, b)| b != b'\n') {
    +            return Err(Reject);
    +        }
    +        match whitespace.next() {
    +            Some((_, b @ (b' ' | b'\t' | b'\n' | b'\r'))) => {
    +                last = b;
    +            }
    +            Some((offset, _)) => {
    +                *input = input.advance(offset);
    +                return Ok(());
    +            }
    +            None => return Err(Reject),
    +        }
    +    }
    +}
     
     fn float(input: Cursor) -> Result<Cursor, Reject> {
         let mut rest = float_digits(input)?;
    @@ -1482,7 +1708,7 @@
     fn float_digits(input: Cursor) -> Result<Cursor, Reject> {
         let mut chars = input.chars().peekable();
         match chars.next() {
    -        Some(ch) if ch >= '0' && ch <= '9' => {}
    +        Some(ch) if '0' <= ch && ch <= '9' => {}
             _ => return Err(Reject),
         }
     
    @@ -1632,7 +1858,7 @@
     fn punct(input: Cursor) -> PResult<Punct> {
         let (rest, ch) = punct_char(input)?;
         if ch == '\'' {
    -        if ident_any(rest)?.0.starts_with("'") {
    +        if ident_any(rest)?.0.starts_with_char('\'') {
                 Err(Reject)
             } else {
                 Ok((rest, Punct::new('\'', Spacing::Joint)))
    @@ -1671,7 +1897,7 @@
         #[cfg(span_locations)]
         let lo = input.off;
         let (rest, (comment, inner)) = doc_comment_contents(input)?;
    -    let span = crate::Span::_new_stable(Span {
    +    let span = crate::Span::_new_fallback(Span {
             #[cfg(span_locations)]
             lo,
             #[cfg(span_locations)]
    @@ -1707,7 +1933,7 @@
         bracketed.push_token_from_parser(TokenTree::Punct(equal));
         bracketed.push_token_from_parser(TokenTree::Literal(literal));
         let group = Group::new(Delimiter::Bracket, bracketed.build());
    -    let mut group = crate::Group::_new_stable(group);
    +    let mut group = crate::Group::_new_fallback(group);
         group.set_span(span);
         trees.push_token_from_parser(TokenTree::Group(group));
     
    @@ -1724,7 +1950,7 @@
             Ok((input, (&s[3..s.len() - 2], true)))
         } else if input.starts_with("///") {
             let input = input.advance(3);
    -        if input.starts_with("/") {
    +        if input.starts_with_char('/') {
                 return Err(Reject);
             }
             let (input, s) = take_until_newline_or_eof(input);
    @@ -1750,5 +1976,4 @@
     
         (input.advance(input.len()), input.rest)
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/proc_macro2/rcvec.rs.html b/src/proc_macro2/rcvec.rs.html index 1471b94..82bda62 100644 --- a/src/proc_macro2/rcvec.rs.html +++ b/src/proc_macro2/rcvec.rs.html @@ -1,4 +1,4 @@ -rcvec.rs - source
    1
    +rcvec.rs - source
    1
     2
     3
     4
    @@ -140,10 +140,14 @@
     140
     141
     142
    -
    use core::mem;
    +143
    +144
    +145
    +
    use alloc::rc::Rc;
    +use alloc::vec;
    +use core::mem;
    +use core::panic::RefUnwindSafe;
     use core::slice;
    -use std::rc::Rc;
    -use std::vec;
     
     pub(crate) struct RcVec<T> {
         inner: Rc<Vec<T>>,
    @@ -194,7 +198,7 @@
             T: Clone,
         {
             let vec = if let Some(owned) = Rc::get_mut(&mut self.inner) {
    -            mem::replace(owned, Vec::new())
    +            mem::take(owned)
             } else {
                 Vec::clone(&self.inner)
             };
    @@ -282,5 +286,6 @@
             self.inner.size_hint()
         }
     }
    -
    -
    \ No newline at end of file + +impl<T> RefUnwindSafe for RcVec<T> where T: RefUnwindSafe {} + \ No newline at end of file diff --git a/src/proc_macro2/wrapper.rs.html b/src/proc_macro2/wrapper.rs.html index fa55fca..c819a3f 100644 --- a/src/proc_macro2/wrapper.rs.html +++ b/src/proc_macro2/wrapper.rs.html @@ -1,4 +1,4 @@ -wrapper.rs - source
    1
    +wrapper.rs - source
    1
     2
     3
     4
    @@ -899,95 +899,11 @@
     899
     900
     901
    -902
    -903
    -904
    -905
    -906
    -907
    -908
    -909
    -910
    -911
    -912
    -913
    -914
    -915
    -916
    -917
    -918
    -919
    -920
    -921
    -922
    -923
    -924
    -925
    -926
    -927
    -928
    -929
    -930
    -931
    -932
    -933
    -934
    -935
    -936
    -937
    -938
    -939
    -940
    -941
    -942
    -943
    -944
    -945
    -946
    -947
    -948
    -949
    -950
    -951
    -952
    -953
    -954
    -955
    -956
    -957
    -958
    -959
    -960
    -961
    -962
    -963
    -964
    -965
    -966
    -967
    -968
    -969
    -970
    -971
    -972
    -973
    -974
    -975
    -976
    -977
    -978
    -979
    -980
    -981
    -982
    -983
    -984
    -
    use crate::detection::inside_proc_macro;
    +
    use crate::detection::inside_proc_macro;
     #[cfg(span_locations)]
     use crate::location::LineColumn;
     use crate::{fallback, Delimiter, Punct, Spacing, TokenTree};
     use core::fmt::{self, Debug, Display};
    -use core::iter::FromIterator;
     use core::ops::RangeBounds;
     use core::str::FromStr;
     use std::panic;
    @@ -1024,7 +940,7 @@
     }
     
     fn mismatch() -> ! {
    -    panic!("stable/nightly mismatch")
    +    panic!("compiler/fallback mismatch")
     }
     
     impl DeferredTokenStream {
    @@ -1270,15 +1186,7 @@
     impl Display for LexError {
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
             match self {
    -            #[cfg(not(no_lexerror_display))]
    -            LexError::Compiler(e) => Display::fmt(e, f),
    -            #[cfg(no_lexerror_display)]
    -            LexError::Compiler(_e) => Display::fmt(
    -                &fallback::LexError {
    -                    span: fallback::Span::call_site(),
    -                },
    -                f,
    -            ),
    +            LexError::Compiler(e) => Display::fmt(e, f),
                 LexError::Fallback(e) => Display::fmt(e, f),
             }
         }
    @@ -1390,8 +1298,7 @@
             }
         }
     
    -    #[cfg(not(no_hygiene))]
    -    pub fn mixed_site() -> Self {
    +    pub fn mixed_site() -> Self {
             if inside_proc_macro() {
                 Span::Compiler(proc_macro::Span::mixed_site())
             } else {
    @@ -1410,13 +1317,7 @@
     
         pub fn resolved_at(&self, other: Span) -> Span {
             match (self, other) {
    -            #[cfg(not(no_hygiene))]
    -            (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.resolved_at(b)),
    -
    -            // Name resolution affects semantics, but location is only cosmetic
    -            #[cfg(no_hygiene)]
    -            (Span::Compiler(_), Span::Compiler(_)) => other,
    -
    +            (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.resolved_at(b)),
                 (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.resolved_at(b)),
                 _ => mismatch(),
             }
    @@ -1424,13 +1325,7 @@
     
         pub fn located_at(&self, other: Span) -> Span {
             match (self, other) {
    -            #[cfg(not(no_hygiene))]
    -            (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.located_at(b)),
    -
    -            // Name resolution affects semantics, but location is only cosmetic
    -            #[cfg(no_hygiene)]
    -            (Span::Compiler(_), Span::Compiler(_)) => *self,
    -
    +            (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.located_at(b)),
                 (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.located_at(b)),
                 _ => mismatch(),
             }
    @@ -1454,13 +1349,7 @@
         #[cfg(span_locations)]
         pub fn start(&self) -> LineColumn {
             match self {
    -            #[cfg(proc_macro_span)]
    -            Span::Compiler(s) => {
    -                let proc_macro::LineColumn { line, column } = s.start();
    -                LineColumn { line, column }
    -            }
    -            #[cfg(not(proc_macro_span))]
    -            Span::Compiler(_) => LineColumn { line: 0, column: 0 },
    +            Span::Compiler(_) => LineColumn { line: 0, column: 0 },
                 Span::Fallback(s) => s.start(),
             }
         }
    @@ -1468,33 +1357,11 @@
         #[cfg(span_locations)]
         pub fn end(&self) -> LineColumn {
             match self {
    -            #[cfg(proc_macro_span)]
    -            Span::Compiler(s) => {
    -                let proc_macro::LineColumn { line, column } = s.end();
    -                LineColumn { line, column }
    -            }
    -            #[cfg(not(proc_macro_span))]
    -            Span::Compiler(_) => LineColumn { line: 0, column: 0 },
    +            Span::Compiler(_) => LineColumn { line: 0, column: 0 },
                 Span::Fallback(s) => s.end(),
             }
         }
     
    -    #[cfg(super_unstable)]
    -    pub fn before(&self) -> Span {
    -        match self {
    -            Span::Compiler(s) => Span::Compiler(s.before()),
    -            Span::Fallback(s) => Span::Fallback(s.before()),
    -        }
    -    }
    -
    -    #[cfg(super_unstable)]
    -    pub fn after(&self) -> Span {
    -        match self {
    -            Span::Compiler(s) => Span::Compiler(s.after()),
    -            Span::Fallback(s) => Span::Fallback(s.after()),
    -        }
    -    }
    -
         pub fn join(&self, other: Span) -> Option<Span> {
             let ret = match (self, other) {
                 #[cfg(proc_macro_span)]
    @@ -1514,6 +1381,16 @@
             }
         }
     
    +    pub fn source_text(&self) -> Option<String> {
    +        match self {
    +            #[cfg(not(no_source_text))]
    +            Span::Compiler(s) => s.source_text(),
    +            #[cfg(no_source_text)]
    +            Span::Compiler(_) => None,
    +            Span::Fallback(s) => s.source_text(),
    +        }
    +    }
    +
         fn unwrap_nightly(self) -> proc_macro::Span {
             match self {
                 Span::Compiler(s) => s,
    @@ -1604,20 +1481,14 @@
     
         pub fn span_open(&self) -> Span {
             match self {
    -            #[cfg(not(no_group_open_close))]
    -            Group::Compiler(g) => Span::Compiler(g.span_open()),
    -            #[cfg(no_group_open_close)]
    -            Group::Compiler(g) => Span::Compiler(g.span()),
    +            Group::Compiler(g) => Span::Compiler(g.span_open()),
                 Group::Fallback(g) => Span::Fallback(g.span_open()),
             }
         }
     
         pub fn span_close(&self) -> Span {
             match self {
    -            #[cfg(not(no_group_open_close))]
    -            Group::Compiler(g) => Span::Compiler(g.span_close()),
    -            #[cfg(no_group_open_close)]
    -            Group::Compiler(g) => Span::Compiler(g.span()),
    +            Group::Compiler(g) => Span::Compiler(g.span_close()),
                 Group::Fallback(g) => Span::Fallback(g.span_close()),
             }
         }
    @@ -1678,27 +1549,7 @@
     
         pub fn new_raw(string: &str, span: Span) -> Self {
             match span {
    -            #[cfg(not(no_ident_new_raw))]
    -            Span::Compiler(s) => Ident::Compiler(proc_macro::Ident::new_raw(string, s)),
    -            #[cfg(no_ident_new_raw)]
    -            Span::Compiler(s) => {
    -                let _ = proc_macro::Ident::new(string, s);
    -                // At this point the un-r#-prefixed string is known to be a
    -                // valid identifier. Try to produce a valid raw identifier by
    -                // running the `TokenStream` parser, and unwrapping the first
    -                // token as an `Ident`.
    -                let raw_prefixed = format!("r#{}", string);
    -                if let Ok(ts) = raw_prefixed.parse::<proc_macro::TokenStream>() {
    -                    let mut iter = ts.into_iter();
    -                    if let (Some(proc_macro::TokenTree::Ident(mut id)), None) =
    -                        (iter.next(), iter.next())
    -                    {
    -                        id.set_span(s);
    -                        return Ident::Compiler(id);
    -                    }
    -                }
    -                panic!("not allowed as a raw identifier: `{}`", raw_prefixed)
    -            }
    +            Span::Compiler(s) => Ident::Compiler(proc_macro::Ident::new_raw(string, s)),
                 Span::Fallback(s) => Ident::Fallback(fallback::Ident::new_raw(string, s)),
             }
         }
    @@ -1800,7 +1651,7 @@
     impl Literal {
         pub unsafe fn from_str_unchecked(repr: &str) -> Self {
             if inside_proc_macro() {
    -            Literal::Compiler(compiler_literal_from_str(repr).expect("invalid literal"))
    +            Literal::Compiler(proc_macro::Literal::from_str(repr).expect("invalid literal"))
             } else {
                 Literal::Fallback(fallback::Literal::from_str_unchecked(repr))
             }
    @@ -1923,7 +1774,8 @@
     
         fn from_str(repr: &str) -> Result<Self, Self::Err> {
             if inside_proc_macro() {
    -            compiler_literal_from_str(repr).map(Literal::Compiler)
    +            let literal = proc_macro::Literal::from_str(repr)?;
    +            Ok(Literal::Compiler(literal))
             } else {
                 let literal = fallback::Literal::from_str(repr)?;
                 Ok(Literal::Fallback(literal))
    @@ -1931,24 +1783,6 @@
         }
     }
     
    -fn compiler_literal_from_str(repr: &str) -> Result<proc_macro::Literal, LexError> {
    -    #[cfg(not(no_literal_from_str))]
    -    {
    -        proc_macro::Literal::from_str(repr).map_err(LexError::Compiler)
    -    }
    -    #[cfg(no_literal_from_str)]
    -    {
    -        let tokens = proc_macro_parse(repr)?;
    -        let mut iter = tokens.into_iter();
    -        if let (Some(proc_macro::TokenTree::Literal(literal)), None) = (iter.next(), iter.next()) {
    -            if literal.to_string().len() == repr.len() {
    -                return Ok(literal);
    -            }
    -        }
    -        Err(LexError::call_site())
    -    }
    -}
    -
     impl Display for Literal {
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
             match self {
    @@ -1966,5 +1800,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/quote/ext.rs.html b/src/quote/ext.rs.html index 7fc5861..96be58c 100644 --- a/src/quote/ext.rs.html +++ b/src/quote/ext.rs.html @@ -1,4 +1,4 @@ -ext.rs - source
    1
    +ext.rs - source
    1
     2
     3
     4
    @@ -108,7 +108,7 @@
     108
     109
     110
    -
    use super::ToTokens;
    +
    use super::ToTokens;
     use core::iter;
     use proc_macro2::{TokenStream, TokenTree};
     
    @@ -218,5 +218,4 @@
     
         impl Sealed for TokenStream {}
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/quote/format.rs.html b/src/quote/format.rs.html index 6fc18fb..dc933b8 100644 --- a/src/quote/format.rs.html +++ b/src/quote/format.rs.html @@ -1,4 +1,4 @@ -format.rs - source
    1
    +format.rs - source
    1
     2
     3
     4
    @@ -166,7 +166,7 @@
     166
     167
     168
    -
    /// Formatting macro for constructing `Ident`s.
    +
    /// Formatting macro for constructing `Ident`s.
     ///
     /// <br>
     ///
    @@ -334,5 +334,4 @@
             }
         };
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/quote/ident_fragment.rs.html b/src/quote/ident_fragment.rs.html index 667e36d..882f5f1 100644 --- a/src/quote/ident_fragment.rs.html +++ b/src/quote/ident_fragment.rs.html @@ -1,4 +1,4 @@ -ident_fragment.rs - source
    1
    +ident_fragment.rs - source
    1
     2
     3
     4
    @@ -84,9 +84,11 @@
     84
     85
     86
    -
    use core::fmt;
    +87
    +88
    +
    use alloc::borrow::Cow;
    +use core::fmt;
     use proc_macro2::{Ident, Span};
    -use std::borrow::Cow;
     
     /// Specialized formatting trait used by `format_ident!`.
     ///
    @@ -94,6 +96,8 @@
     /// stripped, if present.
     ///
     /// See [`format_ident!`] for more information.
    +///
    +/// [`format_ident!`]: crate::format_ident
     pub trait IdentFragment {
         /// Format this value as an identifier fragment.
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result;
    @@ -133,8 +137,8 @@
     
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
             let id = self.to_string();
    -        if id.starts_with("r#") {
    -            fmt::Display::fmt(&id[2..], f)
    +        if let Some(id) = id.strip_prefix("r#") {
    +            fmt::Display::fmt(id, f)
             } else {
                 fmt::Display::fmt(&id[..], f)
             }
    @@ -170,5 +174,4 @@
     
     ident_fragment_display!(bool, str, String, char);
     ident_fragment_display!(u8, u16, u32, u64, u128, usize);
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/quote/lib.rs.html b/src/quote/lib.rs.html index 045aeb7..43b4e8e 100644 --- a/src/quote/lib.rs.html +++ b/src/quote/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -1432,7 +1432,17 @@
     1432
     1433
     1434
    -
    //! [![github]](https://github.com/dtolnay/quote)&ensp;[![crates-io]](https://crates.io/crates/quote)&ensp;[![docs-rs]](https://docs.rs/quote)
    +1435
    +1436
    +1437
    +1438
    +1439
    +1440
    +1441
    +1442
    +1443
    +1444
    +
    //! [![github]](https://github.com/dtolnay/quote)&ensp;[![crates-io]](https://crates.io/crates/quote)&ensp;[![docs-rs]](https://docs.rs/quote)
     //!
     //! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
     //! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
    @@ -1513,9 +1523,20 @@
     //!     }
     //! };
     //! ```
    +//!
    +//! <br>
    +//!
    +//! # Non-macro code generators
    +//!
    +//! When using `quote` in a build.rs or main.rs and writing the output out to a
    +//! file, consider having the code generator pass the tokens through
    +//! [prettyplease] before writing. This way if an error occurs in the generated
    +//! code it is convenient for a human to read and debug.
    +//!
    +//! [prettyplease]: https://github.com/dtolnay/prettyplease
     
     // Quote types in rustdoc of other crates get linked to here.
    -#![doc(html_root_url = "https://docs.rs/quote/1.0.23")]
    +#![doc(html_root_url = "https://docs.rs/quote/1.0.33")]
     #![allow(
         clippy::doc_markdown,
         clippy::missing_errors_doc,
    @@ -1525,10 +1546,9 @@
         clippy::wrong_self_convention,
     )]
     
    -#[cfg(all(
    -    not(all(target_arch = "wasm32", target_os = "unknown")),
    -    feature = "proc-macro"
    -))]
    +extern crate alloc;
    +
    +#[cfg(feature = "proc-macro")]
     extern crate proc_macro;
     
     mod ext;
    @@ -2053,14 +2073,14 @@
     #[macro_export]
     macro_rules! quote_spanned {
         ($span:expr=>) => {{
    -        let _: $crate::__private::Span = $span;
    +        let _: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
             $crate::__private::TokenStream::new()
         }};
     
         // Special case rule for a single tt, for performance.
         ($span:expr=> $tt:tt) => {{
             let mut _s = $crate::__private::TokenStream::new();
    -        let _span: $crate::__private::Span = $span;
    +        let _span: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
             $crate::quote_token_spanned!{$tt _s _span}
             _s
         }};
    @@ -2068,13 +2088,13 @@
         // Special case rules for two tts, for performance.
         ($span:expr=> # $var:ident) => {{
             let mut _s = $crate::__private::TokenStream::new();
    -        let _: $crate::__private::Span = $span;
    +        let _: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
             $crate::ToTokens::to_tokens(&$var, &mut _s);
             _s
         }};
         ($span:expr=> $tt1:tt $tt2:tt) => {{
             let mut _s = $crate::__private::TokenStream::new();
    -        let _span: $crate::__private::Span = $span;
    +        let _span: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
             $crate::quote_token_spanned!{$tt1 _s _span}
             $crate::quote_token_spanned!{$tt2 _s _span}
             _s
    @@ -2083,7 +2103,7 @@
         // Rule for any other number of tokens.
         ($span:expr=> $($tt:tt)*) => {{
             let mut _s = $crate::__private::TokenStream::new();
    -        let _span: $crate::__private::Span = $span;
    +        let _span: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
             $crate::quote_each_token_spanned!{_s _span $($tt)*}
             _s
         }};
    @@ -2866,5 +2886,4 @@
             $crate::__private::parse_spanned(&mut $tokens, $span, stringify!($other));
         };
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/quote/runtime.rs.html b/src/quote/runtime.rs.html index c55ad3e..a3cacd0 100644 --- a/src/quote/runtime.rs.html +++ b/src/quote/runtime.rs.html @@ -1,4 +1,4 @@ -runtime.rs - source
    1
    +runtime.rs - source
    1
     2
     3
     4
    @@ -436,16 +436,120 @@
     436
     437
     438
    -
    use crate::{IdentFragment, ToTokens, TokenStreamExt};
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +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
    +
    use self::get_span::{GetSpan, GetSpanBase, GetSpanInner};
    +use crate::{IdentFragment, ToTokens, TokenStreamExt};
     use core::fmt;
     use core::iter;
     use core::ops::BitOr;
    +use proc_macro2::{Group, Ident, Punct, Spacing, TokenTree};
     
    -pub use core::option::Option;
    -pub use proc_macro2::*;
    -pub use std::format;
    +#[doc(hidden)]
    +pub use alloc::format;
    +#[doc(hidden)]
    +pub use core::option::Option;
     
    -pub struct HasIterator; // True
    +#[doc(hidden)]
    +pub type Delimiter = proc_macro2::Delimiter;
    +#[doc(hidden)]
    +pub type Span = proc_macro2::Span;
    +#[doc(hidden)]
    +pub type TokenStream = proc_macro2::TokenStream;
    +
    +#[doc(hidden)]
    +pub struct HasIterator; // True
    +#[doc(hidden)]
     pub struct ThereIsNoIteratorInRepetition; // False
     
     impl BitOr<ThereIsNoIteratorInRepetition> for ThereIsNoIteratorInRepetition {
    @@ -482,14 +586,16 @@
     /// These traits expose a `quote_into_iter` method which should allow calling
     /// whichever impl happens to be applicable. Calling that method repeatedly on
     /// the returned value should be idempotent.
    +#[doc(hidden)]
     pub mod ext {
         use super::RepInterp;
         use super::{HasIterator as HasIter, ThereIsNoIteratorInRepetition as DoesNotHaveIter};
         use crate::ToTokens;
    +    use alloc::collections::btree_set::{self, BTreeSet};
         use core::slice;
    -    use std::collections::btree_set::{self, BTreeSet};
     
         /// Extension trait providing the `quote_into_iter` method on iterators.
    +    #[doc(hidden)]
         pub trait RepIteratorExt: Iterator + Sized {
             fn quote_into_iter(self) -> (Self, HasIter) {
                 (self, HasIter)
    @@ -501,6 +607,7 @@
         /// Extension trait providing the `quote_into_iter` method for
         /// non-iterable types. These types interpolate the same value in each
         /// iteration of the repetition.
    +    #[doc(hidden)]
         pub trait RepToTokensExt {
             /// Pretend to be an iterator for the purposes of `quote_into_iter`.
             /// This allows repeated calls to `quote_into_iter` to continue
    @@ -518,6 +625,7 @@
     
         /// Extension trait providing the `quote_into_iter` method for types that
         /// can be referenced as an iterator.
    +    #[doc(hidden)]
         pub trait RepAsIteratorExt<'q> {
             type Iter: Iterator;
     
    @@ -576,6 +684,7 @@
     // Helper type used within interpolations to allow for repeated binding names.
     // Implements the relevant traits, and exports a dummy `next()` method.
     #[derive(Copy, Clone)]
    +#[doc(hidden)]
     pub struct RepInterp<T>(pub T);
     
     impl<T> RepInterp<T> {
    @@ -602,11 +711,70 @@
         }
     }
     
    -pub fn push_group(tokens: &mut TokenStream, delimiter: Delimiter, inner: TokenStream) {
    +#[doc(hidden)]
    +#[inline]
    +pub fn get_span<T>(span: T) -> GetSpan<T> {
    +    GetSpan(GetSpanInner(GetSpanBase(span)))
    +}
    +
    +mod get_span {
    +    use core::ops::Deref;
    +    use proc_macro2::extra::DelimSpan;
    +    use proc_macro2::Span;
    +
    +    pub struct GetSpan<T>(pub(crate) GetSpanInner<T>);
    +
    +    pub struct GetSpanInner<T>(pub(crate) GetSpanBase<T>);
    +
    +    pub struct GetSpanBase<T>(pub(crate) T);
    +
    +    impl GetSpan<Span> {
    +        #[inline]
    +        pub fn __into_span(self) -> Span {
    +            ((self.0).0).0
    +        }
    +    }
    +
    +    impl GetSpanInner<DelimSpan> {
    +        #[inline]
    +        pub fn __into_span(&self) -> Span {
    +            (self.0).0.join()
    +        }
    +    }
    +
    +    impl<T> GetSpanBase<T> {
    +        #[allow(clippy::unused_self)]
    +        pub fn __into_span(&self) -> T {
    +            unreachable!()
    +        }
    +    }
    +
    +    impl<T> Deref for GetSpan<T> {
    +        type Target = GetSpanInner<T>;
    +
    +        #[inline]
    +        fn deref(&self) -> &Self::Target {
    +            &self.0
    +        }
    +    }
    +
    +    impl<T> Deref for GetSpanInner<T> {
    +        type Target = GetSpanBase<T>;
    +
    +        #[inline]
    +        fn deref(&self) -> &Self::Target {
    +            &self.0
    +        }
    +    }
    +}
    +
    +#[doc(hidden)]
    +pub fn push_group(tokens: &mut TokenStream, delimiter: Delimiter, inner: TokenStream) {
         tokens.append(Group::new(delimiter, inner));
     }
     
    -pub fn push_group_spanned(
    +#[doc(hidden)]
    +pub fn push_group_spanned(
         tokens: &mut TokenStream,
         span: Span,
         delimiter: Delimiter,
    @@ -617,12 +785,14 @@
         tokens.append(g);
     }
     
    -pub fn parse(tokens: &mut TokenStream, s: &str) {
    +#[doc(hidden)]
    +pub fn parse(tokens: &mut TokenStream, s: &str) {
         let s: TokenStream = s.parse().expect("invalid token stream");
         tokens.extend(iter::once(s));
     }
     
    -pub fn parse_spanned(tokens: &mut TokenStream, span: Span, s: &str) {
    +#[doc(hidden)]
    +pub fn parse_spanned(tokens: &mut TokenStream, span: Span, s: &str) {
         let s: TokenStream = s.parse().expect("invalid token stream");
         tokens.extend(s.into_iter().map(|t| respan_token_tree(t, span)));
     }
    @@ -644,16 +814,19 @@
         token
     }
     
    -pub fn push_ident(tokens: &mut TokenStream, s: &str) {
    +#[doc(hidden)]
    +pub fn push_ident(tokens: &mut TokenStream, s: &str) {
         let span = Span::call_site();
         push_ident_spanned(tokens, span, s);
     }
     
    -pub fn push_ident_spanned(tokens: &mut TokenStream, span: Span, s: &str) {
    +#[doc(hidden)]
    +pub fn push_ident_spanned(tokens: &mut TokenStream, span: Span, s: &str) {
         tokens.append(ident_maybe_raw(s, span));
     }
     
    -pub fn push_lifetime(tokens: &mut TokenStream, lifetime: &str) {
    +#[doc(hidden)]
    +pub fn push_lifetime(tokens: &mut TokenStream, lifetime: &str) {
         struct Lifetime<'a> {
             name: &'a str,
             state: u8,
    @@ -683,7 +856,8 @@
         });
     }
     
    -pub fn push_lifetime_spanned(tokens: &mut TokenStream, span: Span, lifetime: &str) {
    +#[doc(hidden)]
    +pub fn push_lifetime_spanned(tokens: &mut TokenStream, span: Span, lifetime: &str) {
         struct Lifetime<'a> {
             name: &'a str,
             span: Span,
    @@ -719,21 +893,25 @@
     
     macro_rules! push_punct {
         ($name:ident $spanned:ident $char1:tt) => {
    -        pub fn $name(tokens: &mut TokenStream) {
    +        #[doc(hidden)]
    +        pub fn $name(tokens: &mut TokenStream) {
                 tokens.append(Punct::new($char1, Spacing::Alone));
             }
    -        pub fn $spanned(tokens: &mut TokenStream, span: Span) {
    +        #[doc(hidden)]
    +        pub fn $spanned(tokens: &mut TokenStream, span: Span) {
                 let mut punct = Punct::new($char1, Spacing::Alone);
                 punct.set_span(span);
                 tokens.append(punct);
             }
         };
         ($name:ident $spanned:ident $char1:tt $char2:tt) => {
    -        pub fn $name(tokens: &mut TokenStream) {
    +        #[doc(hidden)]
    +        pub fn $name(tokens: &mut TokenStream) {
                 tokens.append(Punct::new($char1, Spacing::Joint));
                 tokens.append(Punct::new($char2, Spacing::Alone));
             }
    -        pub fn $spanned(tokens: &mut TokenStream, span: Span) {
    +        #[doc(hidden)]
    +        pub fn $spanned(tokens: &mut TokenStream, span: Span) {
                 let mut punct = Punct::new($char1, Spacing::Joint);
                 punct.set_span(span);
                 tokens.append(punct);
    @@ -743,12 +921,14 @@
             }
         };
         ($name:ident $spanned:ident $char1:tt $char2:tt $char3:tt) => {
    -        pub fn $name(tokens: &mut TokenStream) {
    +        #[doc(hidden)]
    +        pub fn $name(tokens: &mut TokenStream) {
                 tokens.append(Punct::new($char1, Spacing::Joint));
                 tokens.append(Punct::new($char2, Spacing::Joint));
                 tokens.append(Punct::new($char3, Spacing::Alone));
             }
    -        pub fn $spanned(tokens: &mut TokenStream, span: Span) {
    +        #[doc(hidden)]
    +        pub fn $spanned(tokens: &mut TokenStream, span: Span) {
                 let mut punct = Punct::new($char1, Spacing::Joint);
                 punct.set_span(span);
                 tokens.append(punct);
    @@ -807,24 +987,27 @@
     push_punct!(push_sub push_sub_spanned '-');
     push_punct!(push_sub_eq push_sub_eq_spanned '-' '=');
     
    -pub fn push_underscore(tokens: &mut TokenStream) {
    +#[doc(hidden)]
    +pub fn push_underscore(tokens: &mut TokenStream) {
         push_underscore_spanned(tokens, Span::call_site());
     }
     
    -pub fn push_underscore_spanned(tokens: &mut TokenStream, span: Span) {
    +#[doc(hidden)]
    +pub fn push_underscore_spanned(tokens: &mut TokenStream, span: Span) {
         tokens.append(Ident::new("_", span));
     }
     
     // Helper method for constructing identifiers from the `format_ident!` macro,
     // handling `r#` prefixes.
    +#[doc(hidden)]
     pub fn mk_ident(id: &str, span: Option<Span>) -> Ident {
         let span = span.unwrap_or_else(Span::call_site);
         ident_maybe_raw(id, span)
     }
     
     fn ident_maybe_raw(id: &str, span: Span) -> Ident {
    -    if id.starts_with("r#") {
    -        Ident::new_raw(&id[2..], span)
    +    if let Some(id) = id.strip_prefix("r#") {
    +        Ident::new_raw(id, span)
         } else {
             Ident::new(id, span)
         }
    @@ -837,6 +1020,7 @@
     // `Octal`, `LowerHex`, `UpperHex`, and `Binary` to allow for their use within
     // `format_ident!`.
     #[derive(Copy, Clone)]
    +#[doc(hidden)]
     pub struct IdentFragmentAdapter<T: IdentFragment>(pub T);
     
     impl<T: IdentFragment> IdentFragmentAdapter<T> {
    @@ -874,5 +1058,4 @@
             fmt::Binary::fmt(&self.0, f)
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/quote/spanned.rs.html b/src/quote/spanned.rs.html index cee815b..e0630d2 100644 --- a/src/quote/spanned.rs.html +++ b/src/quote/spanned.rs.html @@ -1,4 +1,4 @@ -spanned.rs - source
    1
    +spanned.rs - source
    1
     2
     3
     4
    @@ -41,10 +41,19 @@
     41
     42
     43
    -
    use crate::ToTokens;
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +
    use crate::ToTokens;
    +use proc_macro2::extra::DelimSpan;
     use proc_macro2::{Span, TokenStream};
     
    -pub trait Spanned {
    +// Not public API other than via the syn crate. Use syn::spanned::Spanned.
    +pub trait Spanned: private::Sealed {
         fn __span(&self) -> Span;
     }
     
    @@ -54,6 +63,12 @@
         }
     }
     
    +impl Spanned for DelimSpan {
    +    fn __span(&self) -> Span {
    +        self.join()
    +    }
    +}
    +
     impl<T: ?Sized + ToTokens> Spanned for T {
         fn __span(&self) -> Span {
             join_spans(self.into_token_stream())
    @@ -61,19 +76,7 @@
     }
     
     fn join_spans(tokens: TokenStream) -> Span {
    -    #[cfg(not(needs_invalid_span_workaround))]
    -    let mut iter = tokens.into_iter().map(|tt| tt.span());
    -
    -    #[cfg(needs_invalid_span_workaround)]
    -    let mut iter = tokens.into_iter().filter_map(|tt| {
    -        let span = tt.span();
    -        let debug = format!("{:?}", span);
    -        if debug.ends_with("bytes(0..0)") {
    -            None
    -        } else {
    -            Some(span)
    -        }
    -    });
    +    let mut iter = tokens.into_iter().map(|tt| tt.span());
     
         let first = match iter.next() {
             Some(span) => span,
    @@ -84,5 +87,15 @@
             .and_then(|last| first.join(last))
             .unwrap_or(first)
     }
    -
    -
    \ No newline at end of file + +mod private { + use crate::ToTokens; + use proc_macro2::extra::DelimSpan; + use proc_macro2::Span; + + pub trait Sealed {} + impl Sealed for Span {} + impl Sealed for DelimSpan {} + impl<T: ?Sized + ToTokens> Sealed for T {} +} + \ No newline at end of file diff --git a/src/quote/to_tokens.rs.html b/src/quote/to_tokens.rs.html index bcff3bf..305907d 100644 --- a/src/quote/to_tokens.rs.html +++ b/src/quote/to_tokens.rs.html @@ -1,4 +1,4 @@ -to_tokens.rs - source
    1
    +to_tokens.rs - source
    1
     2
     3
     4
    @@ -207,11 +207,11 @@
     207
     208
     209
    -
    use super::TokenStreamExt;
    +
    use super::TokenStreamExt;
    +use alloc::borrow::Cow;
    +use alloc::rc::Rc;
     use core::iter;
     use proc_macro2::{Group, Ident, Literal, Punct, Span, TokenStream, TokenTree};
    -use std::borrow::Cow;
    -use std::rc::Rc;
     
     /// Types that can be interpolated inside a `quote!` invocation.
     ///
    @@ -416,5 +416,4 @@
             self
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/attr.rs.html b/src/syn/attr.rs.html index 7b7dc39..ae83eb4 100644 --- a/src/syn/attr.rs.html +++ b/src/syn/attr.rs.html @@ -1,4 +1,4 @@ -attr.rs - source
    1
    +attr.rs - source
    1
     2
     3
     4
    @@ -660,7 +660,7 @@
     660
     661
     662
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::Punctuated;
     use proc_macro2::TokenStream;
     use std::iter;
    @@ -1322,5 +1322,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/await.rs.html b/src/syn/await.rs.html index a59d49e..76e86f6 100644 --- a/src/syn/await.rs.html +++ b/src/syn/await.rs.html @@ -1,6 +1,5 @@ -await.rs - source
    1
    +await.rs - source
    1
     2
    -
    // See include!("await.rs") in token.rs.
    +
    // See include!("await.rs") in token.rs.
     export_token_macro! {[await]}
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/bigint.rs.html b/src/syn/bigint.rs.html index 761bea1..83c0dd5 100644 --- a/src/syn/bigint.rs.html +++ b/src/syn/bigint.rs.html @@ -1,4 +1,4 @@ -bigint.rs - source
    1
    +bigint.rs - source
    1
     2
     3
     4
    @@ -64,7 +64,7 @@
     64
     65
     66
    -
    use std::ops::{AddAssign, MulAssign};
    +
    use std::ops::{AddAssign, MulAssign};
     
     // For implementing base10_digits() accessor on LitInt.
     pub struct BigInt {
    @@ -130,5 +130,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/buffer.rs.html b/src/syn/buffer.rs.html index 5e69a9e..f72a1aa 100644 --- a/src/syn/buffer.rs.html +++ b/src/syn/buffer.rs.html @@ -1,4 +1,4 @@ -buffer.rs - source
    1
    +buffer.rs - source
    1
     2
     3
     4
    @@ -396,7 +396,7 @@
     396
     397
     398
    -
    //! A stably addressed token buffer supporting efficient traversal based on a
    +
    //! A stably addressed token buffer supporting efficient traversal based on a
     //! cheaply copyable cursor.
     //!
     //! *This module is available only if Syn is built with the `"parsing"` feature.*
    @@ -794,5 +794,4 @@
             _ => cursor.span(),
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/custom_keyword.rs.html b/src/syn/custom_keyword.rs.html index 74dc337..28c2323 100644 --- a/src/syn/custom_keyword.rs.html +++ b/src/syn/custom_keyword.rs.html @@ -1,4 +1,4 @@ -custom_keyword.rs - source
    1
    +custom_keyword.rs - source
    1
     2
     3
     4
    @@ -251,7 +251,7 @@
     251
     252
     253
    -
    /// Define a type that supports parsing and printing a given identifier as if it
    +
    /// Define a type that supports parsing and printing a given identifier as if it
     /// were a keyword.
     ///
     /// # Usage
    @@ -504,5 +504,4 @@
     macro_rules! impl_extra_traits_for_custom_keyword {
         ($ident:ident) => {};
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/custom_punctuation.rs.html b/src/syn/custom_punctuation.rs.html index 681278a..6366940 100644 --- a/src/syn/custom_punctuation.rs.html +++ b/src/syn/custom_punctuation.rs.html @@ -1,4 +1,4 @@ -custom_punctuation.rs - source
    1
    +custom_punctuation.rs - source
    1
     2
     3
     4
    @@ -298,7 +298,7 @@
     298
     299
     300
    -
    /// Define a type that supports parsing and printing a multi-character symbol
    +
    /// Define a type that supports parsing and printing a multi-character symbol
     /// as if it were a punctuation token.
     ///
     /// # Usage
    @@ -598,5 +598,4 @@
             concat!($(stringify!($tt)),+)
         };
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/data.rs.html b/src/syn/data.rs.html index d4c4ccc..5c0d3c6 100644 --- a/src/syn/data.rs.html +++ b/src/syn/data.rs.html @@ -1,4 +1,4 @@ -data.rs - source
    1
    +data.rs - source
    1
     2
     3
     4
    @@ -491,7 +491,7 @@
     491
     492
     493
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::Punctuated;
     
     ast_struct! {
    @@ -984,5 +984,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/derive.rs.html b/src/syn/derive.rs.html index a2f22a3..17d8fbe 100644 --- a/src/syn/derive.rs.html +++ b/src/syn/derive.rs.html @@ -1,4 +1,4 @@ -derive.rs - source
    1
    +derive.rs - source
    1
     2
     3
     4
    @@ -272,7 +272,7 @@
     272
     273
     274
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::Punctuated;
     
     ast_struct! {
    @@ -546,5 +546,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/discouraged.rs.html b/src/syn/discouraged.rs.html index 7680f74..3993619 100644 --- a/src/syn/discouraged.rs.html +++ b/src/syn/discouraged.rs.html @@ -1,4 +1,4 @@ -discouraged.rs - source
    1
    +discouraged.rs - source
    1
     2
     3
     4
    @@ -192,7 +192,7 @@
     192
     193
     194
    -
    //! Extensions to the parsing API with niche applicability.
    +
    //! Extensions to the parsing API with niche applicability.
     
     use super::*;
     
    @@ -386,5 +386,4 @@
                 .set(unsafe { mem::transmute::<Cursor, Cursor<'static>>(fork.cursor()) });
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/drops.rs.html b/src/syn/drops.rs.html index 86bce40..29c421f 100644 --- a/src/syn/drops.rs.html +++ b/src/syn/drops.rs.html @@ -1,4 +1,4 @@ -drops.rs - source
    1
    +drops.rs - source
    1
     2
     3
     4
    @@ -56,7 +56,7 @@
     56
     57
     58
    -
    use std::iter;
    +
    use std::iter;
     use std::mem::ManuallyDrop;
     use std::ops::{Deref, DerefMut};
     use std::option;
    @@ -114,5 +114,4 @@
         assert!(!needs_drop::<option::IntoIter<&NeedsDrop>>());
         assert!(!needs_drop::<option::IntoIter<&mut NeedsDrop>>());
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/error.rs.html b/src/syn/error.rs.html index 503d5b4..7e710b7 100644 --- a/src/syn/error.rs.html +++ b/src/syn/error.rs.html @@ -1,4 +1,4 @@ -error.rs - source
    1
    +error.rs - source
    1
     2
     3
     4
    @@ -426,7 +426,7 @@
     426
     427
     428
    -
    #[cfg(feature = "parsing")]
    +
    #[cfg(feature = "parsing")]
     use crate::buffer::Cursor;
     use crate::thread::ThreadBound;
     use proc_macro2::{
    @@ -854,5 +854,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/export.rs.html b/src/syn/export.rs.html index 611cd32..abd63a8 100644 --- a/src/syn/export.rs.html +++ b/src/syn/export.rs.html @@ -1,4 +1,4 @@ -export.rs - source
    1
    +export.rs - source
    1
     2
     3
     4
    @@ -37,7 +37,7 @@
     37
     38
     39
    -
    pub use std::clone::Clone;
    +
    pub use std::clone::Clone;
     pub use std::cmp::{Eq, PartialEq};
     pub use std::default::Default;
     pub use std::fmt::{self, Debug, Formatter};
    @@ -76,5 +76,4 @@
     }
     
     pub struct private(pub(crate) ());
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/expr.rs.html b/src/syn/expr.rs.html index 7637430..ad2efe5 100644 --- a/src/syn/expr.rs.html +++ b/src/syn/expr.rs.html @@ -1,4 +1,4 @@ -expr.rs - source
    1
    +expr.rs - source
    1
     2
     3
     4
    @@ -3556,7 +3556,7 @@
     3556
     3557
     3558
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::Punctuated;
     #[cfg(feature = "full")]
     use crate::reserved::Reserved;
    @@ -7114,5 +7114,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/ext.rs.html b/src/syn/ext.rs.html index 82e74ff..e0b62b7 100644 --- a/src/syn/ext.rs.html +++ b/src/syn/ext.rs.html @@ -1,4 +1,4 @@ -ext.rs - source
    1
    +ext.rs - source
    1
     2
     3
     4
    @@ -137,7 +137,7 @@
     137
     138
     139
    -
    //! Extension traits to provide parsing methods on foreign types.
    +
    //! Extension traits to provide parsing methods on foreign types.
     //!
     //! *This module is available only if Syn is built with the `"parsing"` feature.*
     
    @@ -276,5 +276,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/gen/clone.rs.html b/src/syn/gen/clone.rs.html index 85031a6..f9efb76 100644 --- a/src/syn/gen/clone.rs.html +++ b/src/syn/gen/clone.rs.html @@ -1,4 +1,4 @@ -clone.rs - source
    1
    +clone.rs - source
    1
     2
     3
     4
    @@ -2239,7 +2239,7 @@
     2239
     2240
     2241
    -
    // This file is @generated by syn-internal-codegen.
    +
    // This file is @generated by syn-internal-codegen.
     // It is not intended for manual editing.
     
     #![allow(clippy::clone_on_copy, clippy::expl_impl_clone_on_copy)]
    @@ -4480,5 +4480,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/gen/debug.rs.html b/src/syn/gen/debug.rs.html index 3266f47..e461a12 100644 --- a/src/syn/gen/debug.rs.html +++ b/src/syn/gen/debug.rs.html @@ -1,4 +1,4 @@ -debug.rs - source
    1
    +debug.rs - source
    1
     2
     3
     4
    @@ -3040,7 +3040,7 @@
     3040
     3041
     3042
    -
    // This file is @generated by syn-internal-codegen.
    +
    // This file is @generated by syn-internal-codegen.
     // It is not intended for manual editing.
     
     use crate::*;
    @@ -6082,5 +6082,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/gen/eq.rs.html b/src/syn/gen/eq.rs.html index 38750f0..414760b 100644 --- a/src/syn/gen/eq.rs.html +++ b/src/syn/gen/eq.rs.html @@ -1,4 +1,4 @@ -eq.rs - source
    1
    +eq.rs - source
    1
     2
     3
     4
    @@ -2193,7 +2193,7 @@
     2193
     2194
     2195
    -
    // This file is @generated by syn-internal-codegen.
    +
    // This file is @generated by syn-internal-codegen.
     // It is not intended for manual editing.
     
     #[cfg(any(feature = "derive", feature = "full"))]
    @@ -4388,5 +4388,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/gen/hash.rs.html b/src/syn/gen/hash.rs.html index 9efd5e0..7b07c62 100644 --- a/src/syn/gen/hash.rs.html +++ b/src/syn/gen/hash.rs.html @@ -1,4 +1,4 @@ -hash.rs - source
    1
    +hash.rs - source
    1
     2
     3
     4
    @@ -2867,7 +2867,7 @@
     2867
     2868
     2869
    -
    // This file is @generated by syn-internal-codegen.
    +
    // This file is @generated by syn-internal-codegen.
     // It is not intended for manual editing.
     
     #[cfg(any(feature = "derive", feature = "full"))]
    @@ -5736,5 +5736,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/gen/visit.rs.html b/src/syn/gen/visit.rs.html index 31ed305..486e657 100644 --- a/src/syn/gen/visit.rs.html +++ b/src/syn/gen/visit.rs.html @@ -1,4 +1,4 @@ -visit.rs - source
    1
    +visit.rs - source
    1
     2
     3
     4
    @@ -3784,7 +3784,7 @@
     3784
     3785
     3786
    -
    // This file is @generated by syn-internal-codegen.
    +
    // This file is @generated by syn-internal-codegen.
     // It is not intended for manual editing.
     
     #![allow(unused_variables)]
    @@ -7570,5 +7570,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/gen/up/gen_helper.rs.html b/src/syn/gen_helper.rs.html similarity index 80% rename from src/syn/gen/up/gen_helper.rs.html rename to src/syn/gen_helper.rs.html index 719acd5..a5c84ac 100644 --- a/src/syn/gen/up/gen_helper.rs.html +++ b/src/syn/gen_helper.rs.html @@ -1,4 +1,4 @@ -gen_helper.rs - source
    1
    +gen_helper.rs - source
    1
     2
     3
     4
    @@ -152,7 +152,7 @@
     152
     153
     154
    -
    #[cfg(feature = "fold")]
    +
    #[cfg(feature = "fold")]
     pub mod fold {
         use crate::fold::Fold;
         use crate::punctuated::{Pair, Punctuated};
    @@ -306,5 +306,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/generics.rs.html b/src/syn/generics.rs.html index 3daa651..0ea2feb 100644 --- a/src/syn/generics.rs.html +++ b/src/syn/generics.rs.html @@ -1,4 +1,4 @@ -generics.rs - source
    1
    +generics.rs - source
    1
     2
     3
     4
    @@ -1360,7 +1360,7 @@
     1360
     1361
     1362
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::{Iter, IterMut, Punctuated};
     #[cfg(all(feature = "printing", feature = "extra-traits"))]
     use std::fmt::{self, Debug};
    @@ -2722,5 +2722,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/group.rs.html b/src/syn/group.rs.html index 24cf46d..ef337e8 100644 --- a/src/syn/group.rs.html +++ b/src/syn/group.rs.html @@ -1,4 +1,4 @@ -group.rs - source
    1
    +group.rs - source
    1
     2
     3
     4
    @@ -280,7 +280,7 @@
     280
     281
     282
    -
    use crate::error::Result;
    +
    use crate::error::Result;
     use crate::parse::ParseBuffer;
     use crate::token;
     use proc_macro2::{Delimiter, Span};
    @@ -562,5 +562,4 @@
             }
         };
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/ident.rs.html b/src/syn/ident.rs.html index 2ae9f22..6f7373a 100644 --- a/src/syn/ident.rs.html +++ b/src/syn/ident.rs.html @@ -1,4 +1,4 @@ -ident.rs - source
    1
    +ident.rs - source
    1
     2
     3
     4
    @@ -99,7 +99,7 @@
     99
     100
     101
    -
    #[cfg(feature = "parsing")]
    +
    #[cfg(feature = "parsing")]
     use crate::buffer::Cursor;
     #[cfg(feature = "parsing")]
     use crate::lookahead;
    @@ -200,5 +200,4 @@
         }
         true
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/lib.rs.html b/src/syn/lib.rs.html index b830b9d..251c3e5 100644 --- a/src/syn/lib.rs.html +++ b/src/syn/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -982,7 +982,7 @@
     982
     983
     984
    -
    //! [![github]](https://github.com/dtolnay/syn)&ensp;[![crates-io]](https://crates.io/crates/syn)&ensp;[![docs-rs]](crate)
    +
    //! [![github]](https://github.com/dtolnay/syn)&ensp;[![crates-io]](https://crates.io/crates/syn)&ensp;[![docs-rs]](crate)
     //!
     //! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
     //! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
    @@ -1234,7 +1234,7 @@
     //!   dynamic library libproc_macro from rustc toolchain.
     
     // Syn types in rustdoc of other crates get linked to here.
    -#![doc(html_root_url = "https://docs.rs/syn/1.0.107")]
    +#![doc(html_root_url = "https://docs.rs/syn/1.0.109")]
     #![cfg_attr(doc_cfg, feature(doc_cfg))]
     #![allow(non_camel_case_types)]
     #![allow(
    @@ -1966,5 +1966,4 @@
         file.shebang = shebang;
         Ok(file)
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/lifetime.rs.html b/src/syn/lifetime.rs.html index 1aa682e..ffe682d 100644 --- a/src/syn/lifetime.rs.html +++ b/src/syn/lifetime.rs.html @@ -1,4 +1,4 @@ -lifetime.rs - source
    1
    +lifetime.rs - source
    1
     2
     3
     4
    @@ -152,7 +152,7 @@
     152
     153
     154
    -
    use proc_macro2::{Ident, Span};
    +
    use proc_macro2::{Ident, Span};
     use std::cmp::Ordering;
     use std::fmt::{self, Display};
     use std::hash::{Hash, Hasher};
    @@ -306,5 +306,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/lit.rs.html b/src/syn/lit.rs.html index 8eabb7b..a5c0900 100644 --- a/src/syn/lit.rs.html +++ b/src/syn/lit.rs.html @@ -1,4 +1,4 @@ -lit.rs - source
    1
    +lit.rs - source
    1
     2
     3
     4
    @@ -1597,8 +1597,7 @@
     1597
     1598
     1599
    -1600
    -
    #[cfg(feature = "parsing")]
    +
    #[cfg(feature = "parsing")]
     use crate::lookahead;
     #[cfg(feature = "parsing")]
     use crate::parse::{Parse, Parser};
    @@ -2717,11 +2716,10 @@
                             b'\'' => '\'',
                             b'"' => '"',
                             b'\r' | b'\n' => loop {
    -                            let ch = next_chr(s);
    -                            if ch.is_whitespace() {
    -                                s = &s[ch.len_utf8()..];
    -                            } else {
    -                                continue 'outer;
    +                            let b = byte(s, 0);
    +                            match b {
    +                                b' ' | b'\t' | b'\n' | b'\r' => s = &s[1..],
    +                                _ => continue 'outer,
                                 }
                             },
                             b => panic!("unexpected byte {:?} after \\ character in byte literal", b),
    @@ -3198,5 +3196,4 @@
             Some(repr.parse::<Literal>().unwrap())
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/lookahead.rs.html b/src/syn/lookahead.rs.html index 101ab52..5e8f5d7 100644 --- a/src/syn/lookahead.rs.html +++ b/src/syn/lookahead.rs.html @@ -1,4 +1,4 @@ -lookahead.rs - source
    1
    +lookahead.rs - source
    1
     2
     3
     4
    @@ -167,7 +167,7 @@
     167
     168
     169
    -
    use crate::buffer::Cursor;
    +
    use crate::buffer::Cursor;
     use crate::error::{self, Error};
     use crate::sealed::lookahead::Sealed;
     use crate::span::IntoSpans;
    @@ -336,5 +336,4 @@
     }
     
     impl<F: Copy + FnOnce(TokenMarker) -> T, T: Token> Sealed for F {}
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/mac.rs.html b/src/syn/mac.rs.html index cf15ed7..9b6c4a5 100644 --- a/src/syn/mac.rs.html +++ b/src/syn/mac.rs.html @@ -1,4 +1,4 @@ -mac.rs - source
    1
    +mac.rs - source
    1
     2
     3
     4
    @@ -217,7 +217,7 @@
     217
     218
     219
    -
    use super::*;
    +
    use super::*;
     use crate::token::{Brace, Bracket, Paren};
     use proc_macro2::TokenStream;
     #[cfg(feature = "parsing")]
    @@ -436,5 +436,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/macros.rs.html b/src/syn/macros.rs.html index 7821e30..bb6e0e6 100644 --- a/src/syn/macros.rs.html +++ b/src/syn/macros.rs.html @@ -1,4 +1,4 @@ -macros.rs - source
    1
    +macros.rs - source
    1
     2
     3
     4
    @@ -175,7 +175,7 @@
     175
     176
     177
    -
    #[cfg_attr(
    +
    #[cfg_attr(
         not(any(feature = "full", feature = "derive")),
         allow(unknown_lints, unused_macro_rules)
     )]
    @@ -352,5 +352,4 @@
         (enum enum) => {};
         (pub pub) => {};
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/op.rs.html b/src/syn/op.rs.html index 3cfa6b1..6a9f909 100644 --- a/src/syn/op.rs.html +++ b/src/syn/op.rs.html @@ -1,4 +1,4 @@ -op.rs - source
    1
    +op.rs - source
    1
     2
     3
     4
    @@ -232,7 +232,7 @@
     232
     233
     234
    -
    ast_enum! {
    +
    ast_enum! {
         /// A binary operator: `+`, `+=`, `&`.
         ///
         /// *This type is available only if Syn is built with the `"derive"` or `"full"`
    @@ -466,5 +466,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/parse.rs.html b/src/syn/parse.rs.html index dcc5b80..5231e76 100644 --- a/src/syn/parse.rs.html +++ b/src/syn/parse.rs.html @@ -1,4 +1,4 @@ -parse.rs - source
    1
    +parse.rs - source
    1
     2
     3
     4
    @@ -1312,7 +1312,7 @@
     1312
     1313
     1314
    -
    //! Parsing interface for parsing a token stream into a syntax tree node.
    +
    //! Parsing interface for parsing a token stream into a syntax tree node.
     //!
     //! Parsing in Syn is built on parser functions that take in a [`ParseStream`]
     //! and produce a [`Result<T>`] where `T` is some syntax tree node. Underlying
    @@ -2626,5 +2626,4 @@
     impl Hash for Nothing {
         fn hash<H: Hasher>(&self, _state: &mut H) {}
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/parse_macro_input.rs.html b/src/syn/parse_macro_input.rs.html index b140d77..4e00ac4 100644 --- a/src/syn/parse_macro_input.rs.html +++ b/src/syn/parse_macro_input.rs.html @@ -1,4 +1,4 @@ -parse_macro_input.rs - source
    1
    +parse_macro_input.rs - source
    1
     2
     3
     4
    @@ -177,7 +177,7 @@
     177
     178
     179
    -
    /// Parse the input TokenStream of a macro, triggering a compile error if the
    +
    /// Parse the input TokenStream of a macro, triggering a compile error if the
     /// tokens fail to parse.
     ///
     /// Refer to the [`parse` module] documentation for more details about parsing
    @@ -356,5 +356,4 @@
             Ok(metas)
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/parse_quote.rs.html b/src/syn/parse_quote.rs.html index 90fcae0..7186e76 100644 --- a/src/syn/parse_quote.rs.html +++ b/src/syn/parse_quote.rs.html @@ -1,4 +1,4 @@ -parse_quote.rs - source
    1
    +parse_quote.rs - source
    1
     2
     3
     4
    @@ -165,7 +165,7 @@
     165
     166
     167
    -
    /// Quasi-quotation macro that accepts input like the [`quote!`] macro but uses
    +
    /// Quasi-quotation macro that accepts input like the [`quote!`] macro but uses
     /// type inference to figure out a return type for those tokens.
     ///
     /// [`quote!`]: https://docs.rs/quote/1.0/quote/index.html
    @@ -332,5 +332,4 @@
             Block::parse_within(input)
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/path.rs.html b/src/syn/path.rs.html index 5318e53..8a917dd 100644 --- a/src/syn/path.rs.html +++ b/src/syn/path.rs.html @@ -1,4 +1,4 @@ -path.rs - source
    1
    +path.rs - source
    1
     2
     3
     4
    @@ -852,7 +852,7 @@
     852
     853
     854
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::Punctuated;
     
     ast_struct! {
    @@ -1706,5 +1706,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/print.rs.html b/src/syn/print.rs.html index a546a03..fc18f49 100644 --- a/src/syn/print.rs.html +++ b/src/syn/print.rs.html @@ -1,4 +1,4 @@ -print.rs - source
    1
    +print.rs - source
    1
     2
     3
     4
    @@ -14,7 +14,7 @@
     14
     15
     16
    -
    use proc_macro2::TokenStream;
    +
    use proc_macro2::TokenStream;
     use quote::ToTokens;
     
     pub struct TokensOrDefault<'a, T: 'a>(pub &'a Option<T>);
    @@ -30,5 +30,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/punctuated.rs.html b/src/syn/punctuated.rs.html index 01b9ae4..aa0229e 100644 --- a/src/syn/punctuated.rs.html +++ b/src/syn/punctuated.rs.html @@ -1,4 +1,4 @@ -punctuated.rs - source
    1
    +punctuated.rs - source
    1
     2
     3
     4
    @@ -1085,7 +1085,7 @@
     1085
     1086
     1087
    -
    //! A punctuated sequence of syntax tree nodes separated by punctuation.
    +
    //! A punctuated sequence of syntax tree nodes separated by punctuation.
     //!
     //! Lots of things in Rust are punctuated sequences.
     //!
    @@ -2172,5 +2172,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/sealed.rs.html b/src/syn/sealed.rs.html index 11f0a1d..5970316 100644 --- a/src/syn/sealed.rs.html +++ b/src/syn/sealed.rs.html @@ -1,10 +1,9 @@ -sealed.rs - source
    1
    +sealed.rs - source
    1
     2
     3
     4
    -
    #[cfg(feature = "parsing")]
    +
    #[cfg(feature = "parsing")]
     pub mod lookahead {
         pub trait Sealed: Copy {}
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/span.rs.html b/src/syn/span.rs.html index bed309a..2061ee4 100644 --- a/src/syn/span.rs.html +++ b/src/syn/span.rs.html @@ -1,4 +1,4 @@ -span.rs - source
    1
    +span.rs - source
    1
     2
     3
     4
    @@ -65,7 +65,7 @@
     65
     66
     67
    -
    use proc_macro2::Span;
    +
    use proc_macro2::Span;
     
     pub trait IntoSpans<S> {
         fn into_spans(self) -> S;
    @@ -132,5 +132,4 @@
             [spans[0], spans[1], spans[2]]
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/spanned.rs.html b/src/syn/spanned.rs.html index f2a9ea0..add31bf 100644 --- a/src/syn/spanned.rs.html +++ b/src/syn/spanned.rs.html @@ -1,4 +1,4 @@ -spanned.rs - source
    1
    +spanned.rs - source
    1
     2
     3
     4
    @@ -112,7 +112,7 @@
     112
     113
     114
    -
    //! A trait that can provide the `Span` of the complete contents of a syntax
    +
    //! A trait that can provide the `Span` of the complete contents of a syntax
     //! tree node.
     //!
     //! *This module is available only if Syn is built with both the `"parsing"` and
    @@ -226,5 +226,4 @@
             self.__span()
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/thread.rs.html b/src/syn/thread.rs.html index f44293e..d9bdabb 100644 --- a/src/syn/thread.rs.html +++ b/src/syn/thread.rs.html @@ -1,4 +1,4 @@ -thread.rs - source
    1
    +thread.rs - source
    1
     2
     3
     4
    @@ -39,7 +39,7 @@
     39
     40
     41
    -
    use std::fmt::{self, Debug};
    +
    use std::fmt::{self, Debug};
     use std::thread::{self, ThreadId};
     
     /// ThreadBound is a Sync-maker and Send-maker that allows accessing a value
    @@ -80,5 +80,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/token.rs.html b/src/syn/token.rs.html index 63a8c57..e4faf4f 100644 --- a/src/syn/token.rs.html +++ b/src/syn/token.rs.html @@ -1,4 +1,4 @@ -token.rs - source
    1
    +token.rs - source
    1
     2
     3
     4
    @@ -1011,7 +1011,7 @@
     1011
     1012
     1013
    -
    //! Tokens representing Rust punctuation, keywords, and delimiters.
    +
    //! Tokens representing Rust punctuation, keywords, and delimiters.
     //!
     //! The type names in this module can be difficult to keep straight, so we
     //! prefer to use the [`Token!`] macro instead. This is a type-macro that
    @@ -2024,5 +2024,4 @@
             tokens.append(g);
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/tt.rs.html b/src/syn/tt.rs.html index 4355cca..aa3c9d5 100644 --- a/src/syn/tt.rs.html +++ b/src/syn/tt.rs.html @@ -1,4 +1,4 @@ -tt.rs - source
    1
    +tt.rs - source
    1
     2
     3
     4
    @@ -105,7 +105,7 @@
     105
     106
     107
    -
    use proc_macro2::{Delimiter, TokenStream, TokenTree};
    +
    use proc_macro2::{Delimiter, TokenStream, TokenTree};
     use std::hash::{Hash, Hasher};
     
     pub struct TokenTreeHelper<'a>(pub &'a TokenTree);
    @@ -212,5 +212,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/ty.rs.html b/src/syn/ty.rs.html index 3718a64..e0d44c5 100644 --- a/src/syn/ty.rs.html +++ b/src/syn/ty.rs.html @@ -1,4 +1,4 @@ -ty.rs - source
    1
    +ty.rs - source
    1
     2
     3
     4
    @@ -1302,7 +1302,7 @@
     1302
     1303
     1304
    -
    use super::*;
    +
    use super::*;
     use crate::punctuated::Punctuated;
     use proc_macro2::TokenStream;
     
    @@ -2606,5 +2606,4 @@
             }
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/syn/verbatim.rs.html b/src/syn/verbatim.rs.html index 09508e8..fdedb31 100644 --- a/src/syn/verbatim.rs.html +++ b/src/syn/verbatim.rs.html @@ -1,4 +1,4 @@ -verbatim.rs - source
    1
    +verbatim.rs - source
    1
     2
     3
     4
    @@ -31,7 +31,7 @@
     31
     32
     33
    -
    use crate::parse::{ParseBuffer, ParseStream};
    +
    use crate::parse::{ParseBuffer, ParseStream};
     use proc_macro2::{Delimiter, TokenStream};
     use std::cmp::Ordering;
     use std::iter;
    @@ -64,5 +64,4 @@
         }
         tokens
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/synstructure/lib.rs.html b/src/synstructure/lib.rs.html index 83c752c..512820c 100644 --- a/src/synstructure/lib.rs.html +++ b/src/synstructure/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -2486,7 +2486,7 @@
     2486
     2487
     2488
    -
    //! This crate provides helper types for matching against enum variants, and
    +
    //! This crate provides helper types for matching against enum variants, and
     //! extracting bindings to each of the fields in the deriving Struct or Enum in
     //! a generic way.
     //!
    @@ -4974,5 +4974,4 @@
             );
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/synstructure/macros.rs.html b/src/synstructure/macros.rs.html index f87b7d0..828f8e2 100644 --- a/src/synstructure/macros.rs.html +++ b/src/synstructure/macros.rs.html @@ -1,4 +1,4 @@ -macros.rs - source
    1
    +macros.rs - source
    1
     2
     3
     4
    @@ -248,7 +248,7 @@
     248
     249
     250
    -
    //! This module provides two utility macros for testing custom derives. They can
    +
    //! This module provides two utility macros for testing custom derives. They can
     //! be used together to eliminate some of the boilerplate required in order to
     //! declare and test custom derive implementations.
     
    @@ -498,5 +498,4 @@ got:
             }
         };
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/unicode_ident/lib.rs.html b/src/unicode_ident/lib.rs.html index 67eb301..9b89e6e 100644 --- a/src/unicode_ident/lib.rs.html +++ b/src/unicode_ident/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -266,7 +266,8 @@
     266
     267
     268
    -
    //! [![github]](https://github.com/dtolnay/unicode-ident)&ensp;[![crates-io]](https://crates.io/crates/unicode-ident)&ensp;[![docs-rs]](https://docs.rs/unicode-ident)
    +269
    +
    //! [![github]](https://github.com/dtolnay/unicode-ident)&ensp;[![crates-io]](https://crates.io/crates/unicode-ident)&ensp;[![docs-rs]](https://docs.rs/unicode-ident)
     //!
     //! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
     //! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
    @@ -311,10 +312,10 @@
     //!
     //! | | static storage | 0% nonascii | 1% | 10% | 100% nonascii |
     //! |---|---|---|---|---|---|
    -//! | **`unicode-ident`** | 9.75 K | 0.96 ns | 0.95 ns | 1.09 ns | 1.55 ns |
    -//! | **`unicode-xid`** | 11.34 K | 1.88 ns | 2.14 ns | 3.48 ns | 15.63 ns |
    -//! | **`ucd-trie`** | 9.95 K | 1.29 ns | 1.28 ns | 1.36 ns | 2.15 ns |
    -//! | **`fst`** | 133 K | 55.1 ns | 54.9 ns | 53.2 ns | 28.5 ns |
    +//! | **`unicode-ident`** | 10.1 K | 0.96 ns | 0.95 ns | 1.09 ns | 1.55 ns |
    +//! | **`unicode-xid`** | 11.5 K | 1.88 ns | 2.14 ns | 3.48 ns | 15.63 ns |
    +//! | **`ucd-trie`** | 10.2 K | 1.29 ns | 1.28 ns | 1.36 ns | 2.15 ns |
    +//! | **`fst`** | 139 K | 55.1 ns | 54.9 ns | 53.2 ns | 28.5 ns |
     //! | **`roaring`** | 66.1 K | 2.78 ns | 3.09 ns | 3.37 ns | 4.70 ns |
     //!
     //! Source code for the benchmark is provided in the *bench* directory of this
    @@ -510,6 +511,7 @@
     //! this data structure is straight-line code with no need for branching.
     
     #![no_std]
    +#![doc(html_root_url = "https://docs.rs/unicode-ident/1.0.12")]
     #![allow(clippy::doc_markdown, clippy::must_use_candidate)]
     
     #[rustfmt::skip]
    @@ -534,5 +536,4 @@
         let offset = chunk as usize * CHUNK / 2 + ch as usize / 8 % CHUNK;
         unsafe { LEAF.0.get_unchecked(offset) }.wrapping_shr(ch as u32 % 8) & 1 != 0
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/unicode_ident/tables.rs.html b/src/unicode_ident/tables.rs.html index b76d460..09d67b1 100644 --- a/src/unicode_ident/tables.rs.html +++ b/src/unicode_ident/tables.rs.html @@ -1,4 +1,4 @@ -tables.rs - source
    1
    +tables.rs - source
    1
     2
     3
     4
    @@ -645,7 +645,11 @@
     645
     646
     647
    -
    // @generated by ../generate. To regenerate, run the following in the repo root:
    +648
    +649
    +650
    +651
    +
    // @generated by ../generate. To regenerate, run the following in the repo root:
     //
     // $ curl -LO https://www.unicode.org/Public/zipped/15.0.0/UCD.zip
     // $ unzip UCD.zip -d UCD
    @@ -699,7 +703,7 @@
         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
         0x05, 0x05, 0x05, 0xE0, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x52, 0xE3, 0x05, 0x05, 0x05,
         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE6, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
    -    0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xE9, 0x00, 0x00,
    +    0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x05, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEB, 0x00, 0x00,
         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE4, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
         0x05, 0xE7,
     ]);
    @@ -728,7 +732,7 @@
         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
         0x05, 0x05, 0x05, 0xE0, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x52, 0xE3, 0x05, 0x05, 0x05,
         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE6, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
    -    0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xE9, 0x00, 0x00,
    +    0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x05, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEB, 0x00, 0x00,
         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE4, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
         0x05, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    @@ -820,7 +824,7 @@
         0xC2,
     ]);
     
    -pub(crate) static LEAF: Align64<[u8; 7520]> = Align64([
    +pub(crate) static LEAF: Align64<[u8; 7584]> = Align64([
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    @@ -963,7 +967,7 @@
         0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x84, 0xFC, 0x2F, 0x3F, 0x50, 0xFD, 0xFF, 0xF3, 0xE0, 0x43, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x80,
    +    0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x80,
         0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x1F, 0xE2, 0xFF, 0x01, 0x00,
         0x84, 0xFC, 0x2F, 0x3F, 0x50, 0xFD, 0xFF, 0xF3, 0xE0, 0x43, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    @@ -980,7 +984,7 @@
         0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
         0xE0, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x3E, 0x1F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    -    0xFF, 0xFF, 0x7F, 0xE6, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
    +    0xFF, 0xFF, 0x7F, 0xE6, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    @@ -1031,7 +1035,7 @@
         0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
         0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAA,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
    -    0x00, 0x00, 0xFF, 0x03, 0xFE, 0xFF, 0xFF, 0x87, 0xFE, 0xFF, 0xFF, 0x07, 0xC0, 0xFF, 0xFF, 0xFF,
    +    0x00, 0x00, 0xFF, 0x03, 0xFE, 0xFF, 0xFF, 0x87, 0xFE, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
         0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xB7, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
    @@ -1274,7 +1278,7 @@
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    -    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00,
    +    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    @@ -1287,10 +1291,13 @@
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     ]);
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/unicode_xid/lib.rs.html b/src/unicode_xid/lib.rs.html index 476b1a5..5f7e1da 100644 --- a/src/unicode_xid/lib.rs.html +++ b/src/unicode_xid/lib.rs.html @@ -1,5 +1,4 @@ -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    @@ -91,7 +90,7 @@
     90
     91
     92
    -
    // Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
    +
    // Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
     // file at the top-level directory of this distribution and at
     // http://rust-lang.org/COPYRIGHT.
     //
    @@ -183,5 +182,4 @@
                 || (self > '\x7f' && derived_property::XID_Continue(self))
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/src/unicode_xid/tables.rs.html b/src/unicode_xid/tables.rs.html index 732615c..0d01635 100644 --- a/src/unicode_xid/tables.rs.html +++ b/src/unicode_xid/tables.rs.html @@ -1,5 +1,4 @@ -tables.rs - source
    1
    +tables.rs - source
    1
     2
     3
     4
    @@ -1493,7 +1492,7 @@
     1492
     1493
     1494
    -
    // Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
    +
    // Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
     // file at the top-level directory of this distribution and at
     // http://rust-lang.org/COPYRIGHT.
     //
    @@ -2987,5 +2986,4 @@
             super::bsearch_range_table(c, XID_Start_table)
         }
     }
    -
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/static.files/COPYRIGHT-002d5dd09d9a4f50.txt b/static.files/COPYRIGHT-23e9bde6c69aea69.txt similarity index 97% rename from static.files/COPYRIGHT-002d5dd09d9a4f50.txt rename to static.files/COPYRIGHT-23e9bde6c69aea69.txt index 34e4813..1447df7 100644 --- a/static.files/COPYRIGHT-002d5dd09d9a4f50.txt +++ b/static.files/COPYRIGHT-23e9bde6c69aea69.txt @@ -1,3 +1,5 @@ +# REUSE-IgnoreStart + These documentation pages include resources by third parties. This copyright file applies only to those resources. The following third party resources are included, and carry their own copyright notices and license terms: @@ -44,3 +46,5 @@ included, and carry their own copyright notices and license terms: See SourceSerif4-LICENSE.md. This copyright file is intended to be distributed with rustdoc output. + +# REUSE-IgnoreEnd diff --git a/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt b/static.files/FiraSans-LICENSE-db4b642586e02d97.txt similarity index 99% rename from static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt rename to static.files/FiraSans-LICENSE-db4b642586e02d97.txt index ff9afab..d7e9c14 100644 --- a/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt +++ b/static.files/FiraSans-LICENSE-db4b642586e02d97.txt @@ -1,3 +1,5 @@ +// REUSE-IgnoreStart + Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A. with Reserved Font Name < Fira >, @@ -92,3 +94,5 @@ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +// REUSE-IgnoreEnd diff --git a/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt b/static.files/NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt similarity index 99% rename from static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt rename to static.files/NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt index 0bf4668..4b3edc2 100644 --- a/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt +++ b/static.files/NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt @@ -1,3 +1,5 @@ +// REUSE-IgnoreStart + Copyright (c) 2010, NAVER Corporation (https://www.navercorp.com/), with Reserved Font Name Nanum, Naver Nanum, NanumGothic, Naver NanumGothic, @@ -97,3 +99,5 @@ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +// REUSE-IgnoreEnd diff --git a/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt b/static.files/SourceCodePro-LICENSE-d180d465a756484a.txt similarity index 99% rename from static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt rename to static.files/SourceCodePro-LICENSE-d180d465a756484a.txt index 0754257..0d2941e 100644 --- a/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt +++ b/static.files/SourceCodePro-LICENSE-d180d465a756484a.txt @@ -1,3 +1,5 @@ +// REUSE-IgnoreStart + Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. @@ -91,3 +93,5 @@ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +// REUSE-IgnoreEnd diff --git a/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 b/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 deleted file mode 100644 index db57d21455c94e80aa7cca25cac803a08e1b01ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81320 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 z 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 diff --git a/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md b/static.files/SourceSerif4-LICENSE-3bb119e13b1258b7.md similarity index 94% rename from static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md rename to static.files/SourceSerif4-LICENSE-3bb119e13b1258b7.md index 68ea189..175fa4f 100644 --- a/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md +++ b/static.files/SourceSerif4-LICENSE-3bb119e13b1258b7.md @@ -1,4 +1,7 @@ + + Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. +Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. This Font Software is licensed under the SIL Open Font License, Version 1.1. @@ -91,3 +94,5 @@ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + + diff --git a/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 b/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 deleted file mode 100644 index 2db73fe2b49e8cfcaaf1d5311a610e730b8ed502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76180 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 bu|mph$&(HUWF(dUHMA0&Dk&@;d5-}Ad{}Pp diff --git a/static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 b/static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0263fc304226d90e224e53053855ad138303b70b GIT binary patch literal 76260 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 z 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 literal 0 HcmV?d00001 diff --git a/static.files/ayu-8af5e100b21cd173.css b/static.files/ayu-8af5e100b21cd173.css deleted file mode 100644 index bb44d9a..0000000 --- a/static.files/ayu-8af5e100b21cd173.css +++ /dev/null @@ -1 +0,0 @@ - :root{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--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%);--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);--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-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--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;--example-line-numbers-border-color:none;--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);--tooltip-background-color:#314559;--tooltip-color:#c5c5c5;--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;--source-sidebar-background-selected:#14191f;--source-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;}h1,h2,h3,h4{color:white;}h1 a{color:#fff;}h4{border:none;}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}.item-info code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;}.sidebar .current,.sidebar a:hover{color:#ffb44c;}.sidebar-elems .location{color:#ff7733;}.src-line-numbers .line-highlighted{color:#708090;padding-right:4px;border-right:1px solid #ffb44c;}.search-results a:hover{color:#fff !important;background-color:#3c3c3c;}.search-results a:focus{color:#fff !important;background-color:#3c3c3c;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.sidebar h2 a,.sidebar h3 a{color:white;}body.source .example-wrap pre.rust a{background:#333;}.module-item .stab,.import-item .stab{color:#000;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}pre.rust .lifetime{}pre.rust .kw{}#titles>button:hover,#titles>button.selected{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute{}pre.rust .kw-2,pre.rust .prelude-ty{}#settings-menu>a img{filter:invert(100);}#source-sidebar>.title{color:#fff;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus,#source-sidebar div.files>a.selected{color:#ffb44c;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/static.files/dark-f23faae4a2daf9a6.css b/static.files/dark-f23faae4a2daf9a6.css deleted file mode 100644 index 64d4dec..0000000 --- a/static.files/dark-f23faae4a2daf9a6.css +++ /dev/null @@ -1 +0,0 @@ -:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--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%);--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);--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-results-alias-color:#fff;--search-results-grey-color:#ccc;--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;--example-line-numbers-border-color:#4a4949;--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;--tooltip-background-color:#000;--tooltip-color:#fff;--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;--source-sidebar-background-selected:#333;--source-sidebar-background-hover:#444;--table-alt-row-background-color:#2A2A2A;}.content .item-info::before{color:#ccc;}body.source .example-wrap pre.rust a{background:#333;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/static.files/down-arrow-927217e04c7463ac.svg b/static.files/down-arrow-927217e04c7463ac.svg deleted file mode 100644 index 5d76a64..0000000 --- a/static.files/down-arrow-927217e04c7463ac.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static.files/light-ebce58d0a40c3431.css b/static.files/light-ebce58d0a40c3431.css deleted file mode 100644 index ec0cb61..0000000 --- a/static.files/light-ebce58d0a40c3431.css +++ /dev/null @@ -1 +0,0 @@ -:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--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;--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);--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-results-alias-color:#000;--search-results-grey-color:#999;--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;--example-line-numbers-border-color:#c7c7c7;--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:#4e8bca;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--tooltip-background-color:#000;--tooltip-color:#fff;--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;--source-sidebar-background-selected:#fff;--source-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#F5F5F5;}.content .item-info::before{color:#ccc;}body.source .example-wrap pre.rust a{background:#eee;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file diff --git a/static.files/main-c55e1eb52e1886b4.js b/static.files/main-c55e1eb52e1886b4.js deleted file mode 100644 index 0b952c2..0000000 --- a/static.files/main-c55e1eb52e1886b4.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict";function getVar(name){const el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}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 elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileLocationTitle=document.querySelector(".mobile-topbar h2");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}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 loadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.type="text/css";link.rel="stylesheet";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();loadCss(getVar("static-root-path")+getVar("settings-css"));loadScript(getVar("static-root-path")+getVar("settings-js"))};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},hideResults:()=>{switchDisplayedElement(null);document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");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)},};function getPageId(){if(window.location.hash){const tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}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()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}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();switchDisplayedElement(null);if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}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"){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 h3=document.createElement("h3");h3.innerHTML=`
    ${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const item of filtered){const name=item[0];const desc=item[1];let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();const link=document.createElement("a");link.href=path;link.title=desc;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("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Definitions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");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("h1.fqn > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=script?script.getAttribute("data-ignore-extern-crates"):"";for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.indexOf(lib)!==-1){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.indexOf("http")!==0){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)}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";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");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("rustdoc-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("rustdoc-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("rustdoc-toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});const pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());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()}let oldSidebarScrollPosition=null;window.rustdocMobileScrollLock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(window.innerWidth<=window.RUSTDOC_MOBILE_BREAKPOINT){oldSidebarScrollPosition=window.scrollY;document.body.style.width=`${document.body.offsetWidth}px`;document.body.style.position="fixed";document.body.style.top=`-${oldSidebarScrollPosition}px`;if(mobile_topbar){mobile_topbar.style.top=`${oldSidebarScrollPosition}px`;mobile_topbar.style.position="relative"}}else{oldSidebarScrollPosition=null}};window.rustdocMobileScrollUnlock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(oldSidebarScrollPosition!==null){document.body.style.width="";document.body.style.position="";document.body.style.top="";if(mobile_topbar){mobile_topbar.style.top="";mobile_topbar.style.position=""}window.scrollTo(0,oldSidebarScrollPosition);oldSidebarScrollPosition=null}};function showSidebar(){window.hideAllModals(false);window.rustdocMobileScrollLock();const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){window.rustdocMobileScrollUnlock();const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.innerWidth>window.RUSTDOC_MOBILE_BREAKPOINT&&oldSidebarScrollPosition!==null){hideSidebar()}if(window.CURRENT_NOTABLE_ELEMENT){const base=window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE;const force_visible=base.NOTABLE_FORCE_VISIBLE;hideNotable(false);if(force_visible){showNotable(base);base.NOTABLE_FORCE_VISIBLE=true}}});function handleClick(id,f){const elem=document.getElementById(id);if(elem){elem.addEventListener("click",f)}}handleClick(MAIN_ID,()=>{hideSidebar()});onEachLazy(document.getElementsByTagName("a"),el=>{if(el.hash){el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})}});onEachLazy(document.querySelectorAll(".rustdoc-toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showNotable(e){if(!window.NOTABLE_TRAITS){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showNotable() called on page without any notable traits!")}}if(window.CURRENT_NOTABLE_ELEMENT&&window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE===e){return}window.hideAllModals(false);const ty=e.getAttribute("data-ty");const wrapper=document.createElement("div");wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[ty]+"
    ";wrapper.className="notable popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideNotable;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_NOTABLE_ELEMENT=wrapper;window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE=e;wrapper.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!e.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,e)){hideNotable(true)}}}function notableBlurHandler(event){if(window.CURRENT_NOTABLE_ELEMENT&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)){setTimeout(()=>hideNotable(false),0)}}function hideNotable(focus){if(window.CURRENT_NOTABLE_ELEMENT){if(window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE){if(focus){window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.focus()}window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_NOTABLE_ELEMENT);window.CURRENT_NOTABLE_ELEMENT=null}}onEachLazy(document.getElementsByClassName("notable-traits"),e=>{e.onclick=function(){this.NOTABLE_FORCE_VISIBLE=this.NOTABLE_FORCE_VISIBLE?false:true;if(window.CURRENT_NOTABLE_ELEMENT&&!this.NOTABLE_FORCE_VISIBLE){hideNotable(true)}else{showNotable(this);window.CURRENT_NOTABLE_ELEMENT.setAttribute("tabindex","0");window.CURRENT_NOTABLE_ELEMENT.focus();window.CURRENT_NOTABLE_ELEMENT.onblur=notableBlurHandler}return false};e.onpointerenter=function(ev){if(ev.pointerType!=="mouse"){return}showNotable(this)};e.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!this.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)){hideNotable(true)}}});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");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=["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)","Search multiple things at once by splitting your query with comma (e.g., \ - str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","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;container.onclick=event=>{event.preventDefault()};help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=function(switchFocus){hideSidebar();window.hidePopoverMenus();hideNotable(switchFocus)};window.hidePopoverMenus=function(){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(){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(){let reset_button_timeout=null;window.copy_path=but=>{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/main-c5bd66d33317d69f.js b/static.files/main-c5bd66d33317d69f.js new file mode 100644 index 0000000..43133d6 --- /dev/null +++ b/static.files/main-c5bd66d33317d69f.js @@ -0,0 +1,12 @@ +"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 elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){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&&locationTitle){const mobileTitle=document.createElement("h2");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("=");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)}}}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 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=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();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("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");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&&!/^(?:[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)}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";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");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&&!elemIsInParent(ev.relatedTarget,e)){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&&!elemIsInParent(document.activeElement,window.CURRENT_TOOLTIP_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE)){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&&!elemIsInParent(ev.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT)){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(){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-13285aec31fa243e.css b/static.files/noscript-13285aec31fa243e.css deleted file mode 100644 index c32e0cb..0000000 --- a/static.files/noscript-13285aec31fa243e.css +++ /dev/null @@ -1 +0,0 @@ - #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}nav.sub{display:none;}.source .sidebar{display:none;}.notable-traits{display:none;} \ No newline at end of file diff --git a/static.files/noscript-5d8b3c7633ad77ba.css b/static.files/noscript-5d8b3c7633ad77ba.css new file mode 100644 index 0000000..8c63ef0 --- /dev/null +++ b/static.files/noscript-5d8b3c7633ad77ba.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}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;--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);}@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%);--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);}} \ No newline at end of file diff --git a/static.files/rustdoc-6827029ac823cab7.css b/static.files/rustdoc-6827029ac823cab7.css deleted file mode 100644 index 2b164e8..0000000 --- a/static.files/rustdoc-6827029ac823cab7.css +++ /dev/null @@ -1 +0,0 @@ - @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-1f7d512b176f0f72.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-d034fe4ef9d0fa00.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-124a1ca42af929b6.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;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";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;}h1.fqn{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);}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-left>a,.out-of-band,span.since,a.srclink,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.item-left .stab,.result-name .primitive>i,.result-name .keyword>i{color:var(--main-color);}.content span.enum,.content a.enum,.content span.struct,.content a.struct,.content span.union,.content a.union,.content span.primitive,.content a.primitive,.content span.type,.content a.type,.content span.foreigntype,.content a.foreigntype{color:var(--type-link-color);}.content span.trait,.content a.trait,.content span.traitalias,.content a.traitalias{color:var(--trait-link-color);}.content span.associatedtype,.content a.associatedtype,.content span.constant,.content a.constant,.content span.static,.content a.static{color:var(--assoc-item-link-color);}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod{color:var(--function-link-color);}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:var(--macro-link-color);}.content span.mod,.content a.mod{color:var(--mod-link-color);}.content span.keyword,.content a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}p: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;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-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;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}.source .content{overflow:visible;}.sub-logo-container,.logo-container{line-height:0;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:var(--sidebar-background-color);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.rustdoc.source .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.source .sidebar,#sidebar-toggle,#source-sidebar{background-color:var(--sidebar-background-color);}#sidebar-toggle>button:hover,#sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.source .sidebar>*:not(#sidebar-toggle){visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;flex-basis:300px;}.source-sidebar-expanded .source .sidebar>*:not(#sidebar-toggle){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;}.sidebar .logo-container{margin-top:10px;margin-bottom:10px;text-align:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}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;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>h2{padding-left:24px;}.sidebar a,.sidebar .current{color:var(--sidebar-link-color);}.sidebar .current,.sidebar a:hover{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;}.mobile-topbar{display:none;}.source .content pre.rust{overflow:auto;padding-left:0;}.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;overflow-x:auto;}.rustdoc .example-wrap>pre.example-line-numbers,.rustdoc .example-wrap>pre.src-line-numbers{flex-grow:0;overflow:initial;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.example-line-numbers{border:1px solid;padding:13px 8px;border-top-left-radius:5px;border-bottom-left-radius:5px;border-color:var(--example-line-numbers-border-color);}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);}.src-line-numbers :target{background-color:transparent;border-right:none;padding-right:0;}.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;overflow:hidden;text-overflow:ellipsis;}.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.source .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);}.method .where,.fn .where,.where.fmt-newline{display:block;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;}.source nav.sub{margin:0 0 15px 0;}.source .search-form{margin-left:32px;}a{text-decoration:none;}.small-section-header{display:block;position:relative;}.small-section-header:hover>.anchor{display:initial;}.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap>pre.rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.crate.block a.current{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{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);}@-moz-document url-prefix(){#crate-search{padding-left:0px;padding-right:19px;}}#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("down-arrow-927217e04c7463ac.svg");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{flex:1;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name span.alias{color:var(--search-results-alias-color);}.search-results .result-name span.grey{color:var(--search-results-grey-color);}.popover{position:absolute;top:100%;right:0;z-index:2;display:block;margin-top:7px;border-radius:3px;border:1px solid var(--border-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;padding:4px;transform:rotate(-45deg);top:-5px;}.popover,.popover::before{background-color:var(--main-background-color);color:var(--main-color);}#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{width:fit-content;min-height:36px;display:flex;align-items:center;white-space:pre-wrap;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.docblock .stab{padding:0 0.125em;margin-bottom:0;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.item-left .stab{border-radius:3px;display:inline-block;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.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);}.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;}.example-wrap .tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;border:1px solid var(--border-color);position:absolute;width:max-content;top:-2px;z-index:1;background-color:var(--tooltip-background-color);color:var(--tooltip-color);}.example-wrap .tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;display:none;z-index:1;border:5px solid transparent;border-right-color:var(--tooltip-background-color);}.example-wrap.ignore .tooltip::after{content:"This example is not tested";}.example-wrap.compile_fail .tooltip::after{content:"This example deliberately fails to compile";}.example-wrap.should_panic .tooltip::after{content:"This example panics";}.example-wrap.edition .tooltip::after{content:"This code runs with edition " attr(data-edition);}.example-wrap .tooltip:hover::before,.example-wrap .tooltip:hover::after{display:inline;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}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;}.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);}.notable-traits{color:inherit;margin-right:15px;position:relative;}.notable-traits:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.notable .docblock{margin:0.25em 0.5em;}.notable .docblock pre,.notable .docblock code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.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;}#titles{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#titles>button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#titles>button>div.count{display:inline-block;font-size:1rem;}#sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#source-sidebar{width:100%;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--source-sidebar-background-hover);}#source-sidebar div.files>a.selected{background-color:var(--source-sidebar-background-selected);}#sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#settings-menu>a,#help-button>a,#copy-path{width:33px;}#settings-menu>a,#help-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;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus{border-color:var(--settings-button-border-focus);}#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;}#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;cursor:default;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::after{content:" ►";position:absolute;left:-15px;top:0px;font-size:80%;padding:2px 0px;width:25px;}details[open].dir-entry>summary::after{content:" ▼";}details.dir-entry>summary::-webkit-details-marker,details.dir-entry>summary::marker{display:none;}details.dir-entry>summary{margin:0 0 0 13px;list-style:none;cursor:pointer;position:relative;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.rustdoc-toggle{contain:layout;position:relative;}details.rustdoc-toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.rustdoc-toggle>summary{list-style:none;outline:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{background:url("toggle-plus-1092eb4930d581b0.svg") no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.rustdoc-toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before{background:url("toggle-minus-31bbd6e4c77f5c96.svg") no-repeat top left;}details.rustdoc-toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@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 .sidebar-logo,.sidebar .location{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.source main,.rustdoc.source .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{width: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;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.content{margin-left:0px;}.anchor{display:none !important;}#titles>button>div.count{display:block;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}#sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.source-sidebar-expanded #sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}.item-table,.item-row,.item-left,.item-right,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.source nav.sub{margin:0;padding:8px;}}@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.srclink,#copy-path,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle>summary::before,details.rustdoc-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;}.sub-logo-container>img{height:35px;width:35px;}#sidebar-toggle{top:10px;}.source-sidebar-expanded #sidebar-toggle{top:unset;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.rustdoc-toggle>summary,.methods>section,.methods>.rustdoc-toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.impl-items>.rustdoc-toggle[open]:not(:last-child),.methods>.rustdoc-toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.rustdoc-toggle:not(:last-child),#synthetic-implementations-list .impl-items>.rustdoc-toggle:not(:last-child),#blanket-implementations-list .impl-items>.rustdoc-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-width:1px;border-style:solid;border-radius:50px;}.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;}.scraped-example:not(.expanded) .code-wrapper:after{bottom:0;}.scraped-example .code-wrapper .src-line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .src-line-numbers a,.scraped-example .code-wrapper .src-line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{display:grid;grid-template-columns:max-content auto;width:100%;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;}.example-links ul{margin-bottom:0;} \ No newline at end of file diff --git a/static.files/rustdoc-fa3bb1812debf86c.css b/static.files/rustdoc-fa3bb1812debf86c.css new file mode 100644 index 0000000..2dd5ceb --- /dev/null +++ b/static.files/rustdoc-fa3bb1812debf86c.css @@ -0,0 +1,10 @@ + :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;}@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,.small-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%;}.sub-logo-container,.logo-container{line-height:0;display:block;}.sub-logo-container{margin-right:32px;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;}.rustdoc.src .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;z-index:1;}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}#src-sidebar-toggle>button:hover,#src-sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.src .sidebar>*:not(#src-sidebar-toggle){visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:300px;}.src-sidebar-expanded .src .sidebar>*:not(#src-sidebar-toggle){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;}.sidebar .logo-container{margin-top:10px;margin-bottom:10px;text-align:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}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;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.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;}.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);}.method .where,.fn .where,.where.fmt-newline{display:block;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;}.small-section-header{display:block;position:relative;}.small-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;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block a.current{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:2;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{min-height:36px;display:flex;padding:3px;margin-bottom:5px;align-items:center;vertical-align:text-bottom;}.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;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.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;}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-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#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-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#settings-menu>a,#help-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{border-color:var(--settings-button-border-focus);}#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;}@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{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;}.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;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#src-sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.src-sidebar-expanded #src-sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}.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{max-width:100vw;width:100vw;}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;}.sub-logo-container>img{height:35px;width:35px;margin-bottom:var(--nav-sub-mobile-padding);}}.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;--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);}: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%);--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);}: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%);--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);}: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,:root[data-theme="ayu"] #source-sidebar>.title{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 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{filter:invert(100);} \ No newline at end of file diff --git a/static.files/search-444266647c4dba98.js b/static.files/search-444266647c4dba98.js deleted file mode 100644 index bf59e1d..0000000 --- a/static.files/search-444266647c4dba98.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("titles").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}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}else if(nb!==0){printTab(0)}}const levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}const s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){let i1=0,i2=0,a,b,c,c2;const row=levenshtein_row2;while(i1-".indexOf(c)!==-1}function isStopCharacter(c){return isWhitespace(c)||isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){for(let i=0,len=itemTypes.length;i0){throw new Error("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 new Error("Unclosed `\"`")}else if(parserState.userQuery[end]!=="\""){throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`)}else if(start===end){throw new Error("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===","||isWhitespaceCharacter(c)}function isWhitespaceCharacter(c){return c===" "||c==="\t"}function createQueryElement(query,parserState,name,generics,isInGenerics){if(name==="*"||(name.length===0&&generics.length===0)){return}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw new Error("You cannot have more than one element if you use quotes")}const pathSegments=name.split("::");if(pathSegments.length>1){for(let i=0,len=pathSegments.length;i=end){throw new Error("Found generics without a path")}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;while(parserState.pos"){extra="`<`"}else if(endChar===""){extra="`->`"}throw new Error("Unexpected `"+c+"` after "+extra)}if(!foundStopChar){if(endChar!==""){throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``)}throw new Error(`Expected \`,\` or \` \`, found \`${c}\``)}const posBefore=parserState.pos;getNextElem(query,parserState,elems,endChar===">");if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}parserState.pos+=1}function checkExtraTypeFilterCharacters(parserState){const query=parserState.userQuery;for(let pos=0;pos"){if(isReturnArrow(parserState)){break}throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`)}throw new Error(`Unexpected \`${c}\``)}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw new Error("Unexpected `:`")}if(query.elems.length===0){throw new Error("Expected type filter before `:`")}else if(query.elems.length!==1||parserState.totalElems!==1){throw new Error("Unexpected `:`")}else if(query.literalSearch){throw new Error("You cannot use quotes on type filter")}checkExtraTypeFilterCharacters(parserState);parserState.typeFilter=query.elems.pop().name;parserState.pos+=1;parserState.totalElems=0;query.literalSearch=false;foundStopChar=true;continue}if(!foundStopChar){if(parserState.typeFilter!==null){throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``)}throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``)}before=query.elems.length;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}while(parserState.pos`")}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),typeFilter:NO_TYPE_FILTER,elems:[],returned:[],foundElems:0,literalSearch:false,error:null,}}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"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);if(parserState.typeFilter!==null){let typeFilter=parserState.typeFilter;if(typeFilter==="const"){typeFilter="constant"}query.typeFilter=itemTypeFromName(typeFilter)}}catch(err){query=newParsedQuery(userQuery);query.error=err.message;query.typeFilter=-1;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;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,searchWords,filterCrates,currentCrate){const results_others={},results_in_args={},results_returned={};function transformResults(results){const duplicates={};const out=[];for(const result of results){if(result.id>-1){const obj=searchIndex[result.id];obj.lev=result.lev;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates[obj.fullPath]){continue}duplicates[obj.fullPath]=true;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const ar=[];for(const entry in results){if(hasOwnPropertyRustdoc(results,entry)){const result=results[entry];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};ar.push(result)}}results=ar;if(results.length===0){return[]}results.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);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.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 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});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of results){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(results)}function checkGenerics(row,elem,defaultLev){if(row.generics.length===0){return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}else if(row.generics.length>0&&row.generics[0].name===null){return checkGenerics(row.generics[0],elem,defaultLev)}let elem_name;if(elem.generics.length>0&&row.generics.length>=elem.generics.length){const elems=Object.create(null);for(const entry of row.generics){elem_name=entry.name;if(elem_name===""){if(checkGenerics(entry,elem,MAX_LEV_DISTANCE+1)!==0){return MAX_LEV_DISTANCE+1}continue}if(elems[elem_name]===undefined){elems[elem_name]=0}elems[elem_name]+=1}for(const generic of elem.generics){let match=null;if(elems[generic.name]){match=generic.name}else{for(elem_name in elems){if(!hasOwnPropertyRustdoc(elems,elem_name)){continue}if(elem_name===generic){match=elem_name;break}}}if(match===null){return MAX_LEV_DISTANCE+1}elems[match]-=1;if(elems[match]===0){delete elems[match]}}return 0}return MAX_LEV_DISTANCE+1}function checkIfInGenerics(row,elem){let lev=MAX_LEV_DISTANCE+1;for(const entry of row.generics){lev=Math.min(checkType(entry,elem,true),lev);if(lev===0){break}}return lev}function checkType(row,elem,literalSearch){if(row.name===null){if(row.generics.length>0){return checkIfInGenerics(row,elem)}return MAX_LEV_DISTANCE+1}let lev=levenshtein(row.name,elem.name);if(literalSearch){if(lev!==0){if(elem.generics.length===0){const checkGeneric=row.generics.length>0;if(checkGeneric&&row.generics.findIndex(tmp_elem=>tmp_elem.name===elem.name)!==-1){return 0}}return MAX_LEV_DISTANCE+1}else if(elem.generics.length>0){return checkGenerics(row,elem,MAX_LEV_DISTANCE+1)}return 0}else if(row.generics.length>0){if(elem.generics.length===0){if(lev===0){return 0}lev=checkIfInGenerics(row,elem);return lev+0.5}else if(lev>MAX_LEV_DISTANCE){return checkIfInGenerics(row,elem)}else{const tmp_lev=checkGenerics(row,elem,lev);if(tmp_lev>MAX_LEV_DISTANCE){return MAX_LEV_DISTANCE+1}return(tmp_lev+lev)/2}}else if(elem.generics.length>0){return MAX_LEV_DISTANCE+1}return lev}function findArg(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.inputs&&row.type.inputs.length>0){for(const input of row.type.inputs){if(!typePassesFilter(typeFilter,input.ty)){continue}lev=Math.min(lev,checkType(input,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkReturned(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.output.length>0){const ret=row.type.output;for(const ret_ty of ret){if(!typePassesFilter(typeFilter,ret_ty.ty)){continue}lev=Math.min(lev,checkType(ret_ty,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkPath(contains,ty){if(contains.length===0){return 0}let ret_lev=MAX_LEV_DISTANCE+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;if(clength>length){return MAX_LEV_DISTANCE+1}for(let i=0;ilength){break}let lev_total=0;let aborted=false;for(let x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}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,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES[filterCrates]&&ALIASES[filterCrates][lowerQuery]){const query_aliases=ALIASES[filterCrates][lowerQuery];for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{Object.keys(ALIASES).forEach(crate=>{if(ALIASES[crate][lowerQuery]){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=ALIASES[crate][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,lev){if(lev===0||(!parsedQuery.literalSearch&&lev<=MAX_LEV_DISTANCE)){if(results[fullId]!==undefined){const result=results[fullId];if(result.dontValidate||result.lev<=lev){return}}results[fullId]={id:id,index:index,dontValidate:parsedQuery.literalSearch,lev:lev,}}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let lev,lev_add=0,index=-1;const fullId=row.id;const in_args=findArg(row,elem,parsedQuery.typeFilter);const returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_in_args,fullId,pos,index,in_args);addIntoResults(results_returned,fullId,pos,index,returned);if(!typePassesFilter(parsedQuery.typeFilter,row.ty)){return}const searchWord=searchWords[pos];if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,-1,0)}return}if(elem.name.length===0){if(row.type!==null){lev=checkGenerics(row.type,elem,MAX_LEV_DISTANCE+1);addIntoResults(results_others,fullId,pos,index,lev)}return}if(elem.fullPath.length>1){lev=checkPath(elem.pathWithoutLast,row);if(lev>MAX_LEV_DISTANCE||(parsedQuery.literalSearch&&lev!==0)){return}else if(lev>0){lev_add=lev/10}}if(searchWord.indexOf(elem.pathLast)>-1||row.normalizedName.indexOf(elem.pathLast)>-1){index=row.normalizedName.indexOf(elem.pathLast)}lev=levenshtein(searchWord,elem.pathLast);if(lev>0&&elem.pathLast.length>2&&searchWord.indexOf(elem.pathLast)>-1){if(elem.pathLast.length<6){lev=1}else{lev=0}}lev+=lev_add;if(lev>MAX_LEV_DISTANCE){return}else if(index!==-1&&elem.fullPath.length<2){lev-=1}if(lev<0){lev=0}addIntoResults(results_others,fullId,pos,index,lev)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let totalLev=0;let nbLev=0;function checkArgs(elems,callback){for(const elem of elems){const lev=callback(row,elem,NO_TYPE_FILTER);if(lev<=1){nbLev+=1;totalLev+=lev}else{return false}}return true}if(!checkArgs(parsedQuery.elems,findArg)){return}if(!checkArgs(parsedQuery.returned,checkReturned)){return}if(nbLev===0){return}const lev=Math.round(totalLev/nbLev);addIntoResults(results,row.id,pos,0,lev)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i0){for(i=0,nSearchWords=searchWords.length;i-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||levenshtein(name,key)<=MAX_LEV_DISTANCE)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];length+=1;let extra="";if(type==="primitive"){extra=" (primitive type)"}else if(type==="keyword"){extra=" (keyword)"}const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){const alias=document.createElement("span");alias.className="alias";const bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend"," - see ");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+""+name+extra+"");link.appendChild(resultName);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,length]}function makeTabHeader(tabNb,text,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"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText))){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="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in 
    "}let output=`

    Results${crates}

    `;if(results.query.error!==null){output+=`

    Query parser error: "${results.query.error}".

    `;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}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("titles").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 search(e,forced){if(e){e.preventDefault()}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";if(browserSupportsHistoryApi()){const newURL=buildUrl(query.original,filterCrates);if(!history.state&&!params.search){history.pushState(null,"",newURL)}else{history.replaceState(null,"",newURL)}}showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;return types.map(type=>{let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}return{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:generics,}})}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){const pathIndex=functionSearchType[INPUTS_DATA];inputs=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){const pathIndex=functionSearchType[OUTPUT_DATA];output=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}return{inputs,output,}}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];let i,word;let currentIndex=0;let id=0;for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=crateCorpus.q;const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]=Object.create(null);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}for(const local_alias of aliases[alias_name]){ALIASES[crate][alias_name].push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}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){if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}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;search(e)}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 params=searchState.getQueryStringParams();const query=searchState.input.value.trim();if(!history.state&&!params.search){history.pushState(null,"",buildUrl(query,null))}else{history.replaceState(null,"",buildUrl(query,null))}}currentResults=null;search(undefined,true)}const searchWords=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}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file diff --git a/static.files/search-8be46b629f5f14a8.js b/static.files/search-8be46b629f5f14a8.js new file mode 100644 index 0000000..4ecf5c5 --- /dev/null +++ b/static.files/search-8be46b629f5f14a8.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=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias","generic",];const longItemTypes=["module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","primitive type","assoc type","constant","assoc const","union","foreign type","keyword","existential type","attribute macro","derive macro","trait alias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}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 currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;function buildTypeMapIndex(name){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){return typeNameIdMap.get(name)}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,id);return id}}function isWhitespace(c){return" \t\n\r".indexOf(c)!==-1}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return",>-]".indexOf(c)!==-1}function isStopCharacter(c){return isEndCharacter(c)}function isErrorCharacter(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===","}function isPathSeparator(c){return c===":"||isWhitespace(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(!isWhitespace(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",]}return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",generics:[],typeFilter:"primitive",}}if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(path.includes("::::")){throw["Unexpected ","::::"]}else if(path.includes(" ::")){throw["Unexpected "," ::"]}else if(path.includes(":: ")){throw["Unexpected ",":: "]}const pathSegments=path.split(/::|\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}return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast:pathSegments[pathSegments.length-1],generics:generics,typeFilter,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(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}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;let extra="";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 ",",",...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}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 ","->","?)"]}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(isWhitespace(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,}}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"&&hasOwnPropertyRustdoc(rawSearchIndex,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)}}userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter: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,searchWords,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.word=searchWords[result.id];result.item=searchIndex[result.id]||{};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)}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 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});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of result_list){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(result_list)}function checkGenerics(fnType,queryElem,whereClause,mgensInout){return unifyFunctionTypes(fnType.generics,queryElem.generics,whereClause,mgensInout,mgens=>{if(mgensInout){for(const[fid,qid]of mgens.entries()){mgensInout.set(fid,qid)}}return true})}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){let mgens=new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;let fl=fnTypesIn.length;let fnTypes=fnTypesIn.slice();const backtracking=[];let i=0;let j=0;const backtrack=()=>{while(backtracking.length!==0){const{fnTypesScratch,mgensScratch,queryElemsOffset,fnTypesOffset,unbox,}=backtracking.pop();mgens=new Map(mgensScratch);const fnType=fnTypesScratch[fnTypesOffset];const queryElem=queryElems[queryElemsOffset];if(unbox){if(fnType.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}mgens.set(fnType.id,0)}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;fnTypes=fnTypesScratch.toSpliced(fnTypesOffset,1,...generics);fl=fnTypes.length;i=queryElemsOffset-1}else{if(fnType.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}mgens.set(fnType.id,queryElem.id)}fnTypes=fnTypesScratch.slice();fl=fnTypes.length;const tmp=fnTypes[queryElemsOffset];fnTypes[queryElemsOffset]=fnTypes[fnTypesOffset];fnTypes[fnTypesOffset]=tmp;i=queryElemsOffset}return true}return false};for(i=0;i!==ql;++i){const queryElem=queryElems[i];const matchCandidates=[];let fnTypesScratch=null;let mgensScratch=null;for(j=i;j!==fl;++j){const fnType=fnTypes[j];if(unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){if(!fnTypesScratch){fnTypesScratch=fnTypes.slice()}unifyFunctionTypes(fnType.generics,queryElem.generics,whereClause,mgens,mgensScratch=>{matchCandidates.push({fnTypesScratch,mgensScratch,queryElemsOffset:i,fnTypesOffset:j,unbox:false,});return false})}if(unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){if(!fnTypesScratch){fnTypesScratch=fnTypes.slice()}if(!mgensScratch){mgensScratch=new Map(mgens)}backtracking.push({fnTypesScratch,mgensScratch,queryElemsOffset:i,fnTypesOffset:j,unbox:true,})}}if(matchCandidates.length===0){if(backtrack()){continue}else{return false}}const{fnTypesOffset:candidate,mgensScratch:mgensNew}=matchCandidates.pop();if(fnTypes[candidate].id<0&&queryElems[i].id<0){mgens.set(fnTypes[candidate].id,queryElems[i].id)}for(const[fid,qid]of mgensNew){mgens.set(fid,qid)}const tmp=fnTypes[candidate];fnTypes[candidate]=fnTypes[i];fnTypes[i]=tmp;for(const otherCandidate of matchCandidates){backtracking.push(otherCandidate)}while(i===(ql-1)&&solutionCb&&!solutionCb(mgens)){if(!backtrack()){return false}}}return true}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgens.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}else if(fnType.id!==null){if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(fnType.id!==queryElem.id){return false}if(fnType.generics.length===0&&queryElem.generics.length!==0){return false}const queryElemPathLength=queryElem.pathWithoutLast.length;if(queryElemPathLength>0){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(i=0){if(!whereClause){return false}if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause)}else if(fnType.generics&&fnType.generics.length>0){return checkIfInList(fnType.generics,queryElem,whereClause)}return false}function checkIfInList(list,elem,whereClause){for(const entry of list){if(checkType(entry,elem,whereClause)){return true}}return false}function checkType(row,elem,whereClause){if(row.id===null){return row.generics.length>0?checkIfInList(row.generics,elem,whereClause):false}if(row.id<0&&elem.id>=0){const gid=(-row.id)-1;return checkIfInList(whereClause[gid],elem,whereClause)}if(row.id<0&&elem.id<0){return true}const matchesExact=row.id===elem.id;const matchesArrayOrSlice=elem.id===typeNameIdOfArrayOrSlice&&(row.id===typeNameIdOfSlice||row.id===typeNameIdOfArray);if((matchesExact||matchesArrayOrSlice)&&typePassesFilter(elem.typeFilter,row.ty)){if(elem.generics.length>0){return checkGenerics(row,elem,whereClause,new Map())}return true}return checkIfInList(row.generics,elem,whereClause)}function checkPath(contains,ty,maxEditDistance){if(contains.length===0){return 0}let ret_dist=maxEditDistance+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;if(clength>length){return maxEditDistance+1}for(let i=0;ilength){break}let dist_total=0;let aborted=false;for(let x=0;xmaxEditDistance){aborted=true;break}dist_total+=dist}if(!aborted){ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}}return 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,}}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){const inBounds=dist<=maxEditDistance||index!==-1;if(dist===0||(!parsedQuery.literalSearch&&inBounds)){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 index=-1,path_dist=0;const fullId=row.id;const searchWord=searchWords[pos];const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);if(in_args){addIntoResults(results_in_args,fullId,pos,-1,0,0,maxEditDistance)}const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(returned){addIntoResults(results_returned,fullId,pos,-1,0,0,maxEditDistance)}if(!typePassesFilter(elem.typeFilter,row.ty)){return}const row_index=row.normalizedName.indexOf(elem.pathLast);const word_index=searchWord.indexOf(elem.pathLast);if(row_index===-1){index=word_index}else if(word_index===-1){index=row_index}else if(word_index1){path_dist=checkPath(elem.pathWithoutLast,row,maxEditDistance);if(path_dist>maxEditDistance){return}}if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(searchWord,elem.pathLast,maxEditDistance);if(index===-1&&dist+path_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}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}addIntoResults(results,row.id,pos,0,0,0,Number.MAX_VALUE)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;let queryLen=0;for(const elem of parsedQuery.elems){queryLen+=elem.name.length}for(const elem of parsedQuery.returned){queryLen+=elem.name.length}const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem){if(typeNameIdMap.has(elem.pathLast)){elem.id=typeNameIdMap.get(elem.pathLast)}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,id]of typeNameIdMap){const dist=editDistance(name,elem.pathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance){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.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)}}for(const elem of parsedQuery.elems){convertNameToId(elem)}for(const elem of parsedQuery.returned){convertNameToId(elem)}if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i0){for(i=0,nSearchWords=searchWords.length;i-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||editDistance(name,key,maxEditDistance)<=maxEditDistance)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;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}`:"?";length+=1;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,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="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>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(e,forced){if(e){e.preventDefault()}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,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.map(type=>buildItemSearchType(type,lowercasePaths))}function buildItemSearchType(type,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}if(pathIndex<0){return{id:pathIndex,ty:TY_GENERIC,path:null,generics,}}if(pathIndex===0){return{id:null,ty:null,path:null,generics,}}const item=lowercasePaths[pathIndex-1];return{id:buildTypeMapIndex(item.name),ty:item.ty,path:item.path,generics,}}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}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;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:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(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+=crateSize}return searchWords}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;search(e)}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(undefined,true)}const searchWords=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}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file diff --git a/static.files/settings-74424d7eec62a23e.js b/static.files/settings-74424d7eec62a23e.js new file mode 100644 index 0000000..3014f75 --- /dev/null +++ b/static.files/settings-74424d7eec62a23e.js @@ -0,0 +1,17 @@ +"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ +
    +
    ${setting_name}
    +
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ + `});output+=`\ +
    +
    `}else{const checked=setting["default"]===true?" checked":"";output+=`\ +
    \ + \ +
    `}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=event=>{event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/static.files/settings-af96d9e2fc13e081.css b/static.files/settings-af96d9e2fc13e081.css deleted file mode 100644 index d94744e..0000000 --- a/static.files/settings-af96d9e2fc13e081.css +++ /dev/null @@ -1,3 +0,0 @@ -.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line input,.setting-line .toggle input{margin-right:0.3em;height:1.2rem;width:1.2rem;color:inherit;border:1px solid currentColor;outline:none;-webkit-appearance:none;cursor:pointer;}.setting-line .radio-line input{border-radius:50%;}.setting-line .toggle input:checked{content:url('data:image/svg+xml,\ - \ - ');}.setting-line .radio-line input+span,.setting-line .toggle span{padding-bottom:1px;}.radio-line .setting-name{width:100%;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.toggle{position:relative;width:100%;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}#settings .setting-line{margin:1.2em 0.6em;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-line .toggle input:checked{background-color:var(--settings-input-color);}.setting-line .radio-line input:focus,.setting-line .toggle input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-line .radio-line input:hover,.setting-line .toggle input:hover{border-color:var(--settings-input-color) !important;} \ No newline at end of file diff --git a/static.files/settings-bebeae96e00e4617.js b/static.files/settings-bebeae96e00e4617.js deleted file mode 100644 index 4d73ec3..0000000 --- a/static.files/settings-bebeae96e00e4617.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateSystemTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function handleKey(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey){return}switch(getVirtualKey(ev)){case"Enter":case"Return":case"Space":ev.target.checked=!ev.target.checked;ev.preventDefault();break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme").parentElement,"hidden");removeClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme").parentElement,"hidden");addClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=function(){changeSetting(this.id,this.checked)};toggle.onkeyup=handleKey;toggle.onkeyrelease=handleKey});onEachLazy(settingsElement.getElementsByClassName("select-wrapper"),elem=>{const select=elem.getElementsByTagName("select")[0];const settingId=select.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){select.value=settingValue}select.onchange=function(){changeSetting(this.id,this.value)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){if(useSystem!=="false"){settingValue="system preference"}else{settingValue="light"}}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){output+="
    ";const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ -
    - ${setting_name} -
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ -`});output+="
    "}else{const checked=setting["default"]===true?" checked":"";output+=`\ -`}output+="
    "}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=function(event){event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=function(event){if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/static.files/source-script-5cf2e01a42cc9858.js b/static.files/source-script-5cf2e01a42cc9858.js deleted file mode 100644 index f033213..0000000 --- a/static.files/source-script-5cf2e01a42cc9858.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;function closeSidebarIfMobile(){if(window.innerWidth"){window.rustdocMobileScrollLock();addClass(document.documentElement,"source-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{window.rustdocMobileScrollUnlock();removeClass(document.documentElement,"source-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}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 handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}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",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/static.files/src-script-3280b574d94e47b4.js b/static.files/src-script-3280b574d94e47b4.js new file mode 100644 index 0000000..9ea8892 --- /dev/null +++ b/static.files/src-script-3280b574d94e47b4.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"){addClass(document.documentElement,"src-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{removeClass(document.documentElement,"src-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="src-sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(srcIndex).forEach(key=>{srcIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(srcIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSrcLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}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",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSrcLines(match)}});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-d43fa987303ecbbb.js b/static.files/storage-d43fa987303ecbbb.js deleted file mode 100644 index 017aff7..0000000 --- a/static.files/storage-d43fa987303ecbbb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");window.RUSTDOC_MOBILE_BREAKPOINT=700;const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}const dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current!==null){return current}if(settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return null}const localStoredTheme=getSettingValue("theme");const savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){if(reversed){const length=arr.length;for(let i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}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}}function switchTheme(styleElem,mainStyleElem,newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),el=>{savedHref.push(el.href)})}const newHref=savedHref.find(url=>{const m=url.match(/static\.files\/(.*)-[a-f0-9]{16}\.css$/);if(m&&m[1]===newThemeName){return true}const m2=url.match(/\/([^/]*)\.css$/);if(m2&&m2[1].startsWith(newThemeName)){return true}});if(newHref&&newHref!==styleElem.href){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("use-system-theme",value);const toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}const updateSystemTheme=(function(){if(!window.matchMedia){return()=>{const cssTheme=getComputedStyle(document.documentElement).getPropertyValue("content");switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}const mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){const use=theme=>{switchTheme(window.currentTheme,window.mainTheme,theme,true)};if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){use(darkTheme)}else{use(lightTheme)}}else{use(getSettingValue("theme"))}}mql.addListener(handlePreferenceChange);return()=>{handlePreferenceChange(mql)}})();function switchToSavedTheme(){switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}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)}updateSystemTheme()}else{switchToSavedTheme()}if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"source-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(switchToSavedTheme,0)}}) \ No newline at end of file diff --git a/static.files/storage-fec3eaa3851e447d.js b/static.files/storage-fec3eaa3851e447d.js new file mode 100644 index 0000000..a687118 --- /dev/null +++ b/static.files/storage-fec3eaa3851e447d.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,reversed){if(arr&&arr.length>0){if(reversed){for(let i=arr.length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}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){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")+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")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0)}}) \ No newline at end of file diff --git a/static.files/toggle-minus-31bbd6e4c77f5c96.svg b/static.files/toggle-minus-31bbd6e4c77f5c96.svg deleted file mode 100644 index 7315478..0000000 --- a/static.files/toggle-minus-31bbd6e4c77f5c96.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static.files/toggle-plus-1092eb4930d581b0.svg b/static.files/toggle-plus-1092eb4930d581b0.svg deleted file mode 100644 index 08b1703..0000000 --- a/static.files/toggle-plus-1092eb4930d581b0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static.files/wheel-5ec35bf9ca753509.svg b/static.files/wheel-5ec35bf9ca753509.svg deleted file mode 100644 index 01da3b2..0000000 --- a/static.files/wheel-5ec35bf9ca753509.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static.files/wheel-7b819b6101059cd0.svg b/static.files/wheel-7b819b6101059cd0.svg new file mode 100644 index 0000000..83c07f6 --- /dev/null +++ b/static.files/wheel-7b819b6101059cd0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/syn/all.html b/syn/all.html index 1756b6e..a38f6ab 100644 --- a/syn/all.html +++ b/syn/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Definitions

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    \ No newline at end of file diff --git a/syn/buffer/index.html b/syn/buffer/index.html index b5c1e93..d9026e0 100644 --- a/syn/buffer/index.html +++ b/syn/buffer/index.html @@ -1,6 +1,6 @@ -syn::buffer - Rust

    Module syn::buffer

    source ·
    Expand description

    A stably addressed token buffer supporting efficient traversal based on a +syn::buffer - Rust

    Module syn::buffer

    source ·
    Expand description

    A stably addressed token buffer supporting efficient traversal based on a cheaply copyable cursor.

    This module is available only if Syn is built with the "parsing" feature.

    -

    Structs

    A cheaply copyable cursor into a TokenBuffer.
    A buffer that can be efficiently traversed multiple times, unlike +

    Structs

    • A cheaply copyable cursor into a TokenBuffer.
    • A buffer that can be efficiently traversed multiple times, unlike TokenStream which requires a deep copy in order to traverse more than -once.
    \ No newline at end of file +once. \ No newline at end of file diff --git a/syn/buffer/sidebar-items.js b/syn/buffer/sidebar-items.js index 74e7a52..37915de 100644 --- a/syn/buffer/sidebar-items.js +++ b/syn/buffer/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":[["Cursor","A cheaply copyable cursor into a `TokenBuffer`."],["TokenBuffer","A buffer that can be efficiently traversed multiple times, unlike `TokenStream` which requires a deep copy in order to traverse more than once."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["Cursor","TokenBuffer"]}; \ No newline at end of file diff --git a/syn/buffer/struct.Cursor.html b/syn/buffer/struct.Cursor.html index a7a032a..e91d587 100644 --- a/syn/buffer/struct.Cursor.html +++ b/syn/buffer/struct.Cursor.html @@ -1,4 +1,4 @@ -Cursor in syn::buffer - Rust

    Struct syn::buffer::Cursor

    source ·
    pub struct Cursor<'a> { /* private fields */ }
    Expand description

    A cheaply copyable cursor into a TokenBuffer.

    +Cursor in syn::buffer - Rust

    Struct syn::buffer::Cursor

    source ·
    pub struct Cursor<'a> { /* private fields */ }
    Expand description

    A cheaply copyable cursor into a TokenBuffer.

    This cursor holds a shared reference into the immutable data which is used internally to represent a TokenStream, and can be efficiently manipulated and copied around.

    @@ -7,34 +7,41 @@ object and get a cursor to its first token with begin().

    Two cursors are equal if they have the same location in the same input stream, and have the same scope.

    This type is available only if Syn is built with the "parsing" feature.

    -

    Implementations§

    Creates a cursor referencing a static empty TokenStream.

    -

    Checks whether the cursor is currently pointing at the end of its valid +

    Implementations§

    source§

    impl<'a> Cursor<'a>

    source

    pub fn empty() -> Self

    Creates a cursor referencing a static empty TokenStream.

    +
    source

    pub fn eof(self) -> bool

    Checks whether the cursor is currently pointing at the end of its valid scope.

    -

    If the cursor is pointing at a Group with the given delimiter, returns +

    source

    pub fn group(self, delim: Delimiter) -> Option<(Cursor<'a>, Span, Cursor<'a>)>

    If the cursor is pointing at a Group with the given delimiter, returns a cursor into that group and one pointing to the next TokenTree.

    -

    If the cursor is pointing at a Ident, returns it along with a cursor +

    source

    pub fn ident(self) -> Option<(Ident, Cursor<'a>)>

    If the cursor is pointing at a Ident, returns it along with a cursor pointing at the next TokenTree.

    -

    If the cursor is pointing at a Punct, returns it along with a cursor +

    source

    pub fn punct(self) -> Option<(Punct, Cursor<'a>)>

    If the cursor is pointing at a Punct, returns it along with a cursor pointing at the next TokenTree.

    -

    If the cursor is pointing at a Literal, return it along with a cursor +

    source

    pub fn literal(self) -> Option<(Literal, Cursor<'a>)>

    If the cursor is pointing at a Literal, return it along with a cursor pointing at the next TokenTree.

    -

    If the cursor is pointing at a Lifetime, returns it along with a +

    source

    pub fn lifetime(self) -> Option<(Lifetime, Cursor<'a>)>

    If the cursor is pointing at a Lifetime, returns it along with a cursor pointing at the next TokenTree.

    -

    Copies all remaining tokens visible from this cursor into a +

    source

    pub fn token_stream(self) -> TokenStream

    Copies all remaining tokens visible from this cursor into a TokenStream.

    -

    If the cursor is pointing at a TokenTree, returns it along with a +

    source

    pub fn token_tree(self) -> Option<(TokenTree, Cursor<'a>)>

    If the cursor is pointing at a TokenTree, returns it along with a cursor pointing at the next TokenTree.

    Returns None if the cursor has reached the end of its stream.

    This method does not treat None-delimited groups as transparent, and will return a Group(None, ..) if the cursor is looking at one.

    -

    Returns the Span of the current token, or Span::call_site() if this +

    source

    pub fn span(self) -> Span

    Returns the Span of the current token, or Span::call_site() if this cursor points to eof.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method returns an ordering between self and other values if one exists. Read more
    This method tests less than (for self and other) and is used by the < operator. Read more
    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    This method tests greater than (for self and other) and is used by the > operator. Read more
    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for Cursor<'a>

    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<'a> PartialEq<Cursor<'a>> for Cursor<'a>

    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.
    source§

    impl<'a> PartialOrd<Cursor<'a>> for Cursor<'a>

    source§

    fn partial_cmp(&self, other: &Self) -> 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
    source§

    impl<'a> Copy for Cursor<'a>

    source§

    impl<'a> Eq for Cursor<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Cursor<'a>

    §

    impl<'a> !Send for Cursor<'a>

    §

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

    §

    impl<'a> Unpin for Cursor<'a>

    §

    impl<'a> UnwindSafe for Cursor<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/buffer/struct.TokenBuffer.html b/syn/buffer/struct.TokenBuffer.html index 1146ed5..22b1ed1 100644 --- a/syn/buffer/struct.TokenBuffer.html +++ b/syn/buffer/struct.TokenBuffer.html @@ -1,17 +1,23 @@ -TokenBuffer in syn::buffer - Rust

    Struct syn::buffer::TokenBuffer

    source ·
    pub struct TokenBuffer { /* private fields */ }
    Expand description

    A buffer that can be efficiently traversed multiple times, unlike +TokenBuffer in syn::buffer - Rust

    Struct syn::buffer::TokenBuffer

    source ·
    pub struct TokenBuffer { /* private fields */ }
    Expand description

    A buffer that can be efficiently traversed multiple times, unlike TokenStream which requires a deep copy in order to traverse more than once.

    This type is available only if Syn is built with the "parsing" feature.

    -

    Implementations§

    Creates a TokenBuffer containing all the tokens from the input +

    Implementations§

    source§

    impl TokenBuffer

    source

    pub fn new(stream: TokenStream) -> Self

    Creates a TokenBuffer containing all the tokens from the input proc_macro::TokenStream.

    This method is available only if Syn is built with both the "parsing" and "proc-macro" features.

    -

    Creates a TokenBuffer containing all the tokens from the input +

    source

    pub fn new2(stream: TokenStream) -> Self

    Creates a TokenBuffer containing all the tokens from the input proc_macro2::TokenStream.

    -

    Creates a cursor referencing the first token in the buffer and able to +

    source

    pub fn begin(&self) -> Cursor<'_>

    Creates a cursor referencing the first token in the buffer and able to traverse until the end of the buffer.

    -

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.AttrStyle.html b/syn/enum.AttrStyle.html index 778d5af..8be9767 100644 --- a/syn/enum.AttrStyle.html +++ b/syn/enum.AttrStyle.html @@ -1,7 +1,7 @@ -AttrStyle in syn - Rust

    Enum syn::AttrStyle

    source ·
    pub enum AttrStyle {
    +AttrStyle in syn - Rust

    Enum syn::AttrStyle

    source ·
    pub enum AttrStyle {
         Outer,
         Inner(Bang),
    -}
    Expand description

    Distinguishes between attributes that decorate an item and attributes +}

    Expand description

    Distinguishes between attributes that decorate an item and attributes that are contained within an item.

    This type is available only if Syn is built with the "derive" or "full" feature.

    @@ -17,10 +17,20 @@ feature.

  • //! # Example
  • /*! Please file an issue */
  • -

    Variants§

    §

    Outer

    §

    Inner(Bang)

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Variants§

    §

    Outer

    §

    Inner(Bang)

    Trait Implementations§

    source§

    impl Clone for AttrStyle

    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 Debug for AttrStyle

    source§

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

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

    impl Hash for AttrStyle

    source§

    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
    source§

    impl PartialEq<AttrStyle> for AttrStyle

    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.
    source§

    impl Copy for AttrStyle

    source§

    impl Eq for AttrStyle

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.BinOp.html b/syn/enum.BinOp.html index fc3a25e..8decfc3 100644 --- a/syn/enum.BinOp.html +++ b/syn/enum.BinOp.html @@ -1,5 +1,5 @@ -BinOp in syn - Rust

    Enum syn::BinOp

    source ·
    pub enum BinOp {
    -
    Show 28 variants Add(Add), +BinOp in syn - Rust

    Enum syn::BinOp

    source ·
    pub enum BinOp {
    +
    Show 28 variants Add(Add), Sub(Sub), Mul(Star), Div(Div), @@ -27,7 +27,7 @@ BitOrEq(OrEq), ShlEq(ShlEq), ShrEq(ShrEq), -
    }
    Expand description

    A binary operator: +, +=, &.

    +
    }
    Expand description

    A binary operator: +, +=, &.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Variants§

    §

    Add(Add)

    The + operator (addition)

    @@ -58,11 +58,23 @@ feature.

    §

    BitOrEq(OrEq)

    The |= operator

    §

    ShlEq(ShlEq)

    The <<= operator

    §

    ShrEq(ShrEq)

    The >>= operator

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for BinOp

    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 Debug for BinOp

    source§

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

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

    impl Hash for BinOp

    source§

    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
    source§

    impl Parse for BinOp

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<BinOp> for BinOp

    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.
    source§

    impl ToTokens for BinOp

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for BinOp

    source§

    impl Eq for BinOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for BinOp

    §

    impl !Send for BinOp

    §

    impl !Sync for BinOp

    §

    impl Unpin for BinOp

    §

    impl UnwindSafe for BinOp

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Data.html b/syn/enum.Data.html index 8cc4ffa..b512bb3 100644 --- a/syn/enum.Data.html +++ b/syn/enum.Data.html @@ -1,18 +1,28 @@ -Data in syn - Rust

    Enum syn::Data

    source ·
    pub enum Data {
    +Data in syn - Rust

    Enum syn::Data

    source ·
    pub enum Data {
         Struct(DataStruct),
         Enum(DataEnum),
         Union(DataUnion),
    -}
    Expand description

    The storage of a struct, enum or union data structure.

    +}
    Expand description

    The storage of a struct, enum or union data structure.

    This type is available only if Syn is built with the "derive" feature.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Struct(DataStruct)

    A struct input to a proc_macro_derive macro.

    §

    Enum(DataEnum)

    An enum input to a proc_macro_derive macro.

    §

    Union(DataUnion)

    An untagged union input to a proc_macro_derive macro.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Data

    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 Debug for Data

    source§

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

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

    impl From<DataEnum> for Data

    source§

    fn from(e: DataEnum) -> Data

    Converts to this type from the input type.
    source§

    impl From<DataStruct> for Data

    source§

    fn from(e: DataStruct) -> Data

    Converts to this type from the input type.
    source§

    impl From<DataUnion> for Data

    source§

    fn from(e: DataUnion) -> Data

    Converts to this type from the input type.
    source§

    impl Hash for Data

    source§

    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
    source§

    impl PartialEq<Data> for Data

    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.
    source§

    impl Eq for Data

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Data

    §

    impl !Send for Data

    §

    impl !Sync for Data

    §

    impl Unpin for Data

    §

    impl UnwindSafe for Data

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Expr.html b/syn/enum.Expr.html index 7711327..b1a2d74 100644 --- a/syn/enum.Expr.html +++ b/syn/enum.Expr.html @@ -1,6 +1,5 @@ -Expr in syn - Rust

    Enum syn::Expr

    source ·
    #[non_exhaustive]
    -pub enum Expr {
    -
    Show 40 variants Array(ExprArray), +Expr in syn - Rust

    Enum syn::Expr

    source ·
    #[non_exhaustive]
    pub enum Expr { +
    Show 40 variants Array(ExprArray), Assign(ExprAssign), AssignOp(ExprAssignOp), Async(ExprAsync), @@ -40,7 +39,7 @@ pub enum Expr { Verbatim(TokenStream), While(ExprWhile), Yield(ExprYield), -
    }
    Expand description

    A Rust expression.

    +
    }
    Expand description

    A Rust expression.

    This type is available only if Syn is built with the "derive" or "full" feature, but most of the variants are not available unless “full” is enabled.

    Syntax tree enums

    @@ -81,7 +80,7 @@ be a suitable name for the complete syntax tree enum type.

    A sign that you may not be choosing the right variable names is if you see names getting repeated in your code, like accessing receiver.receiver or pat.pat or cond.cond.

    -

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Array(ExprArray)

    A slice literal expression: [a, b, c, d].

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Array(ExprArray)

    A slice literal expression: [a, b, c, d].

    §

    Assign(ExprAssign)

    An assignment expression: a = compute().

    §

    AssignOp(ExprAssignOp)

    A compound assignment expression: counter += 1.

    §

    Async(ExprAsync)

    An async block: async { ... }.

    @@ -131,11 +130,23 @@ parameters and a qualified self-type.

    §

    Verbatim(TokenStream)

    Tokens in expression position not interpreted by Syn.

    §

    While(ExprWhile)

    A while loop: while expr { ... }.

    §

    Yield(ExprYield)

    A yield expression: yield expr.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Expr

    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 Debug for Expr

    source§

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

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

    impl From<ExprArray> for Expr

    source§

    fn from(e: ExprArray) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprAssign> for Expr

    source§

    fn from(e: ExprAssign) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprAssignOp> for Expr

    source§

    fn from(e: ExprAssignOp) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprAsync> for Expr

    source§

    fn from(e: ExprAsync) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprAwait> for Expr

    source§

    fn from(e: ExprAwait) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprBinary> for Expr

    source§

    fn from(e: ExprBinary) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprBlock> for Expr

    source§

    fn from(e: ExprBlock) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprBox> for Expr

    source§

    fn from(e: ExprBox) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprBreak> for Expr

    source§

    fn from(e: ExprBreak) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprCall> for Expr

    source§

    fn from(e: ExprCall) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprCast> for Expr

    source§

    fn from(e: ExprCast) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprClosure> for Expr

    source§

    fn from(e: ExprClosure) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprContinue> for Expr

    source§

    fn from(e: ExprContinue) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprField> for Expr

    source§

    fn from(e: ExprField) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprForLoop> for Expr

    source§

    fn from(e: ExprForLoop) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprGroup> for Expr

    source§

    fn from(e: ExprGroup) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprIf> for Expr

    source§

    fn from(e: ExprIf) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprIndex> for Expr

    source§

    fn from(e: ExprIndex) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprLet> for Expr

    source§

    fn from(e: ExprLet) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprLit> for Expr

    source§

    fn from(e: ExprLit) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprLoop> for Expr

    source§

    fn from(e: ExprLoop) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprMacro> for Expr

    source§

    fn from(e: ExprMacro) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprMatch> for Expr

    source§

    fn from(e: ExprMatch) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprMethodCall> for Expr

    source§

    fn from(e: ExprMethodCall) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprParen> for Expr

    source§

    fn from(e: ExprParen) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprPath> for Expr

    source§

    fn from(e: ExprPath) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprRange> for Expr

    source§

    fn from(e: ExprRange) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprReference> for Expr

    source§

    fn from(e: ExprReference) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprRepeat> for Expr

    source§

    fn from(e: ExprRepeat) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprReturn> for Expr

    source§

    fn from(e: ExprReturn) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprStruct> for Expr

    source§

    fn from(e: ExprStruct) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprTry> for Expr

    source§

    fn from(e: ExprTry) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprTryBlock> for Expr

    source§

    fn from(e: ExprTryBlock) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprTuple> for Expr

    source§

    fn from(e: ExprTuple) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprType> for Expr

    source§

    fn from(e: ExprType) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprUnary> for Expr

    source§

    fn from(e: ExprUnary) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprUnsafe> for Expr

    source§

    fn from(e: ExprUnsafe) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprWhile> for Expr

    source§

    fn from(e: ExprWhile) -> Expr

    Converts to this type from the input type.
    source§

    impl From<ExprYield> for Expr

    source§

    fn from(e: ExprYield) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for Expr

    source§

    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
    source§

    impl Parse for Expr

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Expr> for Expr

    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.
    source§

    impl ToTokens for Expr

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Expr

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Expr

    §

    impl !Send for Expr

    §

    impl !Sync for Expr

    §

    impl Unpin for Expr

    §

    impl UnwindSafe for Expr

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Fields.html b/syn/enum.Fields.html index 7da7463..a7ebd7f 100644 --- a/syn/enum.Fields.html +++ b/syn/enum.Fields.html @@ -1,28 +1,40 @@ -Fields in syn - Rust

    Enum syn::Fields

    source ·
    pub enum Fields {
    +Fields in syn - Rust

    Enum syn::Fields

    source ·
    pub enum Fields {
         Named(FieldsNamed),
         Unnamed(FieldsUnnamed),
         Unit,
    -}
    Expand description

    Data stored within an enum variant or struct.

    +}
    Expand description

    Data stored within an enum variant or struct.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Named(FieldsNamed)

    Named fields of a struct or struct variant such as Point { x: f64, y: f64 }.

    §

    Unnamed(FieldsUnnamed)

    Unnamed fields of a tuple struct or tuple variant such as Some(T).

    §

    Unit

    Unit struct or unit variant such as None.

    -

    Implementations§

    Get an iterator over the borrowed Field items in this object. This +

    Implementations§

    source§

    impl Fields

    source

    pub fn iter(&self) -> Iter<'_, Field>

    Get an iterator over the borrowed Field items in this object. This iterator can be used to iterate over a named or unnamed struct or variant’s fields uniformly.

    -

    Get an iterator over the mutably borrowed Field items in this +

    source

    pub fn iter_mut(&mut self) -> IterMut<'_, Field>

    Get an iterator over the mutably borrowed Field items in this object. This iterator can be used to iterate over a named or unnamed struct or variant’s fields uniformly.

    -

    Returns the number of fields.

    -

    Returns true if there are zero fields.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn len(&self) -> usize

    Returns the number of fields.

    +
    source

    pub fn is_empty(&self) -> bool

    Returns true if there are zero fields.

    +

    Trait Implementations§

    source§

    impl Clone for Fields

    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 Debug for Fields

    source§

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

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

    impl From<FieldsNamed> for Fields

    source§

    fn from(e: FieldsNamed) -> Fields

    Converts to this type from the input type.
    source§

    impl From<FieldsUnnamed> for Fields

    source§

    fn from(e: FieldsUnnamed) -> Fields

    Converts to this type from the input type.
    source§

    impl Hash for Fields

    source§

    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
    source§

    impl<'a> IntoIterator for &'a Fields

    §

    type Item = &'a Field

    The type of the elements being iterated over.
    §

    type IntoIter = Iter<'a, Field>

    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> IntoIterator for &'a mut Fields

    §

    type Item = &'a mut Field

    The type of the elements being iterated over.
    §

    type IntoIter = IterMut<'a, Field>

    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 IntoIterator for Fields

    §

    type Item = Field

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<Field>

    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 PartialEq<Fields> for Fields

    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.
    source§

    impl ToTokens for Fields

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Fields

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Fields

    §

    impl !Send for Fields

    §

    impl !Sync for Fields

    §

    impl Unpin for Fields

    §

    impl UnwindSafe for Fields

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.GenericArgument.html b/syn/enum.GenericArgument.html index 6eb8ab0..72e8431 100644 --- a/syn/enum.GenericArgument.html +++ b/syn/enum.GenericArgument.html @@ -1,10 +1,10 @@ -GenericArgument in syn - Rust

    Enum syn::GenericArgument

    source ·
    pub enum GenericArgument {
    +GenericArgument in syn - Rust

    Enum syn::GenericArgument

    source ·
    pub enum GenericArgument {
         Lifetime(Lifetime),
         Type(Type),
         Const(Expr),
         Binding(Binding),
         Constraint(Constraint),
    -}
    Expand description

    An individual generic argument, like 'a, T, or Item = T.

    +}
    Expand description

    An individual generic argument, like 'a, T, or Item = T.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Variants§

    §

    Lifetime(Lifetime)

    A lifetime argument.

    @@ -14,11 +14,23 @@ feature.

    they are indistinguishable syntactically.

    §

    Binding(Binding)

    A binding (equality constraint) on an associated type: the Item = u8 in Iterator<Item = u8>.

    §

    Constraint(Constraint)

    An associated type bound: Iterator<Item: Display>.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for GenericArgument

    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 Debug for GenericArgument

    source§

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

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

    impl Hash for GenericArgument

    source§

    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
    source§

    impl Parse for GenericArgument

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<GenericArgument> for GenericArgument

    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.
    source§

    impl ToTokens for GenericArgument

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for GenericArgument

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.GenericParam.html b/syn/enum.GenericParam.html index e350847..7a1f290 100644 --- a/syn/enum.GenericParam.html +++ b/syn/enum.GenericParam.html @@ -1,21 +1,33 @@ -GenericParam in syn - Rust

    Enum syn::GenericParam

    source ·
    pub enum GenericParam {
    +GenericParam in syn - Rust

    Enum syn::GenericParam

    source ·
    pub enum GenericParam {
         Type(TypeParam),
         Lifetime(LifetimeDef),
         Const(ConstParam),
    -}
    Expand description

    A generic type parameter, lifetime, or const generic: T: Into<String>, +}

    Expand description

    A generic type parameter, lifetime, or const generic: T: Into<String>, 'a: 'b, const LEN: usize.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Type(TypeParam)

    A generic type parameter: T: Into<String>.

    §

    Lifetime(LifetimeDef)

    A lifetime definition: 'a: 'b + 'c + 'd.

    §

    Const(ConstParam)

    A const generic parameter: const LENGTH: usize.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for GenericParam

    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 Debug for GenericParam

    source§

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

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

    impl From<ConstParam> for GenericParam

    source§

    fn from(e: ConstParam) -> GenericParam

    Converts to this type from the input type.
    source§

    impl From<LifetimeDef> for GenericParam

    source§

    fn from(e: LifetimeDef) -> GenericParam

    Converts to this type from the input type.
    source§

    impl From<TypeParam> for GenericParam

    source§

    fn from(e: TypeParam) -> GenericParam

    Converts to this type from the input type.
    source§

    impl Hash for GenericParam

    source§

    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
    source§

    impl Parse for GenericParam

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<GenericParam> for GenericParam

    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.
    source§

    impl ToTokens for GenericParam

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for GenericParam

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Lit.html b/syn/enum.Lit.html index 0904b44..a78a380 100644 --- a/syn/enum.Lit.html +++ b/syn/enum.Lit.html @@ -1,4 +1,4 @@ -Lit in syn - Rust

    Enum syn::Lit

    source ·
    pub enum Lit {
    +Lit in syn - Rust

    Enum syn::Lit

    source ·
    pub enum Lit {
         Str(LitStr),
         ByteStr(LitByteStr),
         Byte(LitByte),
    @@ -7,9 +7,9 @@
         Float(LitFloat),
         Bool(LitBool),
         Verbatim(Literal),
    -}
    Expand description

    A Rust literal such as a string or integer or boolean.

    +}
    Expand description

    A Rust literal such as a string or integer or boolean.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Str(LitStr)

    A UTF-8 string literal: "foo".

    §

    ByteStr(LitByteStr)

    A byte string literal: b"foo".

    §

    Byte(LitByte)

    A byte literal: b'f'.

    @@ -19,12 +19,24 @@

    Must be finite. May not be infinite or NaN.

    §

    Bool(LitBool)

    A boolean literal: true or false.

    §

    Verbatim(Literal)

    A raw token literal not interpreted by Syn.

    -

    Implementations§

    Interpret a Syn literal from a proc-macro2 literal.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Implementations§

    source§

    impl Lit

    source

    pub fn new(token: Literal) -> Self

    Interpret a Syn literal from a proc-macro2 literal.

    +
    source

    pub fn suffix(&self) -> &str

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    Trait Implementations§

    source§

    impl Clone for Lit

    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 Debug for Lit

    source§

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

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

    impl From<Lit> for NestedMeta

    source§

    fn from(e: Lit) -> NestedMeta

    Converts to this type from the input type.
    source§

    impl From<LitBool> for Lit

    source§

    fn from(e: LitBool) -> Lit

    Converts to this type from the input type.
    source§

    impl From<LitByte> for Lit

    source§

    fn from(e: LitByte) -> Lit

    Converts to this type from the input type.
    source§

    impl From<LitByteStr> for Lit

    source§

    fn from(e: LitByteStr) -> Lit

    Converts to this type from the input type.
    source§

    impl From<LitChar> for Lit

    source§

    fn from(e: LitChar) -> Lit

    Converts to this type from the input type.
    source§

    impl From<LitFloat> for Lit

    source§

    fn from(e: LitFloat) -> Lit

    Converts to this type from the input type.
    source§

    impl From<LitInt> for Lit

    source§

    fn from(e: LitInt) -> Lit

    Converts to this type from the input type.
    source§

    impl From<LitStr> for Lit

    source§

    fn from(e: LitStr) -> Lit

    Converts to this type from the input type.
    source§

    impl Hash for Lit

    source§

    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
    source§

    impl Parse for Lit

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Lit> for Lit

    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.
    source§

    impl ToTokens for Lit

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Lit

    source§

    impl Token for Lit

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Lit

    §

    impl !Send for Lit

    §

    impl !Sync for Lit

    §

    impl Unpin for Lit

    §

    impl UnwindSafe for Lit

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.MacroDelimiter.html b/syn/enum.MacroDelimiter.html index b4fcd1d..6635dd6 100644 --- a/syn/enum.MacroDelimiter.html +++ b/syn/enum.MacroDelimiter.html @@ -1,14 +1,24 @@ -MacroDelimiter in syn - Rust

    Enum syn::MacroDelimiter

    source ·
    pub enum MacroDelimiter {
    +MacroDelimiter in syn - Rust

    Enum syn::MacroDelimiter

    source ·
    pub enum MacroDelimiter {
         Paren(Paren),
         Brace(Brace),
         Bracket(Bracket),
    -}
    Expand description

    A grouping token that surrounds a macro body: m!(...) or m!{...} or m![...].

    +}
    Expand description

    A grouping token that surrounds a macro body: m!(...) or m!{...} or m![...].

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Variants§

    §

    Paren(Paren)

    §

    Brace(Brace)

    §

    Bracket(Bracket)

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Variants§

    §

    Paren(Paren)

    §

    Brace(Brace)

    §

    Bracket(Bracket)

    Trait Implementations§

    source§

    impl Clone for MacroDelimiter

    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 Debug for MacroDelimiter

    source§

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

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

    impl Hash for MacroDelimiter

    source§

    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
    source§

    impl PartialEq<MacroDelimiter> for MacroDelimiter

    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.
    source§

    impl Eq for MacroDelimiter

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Member.html b/syn/enum.Member.html index 8bc7ca2..9138151 100644 --- a/syn/enum.Member.html +++ b/syn/enum.Member.html @@ -1,17 +1,28 @@ -Member in syn - Rust

    Enum syn::Member

    source ·
    pub enum Member {
    +Member in syn - Rust

    Enum syn::Member

    source ·
    pub enum Member {
         Named(Ident),
         Unnamed(Index),
    -}
    Expand description

    A struct or tuple struct field accessed in a struct literal or field +}

    Expand description

    A struct or tuple struct field accessed in a struct literal or field expression.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Variants§

    §

    Named(Ident)

    A named field like self.x.

    §

    Unnamed(Index)

    An unnamed field like self.0.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Format this value as an identifier fragment.
    Span associated with this IdentFragment. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Member

    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 Debug for Member

    source§

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

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

    impl From<Ident> for Member

    source§

    fn from(ident: Ident) -> Member

    Converts to this type from the input type.
    source§

    impl From<Index> for Member

    source§

    fn from(index: Index) -> Member

    Converts to this type from the input type.
    source§

    impl From<usize> for Member

    source§

    fn from(index: usize) -> Member

    Converts to this type from the input type.
    source§

    impl Hash for Member

    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 IdentFragment for Member

    source§

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

    Format this value as an identifier fragment.
    source§

    fn span(&self) -> Option<Span>

    Span associated with this IdentFragment. Read more
    source§

    impl Parse for Member

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Member> for Member

    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.
    source§

    impl ToTokens for Member

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Member

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Member

    §

    impl !Send for Member

    §

    impl !Sync for Member

    §

    impl Unpin for Member

    §

    impl UnwindSafe for Member

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Meta.html b/syn/enum.Meta.html index f6aa908..7ae692a 100644 --- a/syn/enum.Meta.html +++ b/syn/enum.Meta.html @@ -1,8 +1,8 @@ -Meta in syn - Rust

    Enum syn::Meta

    source ·
    pub enum Meta {
    +Meta in syn - Rust

    Enum syn::Meta

    source ·
    pub enum Meta {
         Path(Path),
         List(MetaList),
         NameValue(MetaNameValue),
    -}
    Expand description

    Content of a compile-time structured attribute.

    +}
    Expand description

    Content of a compile-time structured attribute.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Path

    @@ -12,17 +12,29 @@ feature.

    NameValue

    A name-value meta is like the path = "..." in #[path = "sys/windows.rs"].

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Path(Path)

    §

    List(MetaList)

    A structured list within an attribute, like derive(Copy, Clone).

    §

    NameValue(MetaNameValue)

    A name-value pair within an attribute, like feature = "nightly".

    -

    Implementations§

    Returns the identifier that begins this structured meta item.

    +

    Implementations§

    source§

    impl Meta

    source

    pub fn path(&self) -> &Path

    Returns the identifier that begins this structured meta item.

    For example this would return the test in #[test], the derive in #[derive(Copy)], and the path in #[path = "sys/windows.rs"].

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Meta

    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 Debug for Meta

    source§

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

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

    impl From<Meta> for NestedMeta

    source§

    fn from(e: Meta) -> NestedMeta

    Converts to this type from the input type.
    source§

    impl From<MetaList> for Meta

    source§

    fn from(e: MetaList) -> Meta

    Converts to this type from the input type.
    source§

    impl From<MetaNameValue> for Meta

    source§

    fn from(e: MetaNameValue) -> Meta

    Converts to this type from the input type.
    source§

    impl From<Path> for Meta

    source§

    fn from(e: Path) -> Meta

    Converts to this type from the input type.
    source§

    impl Hash for Meta

    source§

    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
    source§

    impl Parse for Meta

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Meta> for Meta

    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.
    source§

    impl ToTokens for Meta

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Meta

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Meta

    §

    impl !Send for Meta

    §

    impl !Sync for Meta

    §

    impl Unpin for Meta

    §

    impl UnwindSafe for Meta

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.NestedMeta.html b/syn/enum.NestedMeta.html index 202c7d6..79d45c1 100644 --- a/syn/enum.NestedMeta.html +++ b/syn/enum.NestedMeta.html @@ -1,17 +1,29 @@ -NestedMeta in syn - Rust

    Enum syn::NestedMeta

    source ·
    pub enum NestedMeta {
    +NestedMeta in syn - Rust

    Enum syn::NestedMeta

    source ·
    pub enum NestedMeta {
         Meta(Meta),
         Lit(Lit),
    -}
    Expand description

    Element of a compile-time attribute list.

    +}
    Expand description

    Element of a compile-time attribute list.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Variants§

    §

    Meta(Meta)

    A structured meta item, like the Copy in #[derive(Copy)] which would be a nested Meta::Path.

    §

    Lit(Lit)

    A Rust literal, like the "new_name" in #[rename("new_name")].

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for NestedMeta

    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 Debug for NestedMeta

    source§

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

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

    impl From<Lit> for NestedMeta

    source§

    fn from(e: Lit) -> NestedMeta

    Converts to this type from the input type.
    source§

    impl From<Meta> for NestedMeta

    source§

    fn from(e: Meta) -> NestedMeta

    Converts to this type from the input type.
    source§

    impl Hash for NestedMeta

    source§

    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
    source§

    impl Parse for NestedMeta

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<NestedMeta> for NestedMeta

    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.
    source§

    impl ToTokens for NestedMeta

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for NestedMeta

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.PathArguments.html b/syn/enum.PathArguments.html index dc8b8cd..88565b2 100644 --- a/syn/enum.PathArguments.html +++ b/syn/enum.PathArguments.html @@ -1,8 +1,8 @@ -PathArguments in syn - Rust

    Enum syn::PathArguments

    source ·
    pub enum PathArguments {
    +PathArguments in syn - Rust

    Enum syn::PathArguments

    source ·
    pub enum PathArguments {
         None,
         AngleBracketed(AngleBracketedGenericArguments),
         Parenthesized(ParenthesizedGenericArguments),
    -}
    Expand description

    Angle bracketed or parenthesized arguments of a path segment.

    +}
    Expand description

    Angle bracketed or parenthesized arguments of a path segment.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Angle bracketed

    @@ -11,11 +11,23 @@ feature.

    The (A, B) -> C in Fn(A, B) -> C.

    Variants§

    §

    None

    §

    AngleBracketed(AngleBracketedGenericArguments)

    The <'a, T> in std::slice::iter<'a, T>.

    §

    Parenthesized(ParenthesizedGenericArguments)

    The (A, B) -> C in Fn(A, B) -> C.

    -

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Implementations§

    source§

    impl PathArguments

    source

    pub fn is_empty(&self) -> bool

    source

    pub fn is_none(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for PathArguments

    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 Debug for PathArguments

    source§

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

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

    impl Default for PathArguments

    source§

    fn default() -> Self

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

    impl Hash for PathArguments

    source§

    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
    source§

    impl PartialEq<PathArguments> for PathArguments

    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.
    source§

    impl ToTokens for PathArguments

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for PathArguments

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.ReturnType.html b/syn/enum.ReturnType.html index 1e68c3e..aa72426 100644 --- a/syn/enum.ReturnType.html +++ b/syn/enum.ReturnType.html @@ -1,17 +1,29 @@ -ReturnType in syn - Rust

    Enum syn::ReturnType

    source ·
    pub enum ReturnType {
    +ReturnType in syn - Rust

    Enum syn::ReturnType

    source ·
    pub enum ReturnType {
         Default,
    -    Type(RArrowBox<Type>),
    -}
    Expand description

    Return type of a function signature.

    + Type(RArrow, Box<Type>), +}
    Expand description

    Return type of a function signature.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Variants§

    §

    Default

    Return type is not specified.

    Functions default to () and closures default to type inference.

    -
    §

    Type(RArrowBox<Type>)

    A particular type is returned.

    -

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    §

    Type(RArrow, Box<Type>)

    A particular type is returned.

    +

    Implementations§

    Trait Implementations§

    source§

    impl Clone for ReturnType

    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 Debug for ReturnType

    source§

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

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

    impl Hash for ReturnType

    source§

    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
    source§

    impl Parse for ReturnType

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ReturnType> for ReturnType

    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.
    source§

    impl ToTokens for ReturnType

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ReturnType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.StrStyle.html b/syn/enum.StrStyle.html index e7e06c1..d02626a 100644 --- a/syn/enum.StrStyle.html +++ b/syn/enum.StrStyle.html @@ -1,13 +1,19 @@ -StrStyle in syn - Rust

    Enum syn::StrStyle

    source ·
    pub enum StrStyle {
    +StrStyle in syn - Rust

    Enum syn::StrStyle

    source ·
    pub enum StrStyle {
         Cooked,
    -    Raw(usize),
    -}
    Expand description

    The style of a string literal, either plain quoted or a raw string like + Raw(usize), +}

    Expand description

    The style of a string literal, either plain quoted or a raw string like r##"data"##.

    Variants§

    §

    Cooked

    An ordinary string like "data".

    -
    §

    Raw(usize)

    A raw string like r##"data"##.

    +
    §

    Raw(usize)

    A raw string like r##"data"##.

    The unsigned integer is the number of # symbols used.

    -

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.TraitBoundModifier.html b/syn/enum.TraitBoundModifier.html index 33cbe34..1e8cfd9 100644 --- a/syn/enum.TraitBoundModifier.html +++ b/syn/enum.TraitBoundModifier.html @@ -1,15 +1,27 @@ -TraitBoundModifier in syn - Rust
    pub enum TraitBoundModifier {
    +TraitBoundModifier in syn - Rust
    pub enum TraitBoundModifier {
         None,
         Maybe(Question),
    -}
    Expand description

    A modifier on a trait bound, currently only used for the ? in +}

    Expand description

    A modifier on a trait bound, currently only used for the ? in ?Sized.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Variants§

    §

    None

    §

    Maybe(Question)

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Variants§

    §

    None

    §

    Maybe(Question)

    Trait Implementations§

    source§

    impl Clone for TraitBoundModifier

    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 Debug for TraitBoundModifier

    source§

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

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

    impl Hash for TraitBoundModifier

    source§

    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
    source§

    impl Parse for TraitBoundModifier

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TraitBoundModifier> for TraitBoundModifier

    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.
    source§

    impl ToTokens for TraitBoundModifier

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for TraitBoundModifier

    source§

    impl Eq for TraitBoundModifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Type.html b/syn/enum.Type.html index d24e872..003173c 100644 --- a/syn/enum.Type.html +++ b/syn/enum.Type.html @@ -1,6 +1,5 @@ -Type in syn - Rust

    Enum syn::Type

    source ·
    #[non_exhaustive]
    -pub enum Type {
    -
    Show 15 variants Array(TypeArray), +Type in syn - Rust

    Enum syn::Type

    source ·
    #[non_exhaustive]
    pub enum Type { +
    Show 15 variants Array(TypeArray), BareFn(TypeBareFn), Group(TypeGroup), ImplTrait(TypeImplTrait), @@ -15,12 +14,12 @@ pub enum Type { TraitObject(TypeTraitObject), Tuple(TypeTuple), Verbatim(TokenStream), -
    }
    Expand description

    The possible types that a Rust value could have.

    +
    }
    Expand description

    The possible types that a Rust value could have.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    -

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Array(TypeArray)

    A fixed size array type: [T; n].

    +

    This type is a syntax tree enum.

    +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Array(TypeArray)

    A fixed size array type: [T; n].

    §

    BareFn(TypeBareFn)

    A bare function type: fn(usize) -> bool.

    §

    Group(TypeGroup)

    A type contained within invisible delimiters.

    §

    ImplTrait(TypeImplTrait)

    An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or @@ -38,15 +37,27 @@ self-type as in <Vec<T> as SomeTrait>::Associated.

    trait or a lifetime.

    §

    Tuple(TypeTuple)

    A tuple type: (A, B, C, String).

    §

    Verbatim(TokenStream)

    Tokens in type position not interpreted by Syn.

    -

    Implementations§

    In some positions, types may not contain the + character, to +

    Implementations§

    source§

    impl Type

    source

    pub fn without_plus(input: ParseStream<'_>) -> Result<Self>

    In some positions, types may not contain the + character, to disambiguate them. For example in the expression 1 as T, T may not contain a + character.

    This parser does not allow a +, while the default parser does.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Type

    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 Debug for Type

    source§

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

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

    impl From<TypeArray> for Type

    source§

    fn from(e: TypeArray) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeBareFn> for Type

    source§

    fn from(e: TypeBareFn) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeGroup> for Type

    source§

    fn from(e: TypeGroup) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeImplTrait> for Type

    source§

    fn from(e: TypeImplTrait) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeInfer> for Type

    source§

    fn from(e: TypeInfer) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeMacro> for Type

    source§

    fn from(e: TypeMacro) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeNever> for Type

    source§

    fn from(e: TypeNever) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeParen> for Type

    source§

    fn from(e: TypeParen) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypePath> for Type

    source§

    fn from(e: TypePath) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypePtr> for Type

    source§

    fn from(e: TypePtr) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeReference> for Type

    source§

    fn from(e: TypeReference) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeSlice> for Type

    source§

    fn from(e: TypeSlice) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeTraitObject> for Type

    source§

    fn from(e: TypeTraitObject) -> Type

    Converts to this type from the input type.
    source§

    impl From<TypeTuple> for Type

    source§

    fn from(e: TypeTuple) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for Type

    source§

    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
    source§

    impl Parse for Type

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Type> for Type

    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.
    source§

    impl ToTokens for Type

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Type

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Type

    §

    impl !Send for Type

    §

    impl !Sync for Type

    §

    impl Unpin for Type

    §

    impl UnwindSafe for Type

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.TypeParamBound.html b/syn/enum.TypeParamBound.html index f6f0440..9fd264c 100644 --- a/syn/enum.TypeParamBound.html +++ b/syn/enum.TypeParamBound.html @@ -1,14 +1,26 @@ -TypeParamBound in syn - Rust

    Enum syn::TypeParamBound

    source ·
    pub enum TypeParamBound {
    +TypeParamBound in syn - Rust

    Enum syn::TypeParamBound

    source ·
    pub enum TypeParamBound {
         Trait(TraitBound),
         Lifetime(Lifetime),
    -}
    Expand description

    A trait or lifetime used as a bound on a type parameter.

    +}
    Expand description

    A trait or lifetime used as a bound on a type parameter.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Variants§

    §

    Trait(TraitBound)

    §

    Lifetime(Lifetime)

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Variants§

    §

    Trait(TraitBound)

    §

    Lifetime(Lifetime)

    Trait Implementations§

    source§

    impl Clone for TypeParamBound

    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 Debug for TypeParamBound

    source§

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

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

    impl From<Lifetime> for TypeParamBound

    source§

    fn from(e: Lifetime) -> TypeParamBound

    Converts to this type from the input type.
    source§

    impl From<TraitBound> for TypeParamBound

    source§

    fn from(e: TraitBound) -> TypeParamBound

    Converts to this type from the input type.
    source§

    impl Hash for TypeParamBound

    source§

    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
    source§

    impl Parse for TypeParamBound

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeParamBound> for TypeParamBound

    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.
    source§

    impl ToTokens for TypeParamBound

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeParamBound

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.UnOp.html b/syn/enum.UnOp.html index 76d81d1..b2a6746 100644 --- a/syn/enum.UnOp.html +++ b/syn/enum.UnOp.html @@ -1,18 +1,30 @@ -UnOp in syn - Rust

    Enum syn::UnOp

    source ·
    pub enum UnOp {
    +UnOp in syn - Rust

    Enum syn::UnOp

    source ·
    pub enum UnOp {
         Deref(Star),
         Not(Bang),
         Neg(Sub),
    -}
    Expand description

    A unary operator: *, !, -.

    +}
    Expand description

    A unary operator: *, !, -.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Variants§

    §

    Deref(Star)

    The * operator for dereferencing

    §

    Not(Bang)

    The ! operator for logical inversion

    §

    Neg(Sub)

    The - operator for negation

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for UnOp

    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 Debug for UnOp

    source§

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

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

    impl Hash for UnOp

    source§

    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
    source§

    impl Parse for UnOp

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<UnOp> for UnOp

    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.
    source§

    impl ToTokens for UnOp

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for UnOp

    source§

    impl Eq for UnOp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for UnOp

    §

    impl !Send for UnOp

    §

    impl !Sync for UnOp

    §

    impl Unpin for UnOp

    §

    impl UnwindSafe for UnOp

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.Visibility.html b/syn/enum.Visibility.html index 7bfa248..61f0ac7 100644 --- a/syn/enum.Visibility.html +++ b/syn/enum.Visibility.html @@ -1,24 +1,36 @@ -Visibility in syn - Rust

    Enum syn::Visibility

    source ·
    pub enum Visibility {
    +Visibility in syn - Rust

    Enum syn::Visibility

    source ·
    pub enum Visibility {
         Public(VisPublic),
         Crate(VisCrate),
         Restricted(VisRestricted),
         Inherited,
    -}
    Expand description

    The visibility level of an item: inherited or pub or +}

    Expand description

    The visibility level of an item: inherited or pub or pub(restricted).

    This type is available only if Syn is built with the "derive" or "full" feature.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Public(VisPublic)

    A public visibility level: pub.

    §

    Crate(VisCrate)

    A crate-level visibility: crate.

    §

    Restricted(VisRestricted)

    A visibility level restricted to some path: pub(self) or pub(super) or pub(crate) or pub(in some::module).

    §

    Inherited

    An inherited visibility, which usually means private.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Visibility

    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 Debug for Visibility

    source§

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

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

    impl From<VisCrate> for Visibility

    source§

    fn from(e: VisCrate) -> Visibility

    Converts to this type from the input type.
    source§

    impl From<VisPublic> for Visibility

    source§

    fn from(e: VisPublic) -> Visibility

    Converts to this type from the input type.
    source§

    impl From<VisRestricted> for Visibility

    source§

    fn from(e: VisRestricted) -> Visibility

    Converts to this type from the input type.
    source§

    impl Hash for Visibility

    source§

    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
    source§

    impl Parse for Visibility

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Visibility> for Visibility

    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.
    source§

    impl ToTokens for Visibility

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Visibility

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/enum.WherePredicate.html b/syn/enum.WherePredicate.html index b0f7f8c..83559e1 100644 --- a/syn/enum.WherePredicate.html +++ b/syn/enum.WherePredicate.html @@ -1,20 +1,32 @@ -WherePredicate in syn - Rust

    Enum syn::WherePredicate

    source ·
    pub enum WherePredicate {
    +WherePredicate in syn - Rust

    Enum syn::WherePredicate

    source ·
    pub enum WherePredicate {
         Type(PredicateType),
         Lifetime(PredicateLifetime),
         Eq(PredicateEq),
    -}
    Expand description

    A single predicate in a where clause: T: Deserialize<'de>.

    +}
    Expand description

    A single predicate in a where clause: T: Deserialize<'de>.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Syntax tree enum

    -

    This type is a syntax tree enum.

    +

    This type is a syntax tree enum.

    Variants§

    §

    Type(PredicateType)

    A type predicate in a where clause: for<'c> Foo<'c>: Trait<'c>.

    §

    Lifetime(PredicateLifetime)

    A lifetime predicate in a where clause: 'a: 'b + 'c.

    §

    Eq(PredicateEq)

    An equality predicate in a where clause (unsupported).

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for WherePredicate

    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 Debug for WherePredicate

    source§

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

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

    impl From<PredicateEq> for WherePredicate

    source§

    fn from(e: PredicateEq) -> WherePredicate

    Converts to this type from the input type.
    source§

    impl From<PredicateLifetime> for WherePredicate

    source§

    fn from(e: PredicateLifetime) -> WherePredicate

    Converts to this type from the input type.
    source§

    impl From<PredicateType> for WherePredicate

    source§

    fn from(e: PredicateType) -> WherePredicate

    Converts to this type from the input type.
    source§

    impl Hash for WherePredicate

    source§

    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
    source§

    impl Parse for WherePredicate

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<WherePredicate> for WherePredicate

    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.
    source§

    impl ToTokens for WherePredicate

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for WherePredicate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/ext/index.html b/syn/ext/index.html index be8043e..d9aff1b 100644 --- a/syn/ext/index.html +++ b/syn/ext/index.html @@ -1,3 +1,3 @@ -syn::ext - Rust

    Module syn::ext

    source ·
    Expand description

    Extension traits to provide parsing methods on foreign types.

    +syn::ext - Rust

    Module syn::ext

    source ·
    Expand description

    Extension traits to provide parsing methods on foreign types.

    This module is available only if Syn is built with the "parsing" feature.

    -

    Traits

    Additional methods for Ident not provided by proc-macro2 or libproc_macro.
    \ No newline at end of file +

    Traits

    • Additional methods for Ident not provided by proc-macro2 or libproc_macro.
    \ No newline at end of file diff --git a/syn/ext/sidebar-items.js b/syn/ext/sidebar-items.js index 7fc1587..6e9f1c5 100644 --- a/syn/ext/sidebar-items.js +++ b/syn/ext/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"trait":[["IdentExt","Additional methods for `Ident` not provided by proc-macro2 or libproc_macro."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":["IdentExt"]}; \ No newline at end of file diff --git a/syn/ext/trait.IdentExt.html b/syn/ext/trait.IdentExt.html index 008d42a..5a26d2d 100644 --- a/syn/ext/trait.IdentExt.html +++ b/syn/ext/trait.IdentExt.html @@ -1,17 +1,18 @@ -IdentExt in syn::ext - Rust
    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/syn/fn.parse.html b/syn/fn.parse.html index ae2a2d3..82a13f1 100644 --- a/syn/fn.parse.html +++ b/syn/fn.parse.html @@ -1,11 +1,11 @@ -parse in syn - Rust

    Function syn::parse

    source ·
    pub fn parse<T: Parse>(tokens: TokenStream) -> Result<T>
    Expand description

    Parse tokens of source code into the chosen syntax tree node.

    +parse in syn - Rust

    Function syn::parse

    source ·
    pub fn parse<T: Parse>(tokens: TokenStream) -> Result<T>
    Expand description

    Parse tokens of source code into the chosen syntax tree node.

    This is preferred over parsing a string because tokens are able to preserve information about where in the user’s code they were originally written (the “span” of the token), possibly allowing the compiler to produce better error messages.

    This function parses a proc_macro::TokenStream which is the type used for interop with the compiler in a procedural macro. To parse a -proc_macro2::TokenStream, use syn::parse2 instead.

    +proc_macro2::TokenStream, use syn::parse2 instead.

    This function is available only if Syn is built with both the "parsing" and "proc-macro" features.

    Examples

    @@ -26,4 +26,4 @@ interop with the compiler in a procedural macro. To parse a // Convert into a token stream and return it expanded.into() }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/fn.parse2.html b/syn/fn.parse2.html index bd0f107..a15d65a 100644 --- a/syn/fn.parse2.html +++ b/syn/fn.parse2.html @@ -1,10 +1,10 @@ -parse2 in syn - Rust

    Function syn::parse2

    source ·
    pub fn parse2<T: Parse>(tokens: TokenStream) -> Result<T>
    Expand description

    Parse a proc-macro2 token stream into the chosen syntax tree node.

    +parse2 in syn - Rust

    Function syn::parse2

    source ·
    pub fn parse2<T: Parse>(tokens: TokenStream) -> Result<T>
    Expand description

    Parse a proc-macro2 token stream into the chosen syntax tree node.

    This function will check that the input is fully parsed. If there are any unparsed tokens at the end of the stream, an error is returned.

    This function parses a proc_macro2::TokenStream which is commonly useful when the input comes from a node of the Syn syntax tree, for example the -body tokens of a Macro node. When in a procedural macro parsing the -proc_macro::TokenStream provided by the compiler, use syn::parse +body tokens of a Macro node. When in a procedural macro parsing the +proc_macro::TokenStream provided by the compiler, use syn::parse instead.

    This function is available only if Syn is built with the "parsing" feature.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/syn/fn.parse_str.html b/syn/fn.parse_str.html index 344eb09..9606e1f 100644 --- a/syn/fn.parse_str.html +++ b/syn/fn.parse_str.html @@ -1,4 +1,4 @@ -parse_str in syn - Rust

    Function syn::parse_str

    source ·
    pub fn parse_str<T: Parse>(s: &str) -> Result<T>
    Expand description

    Parse a string of Rust code into the chosen syntax tree node.

    +parse_str in syn - Rust

    Function syn::parse_str

    source ·
    pub fn parse_str<T: Parse>(s: &str) -> Result<T>
    Expand description

    Parse a string of Rust code into the chosen syntax tree node.

    This function is available only if Syn is built with the "parsing" feature.

    Hygiene

    Every span in the resulting syntax tree will be set to resolve at the macro @@ -12,4 +12,4 @@ call site.

    println!("{:#?}", expr); Ok(()) }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/index.html b/syn/index.html index 83569b8..7494c08 100644 --- a/syn/index.html +++ b/syn/index.html @@ -1,4 +1,4 @@ -syn - Rust

    Crate syn

    source ·
    Expand description

    githubcrates-iodocs-rs

    +syn - Rust

    Crate syn

    source ·
    Expand description

    githubcrates-iodocs-rs


    Syn is a parsing library for parsing a stream of Rust tokens into a syntax tree of Rust source code.

    @@ -10,16 +10,16 @@ contains some APIs that may be useful more generally.

    represent any valid Rust source code. The syntax tree is rooted at syn::File which represents a full source file, but there are other entry points that may be useful to procedural macros including -syn::Item, syn::Expr and syn::Type.

    +syn::Item, syn::Expr and syn::Type.

  • Derives — Of particular interest to derive macros is -syn::DeriveInput which is any of the three legal input items to a +syn::DeriveInput which is any of the three legal input items to a derive macro. An example below shows using this type in a library that can derive implementations of a user-defined trait.

  • -

    Parsing — Parsing in Syn is built around parser functions with the +

    Parsing — Parsing in Syn is built around parser functions with the signature fn(ParseStream) -> Result<T>. Every syntax tree node defined by Syn is individually parsable and may be used as a building block for custom syntaxes, or you may dream up your own brand new syntax without @@ -173,27 +173,27 @@ types.

  • proc-macro (enabled by default) — Runtime dependency on the dynamic library libproc_macro from rustc toolchain.
  • -

    Re-exports

    pub use crate::ident::Ident;

    Modules

    A stably addressed token buffer supporting efficient traversal based on a -cheaply copyable cursor.
    Extension traits to provide parsing methods on foreign types.
    Parsing interface for parsing a token stream into a syntax tree node.
    A punctuated sequence of syntax tree nodes separated by punctuation.
    A trait that can provide the Span of the complete contents of a syntax -tree node.
    Tokens representing Rust punctuation, keywords, and delimiters.
    Syntax tree traversal to walk a shared borrow of a syntax tree.

    Macros

    A type-macro that expands to the name of the Rust type representation of a -given token.
    Parse a set of curly braces and expose their content to subsequent parsers.
    Parse a set of square brackets and expose their content to subsequent -parsers.
    Define a type that supports parsing and printing a given identifier as if it -were a keyword.
    Define a type that supports parsing and printing a multi-character symbol -as if it were a punctuation token.
    Parse a set of parentheses and expose their content to subsequent parsers.
    Parse the input TokenStream of a macro, triggering a compile error if the -tokens fail to parse.
    Quasi-quotation macro that accepts input like the quote! macro but uses -type inference to figure out a return type for those tokens.

    Structs

    The binary interface of a function: extern "C".
    Angle bracketed arguments of a path segment: the <K, V> in HashMap<K, V>.
    An attribute like #[repr(transparent)].
    An argument in a function type: the usize in fn(usize) -> bool.
    A binding (equality constraint) on an associated type: Item = u8.
    A set of bound lifetimes: for<'a, 'b, 'c>.
    A const generic parameter: const LENGTH: usize.
    An associated type bound: Iterator<Item: Display>.
    An enum input to a proc_macro_derive macro.
    A struct input to a proc_macro_derive macro.
    An untagged union input to a proc_macro_derive macro.
    Data structure sent to a proc_macro_derive macro.
    Error returned when a Syn parser cannot parse the input tokens.
    A slice literal expression: [a, b, c, d].
    An assignment expression: a = compute().
    A compound assignment expression: counter += 1.
    An async block: async { ... }.
    An await expression: fut.await.
    A binary operation: a + b, a * b.
    A blocked scope: { ... }.
    A box expression: box f.
    A break, with an optional label to break and an optional -expression.
    A function call expression: invoke(a, b).
    A cast expression: foo as f64.
    A closure expression: |a, b| a + b.
    A continue, with an optional label.
    Access of a named struct field (obj.k) or unnamed tuple struct -field (obj.0).
    A for loop: for pat in expr { ... }.
    An expression contained within invisible delimiters.
    An if expression with an optional else block: if expr { ... } else { ... }.
    A square bracketed indexing expression: vector[2].
    A let guard: let Some(x) = opt.
    A literal in place of an expression: 1, "foo".
    Conditionless loop: loop { ... }.
    A macro invocation expression: format!("{}", q).
    A match expression: match n { Some(n) => {}, None => {} }.
    A method call expression: x.foo::<T>(a, b).
    A parenthesized expression: (a + b).
    A path like std::mem::replace possibly containing generic -parameters and a qualified self-type.
    A range expression: 1..2, 1.., ..2, 1..=2, ..=2.
    A referencing operation: &a or &mut a.
    An array literal constructed from one repeated element: [0u8; N].
    A return, with an optional value to be returned.
    A struct literal expression: Point { x: 1, y: 1 }.
    A try-expression: expr?.
    A try block: try { ... }.
    A tuple expression: (a, b, c, d).
    A type ascription expression: foo: f64.
    A unary operation: !x, *x.
    An unsafe block: unsafe { ... }.
    A while loop: while expr { ... }.
    A yield expression: yield expr.
    A field of a struct or enum variant.
    Named fields of a struct or struct variant such as Point { x: f64, y: f64 }.
    Unnamed fields of a tuple struct or tuple variant such as Some(T).
    Lifetimes and type parameters attached to a declaration of a function, -enum, trait, etc.
    A word of Rust code, which may be a keyword or legal variable name.
    Returned by Generics::split_for_impl.
    The index of an unnamed tuple struct field.
    A Rust lifetime: 'a.
    A lifetime definition: 'a: 'b + 'c + 'd.
    A boolean literal: true or false.
    A byte literal: b'f'.
    A byte string literal: b"foo".
    A character literal: 'a'.
    A floating point literal: 1f64 or 1.0e10f64.
    An integer literal: 1 or 1u16.
    A UTF-8 string literal: "foo".
    A macro invocation: println!("{}", mac).
    A structured list within an attribute, like derive(Copy, Clone).
    A name-value pair within an attribute, like feature = "nightly".
    Arguments of a function path segment: the (A, B) -> C in Fn(A,B) -> C.
    A path at which a named item is exported (e.g. std::collections::HashMap).
    A segment of a path together with any path arguments on that segment.
    An equality predicate in a where clause (unsupported).
    A lifetime predicate in a where clause: 'a: 'b + 'c.
    A type predicate in a where clause: for<'c> Foo<'c>: Trait<'c>.
    The explicit Self type in a qualified path: the T in <T as Display>::fmt.
    A trait used as a bound on a type parameter.
    Returned by TypeGenerics::as_turbofish.
    A fixed size array type: [T; n].
    A bare function type: fn(usize) -> bool.
    Returned by Generics::split_for_impl.
    A type contained within invisible delimiters.
    An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or -a lifetime.
    Indication that a type should be inferred by the compiler: _.
    A macro in the type position.
    The never type: !.
    A generic type parameter: T: Into<String>.
    A parenthesized type equivalent to the inner type.
    A path like std::slice::Iter, optionally qualified with a -self-type as in <Vec<T> as SomeTrait>::Associated.
    A raw pointer type: *const T or *mut T.
    A reference type: &'a T or &'a mut T.
    A dynamically sized slice type: [T].
    A trait object type dyn Bound1 + Bound2 + Bound3 where Bound is a -trait or a lifetime.
    A tuple type: (A, B, C, String).
    The variadic argument of a foreign function.
    An enum variant.
    A crate-level visibility: crate.
    A public visibility level: pub.
    A visibility level restricted to some path: pub(self) or -pub(super) or pub(crate) or pub(in some::module).
    A where clause in a definition: where T: Deserialize<'de>, D: 'static.

    Enums

    Distinguishes between attributes that decorate an item and attributes -that are contained within an item.
    A binary operator: +, +=, &.
    The storage of a struct, enum or union data structure.
    A Rust expression.
    Data stored within an enum variant or struct.
    An individual generic argument, like 'a, T, or Item = T.
    A generic type parameter, lifetime, or const generic: T: Into<String>, -'a: 'b, const LEN: usize.
    A Rust literal such as a string or integer or boolean.
    A grouping token that surrounds a macro body: m!(...) or m!{...} or m![...].
    A struct or tuple struct field accessed in a struct literal or field -expression.
    Content of a compile-time structured attribute.
    Element of a compile-time attribute list.
    Angle bracketed or parenthesized arguments of a path segment.
    Return type of a function signature.
    The style of a string literal, either plain quoted or a raw string like -r##"data"##.
    A modifier on a trait bound, currently only used for the ? in -?Sized.
    The possible types that a Rust value could have.
    A trait or lifetime used as a bound on a type parameter.
    A unary operator: *, !, -.
    The visibility level of an item: inherited or pub or -pub(restricted).
    A single predicate in a where clause: T: Deserialize<'de>.

    Functions

    Parse tokens of source code into the chosen syntax tree node.
    Parse a proc-macro2 token stream into the chosen syntax tree node.
    Parse a string of Rust code into the chosen syntax tree node.

    Type Definitions

    Conventional argument type associated with an invocation of an attribute -macro.
    The result of a Syn parser.
    \ No newline at end of file +

    Re-exports

    • pub use crate::ident::Ident;
    • pub use crate::lifetime::Lifetime;
    • pub use crate::lifetime::Lifetime;
    • pub use crate::lit::Lit;
    • pub use crate::lit::Lit;
    • pub use crate::lit::LitBool;
    • pub use crate::lit::LitBool;
    • pub use crate::lit::LitByte;
    • pub use crate::lit::LitByte;
    • pub use crate::lit::LitByteStr;
    • pub use crate::lit::LitByteStr;
    • pub use crate::lit::LitChar;
    • pub use crate::lit::LitChar;
    • pub use crate::lit::LitFloat;
    • pub use crate::lit::LitFloat;
    • pub use crate::lit::LitInt;
    • pub use crate::lit::LitInt;
    • pub use crate::lit::LitStr;
    • pub use crate::lit::LitStr;

    Modules

    • A stably addressed token buffer supporting efficient traversal based on a +cheaply copyable cursor.
    • Extension traits to provide parsing methods on foreign types.
    • Parsing interface for parsing a token stream into a syntax tree node.
    • A punctuated sequence of syntax tree nodes separated by punctuation.
    • A trait that can provide the Span of the complete contents of a syntax +tree node.
    • Tokens representing Rust punctuation, keywords, and delimiters.
    • Syntax tree traversal to walk a shared borrow of a syntax tree.

    Macros

    • A type-macro that expands to the name of the Rust type representation of a +given token.
    • Parse a set of curly braces and expose their content to subsequent parsers.
    • Parse a set of square brackets and expose their content to subsequent +parsers.
    • Define a type that supports parsing and printing a given identifier as if it +were a keyword.
    • Define a type that supports parsing and printing a multi-character symbol +as if it were a punctuation token.
    • Parse a set of parentheses and expose their content to subsequent parsers.
    • Parse the input TokenStream of a macro, triggering a compile error if the +tokens fail to parse.
    • Quasi-quotation macro that accepts input like the quote! macro but uses +type inference to figure out a return type for those tokens.
    • This macro is parse_quote! + quote_spanned!.

    Structs

    • The binary interface of a function: extern "C".
    • Angle bracketed arguments of a path segment: the <K, V> in HashMap<K, V>.
    • An attribute like #[repr(transparent)].
    • An argument in a function type: the usize in fn(usize) -> bool.
    • A binding (equality constraint) on an associated type: Item = u8.
    • A set of bound lifetimes: for<'a, 'b, 'c>.
    • A const generic parameter: const LENGTH: usize.
    • An associated type bound: Iterator<Item: Display>.
    • An enum input to a proc_macro_derive macro.
    • A struct input to a proc_macro_derive macro.
    • An untagged union input to a proc_macro_derive macro.
    • Data structure sent to a proc_macro_derive macro.
    • Error returned when a Syn parser cannot parse the input tokens.
    • A slice literal expression: [a, b, c, d].
    • An assignment expression: a = compute().
    • A compound assignment expression: counter += 1.
    • An async block: async { ... }.
    • An await expression: fut.await.
    • A binary operation: a + b, a * b.
    • A blocked scope: { ... }.
    • A box expression: box f.
    • A break, with an optional label to break and an optional +expression.
    • A function call expression: invoke(a, b).
    • A cast expression: foo as f64.
    • A closure expression: |a, b| a + b.
    • A continue, with an optional label.
    • Access of a named struct field (obj.k) or unnamed tuple struct +field (obj.0).
    • A for loop: for pat in expr { ... }.
    • An expression contained within invisible delimiters.
    • An if expression with an optional else block: if expr { ... } else { ... }.
    • A square bracketed indexing expression: vector[2].
    • A let guard: let Some(x) = opt.
    • A literal in place of an expression: 1, "foo".
    • Conditionless loop: loop { ... }.
    • A macro invocation expression: format!("{}", q).
    • A match expression: match n { Some(n) => {}, None => {} }.
    • A method call expression: x.foo::<T>(a, b).
    • A parenthesized expression: (a + b).
    • A path like std::mem::replace possibly containing generic +parameters and a qualified self-type.
    • A range expression: 1..2, 1.., ..2, 1..=2, ..=2.
    • A referencing operation: &a or &mut a.
    • An array literal constructed from one repeated element: [0u8; N].
    • A return, with an optional value to be returned.
    • A struct literal expression: Point { x: 1, y: 1 }.
    • A try-expression: expr?.
    • A try block: try { ... }.
    • A tuple expression: (a, b, c, d).
    • A type ascription expression: foo: f64.
    • A unary operation: !x, *x.
    • An unsafe block: unsafe { ... }.
    • A while loop: while expr { ... }.
    • A yield expression: yield expr.
    • A field of a struct or enum variant.
    • Named fields of a struct or struct variant such as Point { x: f64, y: f64 }.
    • Unnamed fields of a tuple struct or tuple variant such as Some(T).
    • Lifetimes and type parameters attached to a declaration of a function, +enum, trait, etc.
    • A word of Rust code, which may be a keyword or legal variable name.
    • Returned by Generics::split_for_impl.
    • The index of an unnamed tuple struct field.
    • A Rust lifetime: 'a.
    • A lifetime definition: 'a: 'b + 'c + 'd.
    • A boolean literal: true or false.
    • A byte literal: b'f'.
    • A byte string literal: b"foo".
    • A character literal: 'a'.
    • A floating point literal: 1f64 or 1.0e10f64.
    • An integer literal: 1 or 1u16.
    • A UTF-8 string literal: "foo".
    • A macro invocation: println!("{}", mac).
    • A structured list within an attribute, like derive(Copy, Clone).
    • A name-value pair within an attribute, like feature = "nightly".
    • Arguments of a function path segment: the (A, B) -> C in Fn(A,B) -> C.
    • A path at which a named item is exported (e.g. std::collections::HashMap).
    • A segment of a path together with any path arguments on that segment.
    • An equality predicate in a where clause (unsupported).
    • A lifetime predicate in a where clause: 'a: 'b + 'c.
    • A type predicate in a where clause: for<'c> Foo<'c>: Trait<'c>.
    • The explicit Self type in a qualified path: the T in <T as Display>::fmt.
    • A trait used as a bound on a type parameter.
    • Returned by TypeGenerics::as_turbofish.
    • A fixed size array type: [T; n].
    • A bare function type: fn(usize) -> bool.
    • Returned by Generics::split_for_impl.
    • A type contained within invisible delimiters.
    • An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or +a lifetime.
    • Indication that a type should be inferred by the compiler: _.
    • A macro in the type position.
    • The never type: !.
    • A generic type parameter: T: Into<String>.
    • A parenthesized type equivalent to the inner type.
    • A path like std::slice::Iter, optionally qualified with a +self-type as in <Vec<T> as SomeTrait>::Associated.
    • A raw pointer type: *const T or *mut T.
    • A reference type: &'a T or &'a mut T.
    • A dynamically sized slice type: [T].
    • A trait object type dyn Bound1 + Bound2 + Bound3 where Bound is a +trait or a lifetime.
    • A tuple type: (A, B, C, String).
    • The variadic argument of a foreign function.
    • An enum variant.
    • A crate-level visibility: crate.
    • A public visibility level: pub.
    • A visibility level restricted to some path: pub(self) or +pub(super) or pub(crate) or pub(in some::module).
    • A where clause in a definition: where T: Deserialize<'de>, D: 'static.

    Enums

    • Distinguishes between attributes that decorate an item and attributes +that are contained within an item.
    • A binary operator: +, +=, &.
    • The storage of a struct, enum or union data structure.
    • A Rust expression.
    • Data stored within an enum variant or struct.
    • An individual generic argument, like 'a, T, or Item = T.
    • A generic type parameter, lifetime, or const generic: T: Into<String>, +'a: 'b, const LEN: usize.
    • A Rust literal such as a string or integer or boolean.
    • A grouping token that surrounds a macro body: m!(...) or m!{...} or m![...].
    • A struct or tuple struct field accessed in a struct literal or field +expression.
    • Content of a compile-time structured attribute.
    • Element of a compile-time attribute list.
    • Angle bracketed or parenthesized arguments of a path segment.
    • Return type of a function signature.
    • The style of a string literal, either plain quoted or a raw string like +r##"data"##.
    • A modifier on a trait bound, currently only used for the ? in +?Sized.
    • The possible types that a Rust value could have.
    • A trait or lifetime used as a bound on a type parameter.
    • A unary operator: *, !, -.
    • The visibility level of an item: inherited or pub or +pub(restricted).
    • A single predicate in a where clause: T: Deserialize<'de>.

    Functions

    • Parse tokens of source code into the chosen syntax tree node.
    • Parse a proc-macro2 token stream into the chosen syntax tree node.
    • Parse a string of Rust code into the chosen syntax tree node.

    Type Aliases

    • Conventional argument type associated with an invocation of an attribute +macro.
    • The result of a Syn parser.
    \ No newline at end of file diff --git a/syn/macro.Token.html b/syn/macro.Token.html index 92abe04..4b7c5af 100644 --- a/syn/macro.Token.html +++ b/syn/macro.Token.html @@ -1,4 +1,4 @@ -Token in syn - Rust

    Macro syn::Token

    source ·
    macro_rules! Token {
    +Token in syn - Rust

    Macro syn::Token

    source ·
    macro_rules! Token {
         [abstract] => { ... };
         [as] => { ... };
         [async] => { ... };
    @@ -98,8 +98,7 @@
         [-=] => { ... };
         [~] => { ... };
         [_] => { ... };
    -}
    -
    Expand description

    A type-macro that expands to the name of the Rust type representation of a +}

    Expand description

    A type-macro that expands to the name of the Rust type representation of a given token.

    -

    See the token module documentation for details and examples.

    -
    \ No newline at end of file +

    See the token module documentation for details and examples.

    + \ No newline at end of file diff --git a/syn/macro.braced.html b/syn/macro.braced.html index eb088c0..96ddfe7 100644 --- a/syn/macro.braced.html +++ b/syn/macro.braced.html @@ -1,7 +1,6 @@ -braced in syn - Rust

    Macro syn::braced

    source ·
    macro_rules! braced {
    +braced in syn - Rust

    Macro syn::braced

    source ·
    macro_rules! braced {
         ($content:ident in $cursor:expr) => { ... };
    -}
    -
    Expand description

    Parse a set of curly braces and expose their content to subsequent parsers.

    +}
    Expand description

    Parse a set of curly braces and expose their content to subsequent parsers.

    Example

    use syn::{braced, token, Ident, Result, Token, Type};
     use syn::parse::{Parse, ParseStream};
    @@ -47,4 +46,4 @@
             })
         }
     }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.bracketed.html b/syn/macro.bracketed.html index 6742011..61d1582 100644 --- a/syn/macro.bracketed.html +++ b/syn/macro.bracketed.html @@ -1,7 +1,6 @@ -bracketed in syn - Rust

    Macro syn::bracketed

    source ·
    macro_rules! bracketed {
    +bracketed in syn - Rust

    Macro syn::bracketed

    source ·
    macro_rules! bracketed {
         ($content:ident in $cursor:expr) => { ... };
    -}
    -
    Expand description

    Parse a set of square brackets and expose their content to subsequent +}

    Expand description

    Parse a set of square brackets and expose their content to subsequent parsers.

    Example

    use proc_macro2::TokenStream;
    @@ -27,4 +26,4 @@ parsers.

    }) } }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.custom_keyword.html b/syn/macro.custom_keyword.html index ba8df3c..6c90b34 100644 --- a/syn/macro.custom_keyword.html +++ b/syn/macro.custom_keyword.html @@ -1,7 +1,6 @@ -custom_keyword in syn - Rust

    Macro syn::custom_keyword

    source ·
    macro_rules! custom_keyword {
    +custom_keyword in syn - Rust

    Macro syn::custom_keyword

    source ·
    macro_rules! custom_keyword {
         ($ident:ident) => { ... };
    -}
    -
    Expand description

    Define a type that supports parsing and printing a given identifier as if it +}

    Expand description

    Define a type that supports parsing and printing a given identifier as if it were a keyword.

    Usage

    As a convention, it is recommended that this macro be invoked within a @@ -15,16 +14,16 @@ with a kw:: or keyword:: prefix.

    any built-in keyword token.

    • -

      Peekinginput.peek(kw::whatever)

      +

      Peekinginput.peek(kw::whatever)

    • -

      Parsinginput.parse::<kw::whatever>()?

      +

      Parsinginput.parse::<kw::whatever>()?

    • -

      Printingquote!( ... #whatever_token ... )

      +

      Printingquote!( ... #whatever_token ... )

    • -

      Construction from a Spanlet whatever_token = kw::whatever(sp)

      +

      Construction from a Spanlet whatever_token = kw::whatever(sp)

    • Field access to its span — let sp = whatever_token.span

      @@ -81,4 +80,4 @@ by crates that need to use them as such.

      } } }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.custom_punctuation.html b/syn/macro.custom_punctuation.html index 19b4e20..ca21483 100644 --- a/syn/macro.custom_punctuation.html +++ b/syn/macro.custom_punctuation.html @@ -1,7 +1,6 @@ -custom_punctuation in syn - Rust
    macro_rules! custom_punctuation {
    +custom_punctuation in syn - Rust
    macro_rules! custom_punctuation {
         ($ident:ident, $($tt:tt)+) => { ... };
    -}
    -
    Expand description

    Define a type that supports parsing and printing a multi-character symbol +}

    Expand description

    Define a type that supports parsing and printing a multi-character symbol as if it were a punctuation token.

    Usage

    syn::custom_punctuation!(LeftRightArrow, <=>);
    @@ -9,19 +8,19 @@ as if it were a punctuation token.

    any built-in punctuation token.

    • -

      Peekinginput.peek(LeftRightArrow)

      +

      Peekinginput.peek(LeftRightArrow)

    • -

      Parsinginput.parse::<LeftRightArrow>()?

      +

      Parsinginput.parse::<LeftRightArrow>()?

    • -

      Printingquote!( ... #lrarrow ... )

      +

      Printingquote!( ... #lrarrow ... )

    • -

      Construction from a Spanlet lrarrow = LeftRightArrow(sp)

      +

      Construction from a Spanlet lrarrow = LeftRightArrow(sp)

    • -

      Construction from multiple Spanlet lrarrow = LeftRightArrow([sp, sp, sp])

      +

      Construction from multiple Spanlet lrarrow = LeftRightArrow([sp, sp, sp])

    • Field access to its spans — let spans = lrarrow.spans

      @@ -71,4 +70,4 @@ any built-in punctuation token.

      let input = r#" a::b </> c::d::e "#; let _: PathSegments = syn::parse_str(input).unwrap(); }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.parenthesized.html b/syn/macro.parenthesized.html index b42ddc3..58201b1 100644 --- a/syn/macro.parenthesized.html +++ b/syn/macro.parenthesized.html @@ -1,7 +1,6 @@ -parenthesized in syn - Rust

    Macro syn::parenthesized

    source ·
    macro_rules! parenthesized {
    +parenthesized in syn - Rust

    Macro syn::parenthesized

    source ·
    macro_rules! parenthesized {
         ($content:ident in $cursor:expr) => { ... };
    -}
    -
    Expand description

    Parse a set of parentheses and expose their content to subsequent parsers.

    +}
    Expand description

    Parse a set of parentheses and expose their content to subsequent parsers.

    Example

    use syn::{parenthesized, token, Ident, Result, Token, Type};
     use syn::parse::{Parse, ParseStream};
    @@ -30,4 +29,4 @@
             })
         }
     }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.parse_macro_input.html b/syn/macro.parse_macro_input.html index 4a30460..8ee37f2 100644 --- a/syn/macro.parse_macro_input.html +++ b/syn/macro.parse_macro_input.html @@ -1,11 +1,10 @@ -parse_macro_input in syn - Rust
    macro_rules! parse_macro_input {
    +parse_macro_input in syn - Rust
    macro_rules! parse_macro_input {
         ($tokenstream:ident as $ty:ty) => { ... };
         ($tokenstream:ident with $parser:path) => { ... };
         ($tokenstream:ident) => { ... };
    -}
    -
    Expand description

    Parse the input TokenStream of a macro, triggering a compile error if the +}

    Expand description

    Parse the input TokenStream of a macro, triggering a compile error if the tokens fail to parse.

    -

    Refer to the parse module documentation for more details about parsing +

    Refer to the parse module documentation for more details about parsing in Syn.


    Intended usage

    @@ -36,7 +35,7 @@ the function that has the #[proc_macro] / #[proc_macro_derive] / }

    Usage with Parser

    -

    This macro can also be used with the Parser trait for types that have +

    This macro can also be used with the Parser trait for types that have multiple ways that they can be parsed.

    impl MyMacroInput {
    @@ -59,4 +58,4 @@ multiple ways that they can be parsed.

    Ok(syntax_tree) => syntax_tree, Err(err) => return proc_macro::TokenStream::from(err.to_compile_error()), }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.parse_quote.html b/syn/macro.parse_quote.html index 8abdbf7..7f948ea 100644 --- a/syn/macro.parse_quote.html +++ b/syn/macro.parse_quote.html @@ -1,9 +1,8 @@ -parse_quote in syn - Rust

    Macro syn::parse_quote

    source ·
    macro_rules! parse_quote {
    +parse_quote in syn - Rust

    Macro syn::parse_quote

    source ·
    macro_rules! parse_quote {
         ($($tt:tt)*) => { ... };
    -}
    -
    Expand description

    Quasi-quotation macro that accepts input like the quote! macro but uses +}

    Expand description

    Quasi-quotation macro that accepts input like the quote! macro but uses type inference to figure out a return type for those tokens.

    -

    The return type can be any syntax tree node that implements the Parse +

    The return type can be any syntax tree node that implements the Parse trait.

    use quote::quote;
    @@ -41,9 +40,9 @@ parameter T in the input generics.

    This macro can parse the following additional types as a special case even though they do not implement the Parse trait.

      -
    • Attribute — parses one attribute, allowing either outer like #[...] +
    • Attribute — parses one attribute, allowing either outer like #[...] or inner like #![...]
    • -
    • Punctuated<T, P> — parses zero or more T separated by punctuation +
    • Punctuated<T, P> — parses zero or more T separated by punctuation P with optional trailing punctuation
    • Vec<Stmt> — parses the same as Block::parse_within
    @@ -51,4 +50,4 @@ or inner like #![...]

    Panics if the tokens fail to parse as the expected syntax tree type. The caller is responsible for ensuring that the input tokens are syntactically valid.

    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/macro.parse_quote_spanned.html b/syn/macro.parse_quote_spanned.html index beb4865..603e20a 100644 --- a/syn/macro.parse_quote_spanned.html +++ b/syn/macro.parse_quote_spanned.html @@ -1,7 +1,6 @@ -parse_quote_spanned in syn - Rust
    macro_rules! parse_quote_spanned {
    +parse_quote_spanned in syn - Rust
    macro_rules! parse_quote_spanned {
         ($span:expr=> $($tt:tt)*) => { ... };
    -}
    -
    Expand description

    This macro is parse_quote! + quote_spanned!.

    +}
    Expand description

    This macro is parse_quote! + quote_spanned!.

    Please refer to each of their documentation.

    Example

    use quote::{quote, quote_spanned};
    @@ -20,4 +19,4 @@
             -> ::std::pin::Pin<::std::boxed::Box<dyn ::std::future::Future<Output = #ret>>>
         };
     }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/syn/parse/discouraged/index.html b/syn/parse/discouraged/index.html index f5e4f0d..1756d10 100644 --- a/syn/parse/discouraged/index.html +++ b/syn/parse/discouraged/index.html @@ -1,2 +1,2 @@ -syn::parse::discouraged - Rust

    Module syn::parse::discouraged

    source ·
    Expand description

    Extensions to the parsing API with niche applicability.

    -

    Traits

    Extensions to the ParseStream API to support speculative parsing.
    \ No newline at end of file +syn::parse::discouraged - Rust

    Module syn::parse::discouraged

    source ·
    Expand description

    Extensions to the parsing API with niche applicability.

    +

    Traits

    • Extensions to the ParseStream API to support speculative parsing.
    \ No newline at end of file diff --git a/syn/parse/discouraged/sidebar-items.js b/syn/parse/discouraged/sidebar-items.js index b83be9f..fd622c9 100644 --- a/syn/parse/discouraged/sidebar-items.js +++ b/syn/parse/discouraged/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"trait":[["Speculative","Extensions to the `ParseStream` API to support speculative parsing."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":["Speculative"]}; \ No newline at end of file diff --git a/syn/parse/discouraged/trait.Speculative.html b/syn/parse/discouraged/trait.Speculative.html index 7db782f..b535deb 100644 --- a/syn/parse/discouraged/trait.Speculative.html +++ b/syn/parse/discouraged/trait.Speculative.html @@ -1,8 +1,9 @@ -Speculative in syn::parse::discouraged - Rust
    pub trait Speculative {
    -    fn advance_to(&self, fork: &Self);
    -}
    Expand description

    Extensions to the ParseStream API to support speculative parsing.

    -

    Required Methods§

    Advance this parse stream to the position of a forked parse stream.

    -

    This is the opposite operation to ParseStream::fork. You can fork a +Speculative in syn::parse::discouraged - Rust

    pub trait Speculative {
    +    // Required method
    +    fn advance_to(&self, fork: &Self);
    +}
    Expand description

    Extensions to the ParseStream API to support speculative parsing.

    +

    Required Methods§

    source

    fn advance_to(&self, fork: &Self)

    Advance this parse stream to the position of a forked parse stream.

    +

    This is the opposite operation to ParseStream::fork. You can fork a parse stream, perform some speculative parsing, then join the original stream to the fork to “commit” the parsing from the fork to the main stream.

    @@ -21,11 +22,11 @@ speculative parsing.

    There has been chatter about the possibility of making the colons in the turbofish syntax like path::to::<T> no longer required by accepting path::to<T> in expression position. Specifically, according to RFC -2544, PathSegment parsing should always try to consume a following +2544, PathSegment parsing should always try to consume a following < token as the start of generic arguments, and reset to the < if that fails (e.g. the token is acting as a less-than operator).

    This is the exact kind of parsing behavior which requires the “fork, -try, commit” behavior that ParseStream::fork discourages. With +try, commit” behavior that ParseStream::fork discourages. With advance_to, we can avoid having to parse the speculatively parsed content a second time.

    This change in behavior can be implemented in syn by replacing just the @@ -106,4 +107,4 @@ on how far apart the two streams are positioned.

    The forked stream in the argument of advance_to must have been obtained by forking self. Attempting to advance to any other stream will cause a panic.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/syn/parse/index.html b/syn/parse/index.html index b993cf3..1725e16 100644 --- a/syn/parse/index.html +++ b/syn/parse/index.html @@ -1,16 +1,16 @@ -syn::parse - Rust

    Module syn::parse

    source ·
    Expand description

    Parsing interface for parsing a token stream into a syntax tree node.

    -

    Parsing in Syn is built on parser functions that take in a ParseStream -and produce a Result<T> where T is some syntax tree node. Underlying +syn::parse - Rust

    Module syn::parse

    source ·
    Expand description

    Parsing interface for parsing a token stream into a syntax tree node.

    +

    Parsing in Syn is built on parser functions that take in a ParseStream +and produce a Result<T> where T is some syntax tree node. Underlying these parser functions is a lower level mechanism built around the -Cursor type. Cursor is a cheaply copyable cursor over a range of +Cursor type. Cursor is a cheaply copyable cursor over a range of tokens in a token stream.

    Example

    Here is a snippet of parsing code to get a feel for the style of the library. We define data structures for a subset of Rust syntax including -enums (not shown) and structs, then provide implementations of the Parse +enums (not shown) and structs, then provide implementations of the Parse trait to parse these syntax tree data structures from a token stream.

    Once Parse impls have been defined, they can be called conveniently from a -procedural macro through parse_macro_input! as shown at the bottom of +procedural macro through parse_macro_input! as shown at the bottom of the snippet. If the caller provides syntactically invalid input to the procedural macro, they will receive a helpful compiler error message pointing out the exact token that triggered the failure to parse.

    @@ -64,30 +64,30 @@ pointing out the exact token that triggered the failure to parse.

    /* ... */ }

    The syn::parse* functions

    -

    The syn::parse, syn::parse2, and syn::parse_str functions serve +

    The syn::parse, syn::parse2, and syn::parse_str functions serve as an entry point for parsing syntax tree nodes that can be parsed in an obvious default way. These functions can return any syntax tree node that -implements the Parse trait, which includes most types in Syn.

    +implements the Parse trait, which includes most types in Syn.

    use syn::Type;
     
     let t: Type = syn::parse_str("std::collections::HashMap<String, Value>")?;
    -

    The parse_quote! macro also uses this approach.

    +

    The parse_quote! macro also uses this approach.

    The Parser trait

    Some types can be parsed in several ways depending on context. For example -an Attribute can be either “outer” like #[...] or “inner” like -#![...] and parsing the wrong one would be a bug. Similarly Punctuated +an Attribute can be either “outer” like #[...] or “inner” like +#![...] and parsing the wrong one would be a bug. Similarly Punctuated may or may not allow trailing punctuation, and parsing it the wrong way would either reject valid input or accept invalid input.

    The Parse trait is not implemented in these cases because there is no good behavior to consider the default.

    -
    // Can't parse `Punctuated` without knowing whether trailing punctuation
    +
    // Can't parse `Punctuated` without knowing whether trailing punctuation
     // should be allowed in this context.
     let path: Punctuated<PathSegment, Token![::]> = syn::parse(tokens)?;

    In these cases the types provide a choice of parser functions rather than a single Parse implementation, and those parser functions can be invoked -through the Parser trait.

    +through the Parser trait.

    use proc_macro::TokenStream;
     use syn::parse::Parser;
    @@ -116,5 +116,5 @@ through the Parser t
     }

    This module is available only if Syn is built with the "parsing" feature.

    -

    Modules

    Extensions to the parsing API with niche applicability.

    Structs

    Error returned when a Syn parser cannot parse the input tokens.
    Support for checking the next token in a stream to decide how to parse.
    An empty syntax tree node that consumes no tokens when parsed.
    Cursor position within a buffered token stream.
    Cursor state associated with speculative parsing.

    Traits

    Parsing interface implemented by all types that can be parsed in a default -way from a token stream.
    Parser that can parse Rust tokens into a particular syntax tree node.
    Types that can be parsed by looking at just one token.

    Type Definitions

    Input to a Syn parser function.
    The result of a Syn parser.
    \ No newline at end of file +

    Modules

    • Extensions to the parsing API with niche applicability.

    Structs

    • Error returned when a Syn parser cannot parse the input tokens.
    • Support for checking the next token in a stream to decide how to parse.
    • An empty syntax tree node that consumes no tokens when parsed.
    • Cursor position within a buffered token stream.
    • Cursor state associated with speculative parsing.

    Traits

    • Parsing interface implemented by all types that can be parsed in a default +way from a token stream.
    • Parser that can parse Rust tokens into a particular syntax tree node.
    • Types that can be parsed by looking at just one token.

    Type Aliases

    \ No newline at end of file diff --git a/syn/parse/sidebar-items.js b/syn/parse/sidebar-items.js index 3d25983..49263f8 100644 --- a/syn/parse/sidebar-items.js +++ b/syn/parse/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"mod":[["discouraged","Extensions to the parsing API with niche applicability."]],"struct":[["Error","Error returned when a Syn parser cannot parse the input tokens."],["Lookahead1","Support for checking the next token in a stream to decide how to parse."],["Nothing","An empty syntax tree node that consumes no tokens when parsed."],["ParseBuffer","Cursor position within a buffered token stream."],["StepCursor","Cursor state associated with speculative parsing."]],"trait":[["Parse","Parsing interface implemented by all types that can be parsed in a default way from a token stream."],["Parser","Parser that can parse Rust tokens into a particular syntax tree node."],["Peek","Types that can be parsed by looking at just one token."]],"type":[["ParseStream","Input to a Syn parser function."],["Result","The result of a Syn parser."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":["discouraged"],"struct":["Error","Lookahead1","Nothing","ParseBuffer","StepCursor"],"trait":["Parse","Parser","Peek"],"type":["ParseStream","Result"]}; \ No newline at end of file diff --git a/syn/parse/struct.Error.html b/syn/parse/struct.Error.html index 4af2347..01dc077 100644 --- a/syn/parse/struct.Error.html +++ b/syn/parse/struct.Error.html @@ -1,10 +1,10 @@ -Error in syn::parse - Rust

    Struct syn::parse::Error

    source ·
    pub struct Error { /* private fields */ }
    Expand description

    Error returned when a Syn parser cannot parse the input tokens.

    +Error in syn::parse - Rust

    Struct syn::parse::Error

    source ·
    pub struct Error { /* private fields */ }
    Expand description

    Error returned when a Syn parser cannot parse the input tokens.

    Error reporting in proc macros

    The correct way to report errors back to the compiler from a procedural macro is by emitting an appropriately spanned invocation of -compile_error! in the generated code. This produces a better diagnostic +compile_error! in the generated code. This produces a better diagnostic message than simply panicking the macro.

    -

    When parsing macro input, the parse_macro_input! macro handles the +

    When parsing macro input, the parse_macro_input! macro handles the conversion to compile_error! automatically.

    use proc_macro::TokenStream;
    @@ -18,7 +18,7 @@ conversion to compile_error! automatically.

    /* ... */ }

    For errors that arise later than the initial parsing stage, the -.to_compile_error() or .into_compile_error() methods can be used to +.to_compile_error() or .into_compile_error() methods can be used to perform an explicit conversion to compile_error!.

    #[proc_macro_derive(MyDerive)]
    @@ -30,7 +30,7 @@ perform an explicit conversion to compile_error!.

    .unwrap_or_else(syn::Error::into_compile_error) .into() }
    -

    Implementations§

    Usually the ParseStream::error method will be used instead, which +

    Implementations§

    source§

    impl Error

    source

    pub fn new<T: Display>(span: Span, message: T) -> Self

    Usually the ParseStream::error method will be used instead, which automatically uses the correct span from the current position of the parse stream.

    Use Error::new when the error needs to be triggered on some span other @@ -53,7 +53,7 @@ than where the parse stream is currently positioned.

    let s: LitStr = input.parse()?; Ok(s) }
    -

    Creates an error with the specified message spanning the given syntax +

    source

    pub fn new_spanned<T: ToTokens, U: Display>(tokens: T, message: U) -> Self

    Creates an error with the specified message spanning the given syntax tree node.

    Unlike the Error::new constructor, this constructor takes an argument tokens which is a syntax tree node. This allows the resulting Error @@ -64,14 +64,14 @@ constructor, implementation limitations today mean that stable Rust.

    When in doubt it’s recommended to stick to Error::new (or ParseStream::error)!

    -

    The source location of the error.

    +
    source

    pub fn span(&self) -> Span

    The source location of the error.

    Spans are not thread-safe so this function returns Span::call_site() if called from a different thread than the one on which the Error was originally created.

    -

    Render the error as an invocation of compile_error!.

    -

    The parse_macro_input! macro provides a convenient way to invoke +

    source

    pub fn to_compile_error(&self) -> TokenStream

    Render the error as an invocation of compile_error!.

    +

    The parse_macro_input! macro provides a convenient way to invoke this method correctly in a procedural macro.

    -

    Render the error as an invocation of compile_error!.

    +
    source

    pub fn into_compile_error(self) -> TokenStream

    Render the error as an invocation of compile_error!.

    Example
    use proc_macro::TokenStream;
     use syn::{parse_macro_input, DeriveInput, Error};
    @@ -92,11 +92,18 @@ this method correctly in a procedural macro.

    /* ... */ } }
    -

    Add another error message to self such that when to_compile_error() is +

    source

    pub fn combine(&mut self, another: Error)

    Add another error message to self such that when to_compile_error() is called, both errors will be emitted together.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    The lower-level source of this error, if any. Read more
    👎Deprecated since 1.42.0: use the Display impl or to_string()
    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Converts to this type from the input type.
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Error

    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 Debug for Error

    source§

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

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

    impl Display for Error

    source§

    fn fmt(&self, formatter: &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 Extend<Error> for Error

    source§

    fn extend<T: IntoIterator<Item = Error>>(&mut self, iter: T)

    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 From<LexError> for Error

    source§

    fn from(err: LexError) -> Self

    Converts to this type from the input type.
    source§

    impl<'a> IntoIterator for &'a Error

    §

    type Item = Error

    The type of the elements being iterated over.
    §

    type IntoIter = Iter<'a>

    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 IntoIterator for Error

    §

    type Item = Error

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter

    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 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 Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/parse/struct.Lookahead1.html b/syn/parse/struct.Lookahead1.html index fbb1450..e660913 100644 --- a/syn/parse/struct.Lookahead1.html +++ b/syn/parse/struct.Lookahead1.html @@ -1,9 +1,9 @@ -Lookahead1 in syn::parse - Rust

    Struct syn::parse::Lookahead1

    source ·
    pub struct Lookahead1<'a> { /* private fields */ }
    Expand description

    Support for checking the next token in a stream to decide how to parse.

    -

    An important advantage over ParseStream::peek is that here we +Lookahead1 in syn::parse - Rust

    Struct syn::parse::Lookahead1

    source ·
    pub struct Lookahead1<'a> { /* private fields */ }
    Expand description

    Support for checking the next token in a stream to decide how to parse.

    +

    An important advantage over ParseStream::peek is that here we automatically construct an appropriate error message based on the token alternatives that get peeked. If you are producing your own error message, go ahead and use ParseStream::peek instead.

    -

    Use ParseStream::lookahead1 to construct this object.

    +

    Use ParseStream::lookahead1 to construct this object.

    Consuming tokens from the source stream after constructing a lookahead object does not also advance the lookahead object.

    Example

    @@ -41,7 +41,7 @@ object does not also advance the lookahead object.

    } } }
    -

    Implementations§

    Looks at the next token in the parse stream to determine whether it +

    Implementations§

    source§

    impl<'a> Lookahead1<'a>

    source

    pub fn peek<T: Peek>(&self, token: T) -> bool

    Looks at the next token in the parse stream to determine whether it matches the requested type of token.

    Syntax

    Note that this method does not use turbofish syntax. Pass the peek type @@ -54,11 +54,17 @@ inside of parentheses.

  • input.peek(Lifetime)
  • input.peek(token::Brace)
  • -

    Triggers an error at the current position of the parse stream.

    +
    source

    pub fn error(self) -> Error

    Triggers an error at the current position of the parse stream.

    The error message will identify all of the expected token types that have been peeked against this lookahead instance.

    -

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Auto Trait Implementations§

    §

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

    §

    impl<'a> !Send for Lookahead1<'a>

    §

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

    §

    impl<'a> Unpin for Lookahead1<'a>

    §

    impl<'a> UnwindSafe for Lookahead1<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/parse/struct.Nothing.html b/syn/parse/struct.Nothing.html index 56a74c3..8b68685 100644 --- a/syn/parse/struct.Nothing.html +++ b/syn/parse/struct.Nothing.html @@ -1,4 +1,4 @@ -Nothing in syn::parse - Rust

    Struct syn::parse::Nothing

    source ·
    pub struct Nothing;
    Expand description

    An empty syntax tree node that consumes no tokens when parsed.

    +Nothing in syn::parse - Rust

    Struct syn::parse::Nothing

    source ·
    pub struct Nothing;
    Expand description

    An empty syntax tree node that consumes no tokens when parsed.

    This is useful for attribute macros that want to ensure they are not provided any attribute args.

    @@ -17,10 +17,18 @@ provided any attribute args.

    | 3 | #[my_attr(asdf)] | ^^^^ -

    Trait Implementations§

    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Debug for Nothing

    source§

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

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

    impl Hash for Nothing

    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 Parse for Nothing

    source§

    fn parse(_input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Nothing> for Nothing

    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.
    source§

    impl Eq for Nothing

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/parse/struct.ParseBuffer.html b/syn/parse/struct.ParseBuffer.html index 406a6be..2f1f349 100644 --- a/syn/parse/struct.ParseBuffer.html +++ b/syn/parse/struct.ParseBuffer.html @@ -1,5 +1,5 @@ -ParseBuffer in syn::parse - Rust

    Struct syn::parse::ParseBuffer

    source ·
    pub struct ParseBuffer<'a> { /* private fields */ }
    Expand description

    Cursor position within a buffered token stream.

    -

    This type is more commonly used through the type alias ParseStream which +ParseBuffer in syn::parse - Rust

    Struct syn::parse::ParseBuffer

    source ·
    pub struct ParseBuffer<'a> { /* private fields */ }
    Expand description

    Cursor position within a buffered token stream.

    +

    This type is more commonly used through the type alias ParseStream which is an alias for &ParseBuffer.

    ParseStream is the input type for all parser functions in Syn. They have the signature fn(ParseStream) -> Result<T>.

    @@ -8,16 +8,19 @@ the signature fn(ParseStream) -> Result<T>.

    looking to invoke a parser function that requires ParseStream as input, you will need to go through one of the public parsing entry points.

    -

    Implementations§

    Parses a syntax tree node of type T, advancing the position of our +

    Implementations§

    source§

    impl<'a> ParseBuffer<'a>

    source

    pub fn parse<T: Parse>(&self) -> Result<T>

    Parses a syntax tree node of type T, advancing the position of our parse stream past it.

    -

    Calls the given parser function to parse a syntax tree node of type T +

    source

    pub fn call<T>( + &self, + function: fn(_: ParseStream<'_>) -> Result<T> +) -> Result<T>

    Calls the given parser function to parse a syntax tree node of type T from this stream.

    Example
    -

    The parser below invokes Attribute::parse_outer to parse a vector of +

    The parser below invokes Attribute::parse_outer to parse a vector of zero or more outer attributes.

    use syn::{Attribute, Ident, Result, Token};
    @@ -44,7 +47,7 @@ zero or more outer attributes.

    }) } }
    -

    Looks at the next token in the parse stream to determine whether it +

    source

    pub fn peek<T: Peek>(&self, token: T) -> bool

    Looks at the next token in the parse stream to determine whether it matches the requested type of token.

    Does not advance the position of the parse stream.

    Syntax
    @@ -110,7 +113,7 @@ token in the input is either where or an opening curly brace.

    }) } }
    -

    Looks at the second-next token in the parse stream.

    +
    source

    pub fn peek2<T: Peek>(&self, token: T) -> bool

    Looks at the second-next token in the parse stream.

    This is commonly useful as a way to implement contextual keywords.

    Example

    This example needs to use peek2 because the symbol union is not a @@ -137,8 +140,11 @@ the very next token is union, because someone is free to write a

    -

    Looks at the third-next token in the parse stream.

    -

    Parses zero or more occurrences of T separated by punctuation of type +

    source

    pub fn peek3<T: Peek>(&self, token: T) -> bool

    Looks at the third-next token in the parse stream.

    +
    source

    pub fn parse_terminated<T, P: Parse>( + &self, + parser: fn(_: ParseStream<'_>) -> Result<T> +) -> Result<Punctuated<T, P>>

    Parses zero or more occurrences of T separated by punctuation of type P, with optional trailing punctuation.

    Parsing continues until the end of this parse stream. The entire content of this parse stream must consist of T and P.

    @@ -170,7 +176,7 @@ of this parse stream must consist of T and P.

    }) } }
    -

    Returns whether there are tokens remaining in this stream.

    +
    source

    pub fn is_empty(&self) -> bool

    Returns whether there are tokens remaining in this stream.

    This method returns true at the end of the content of a set of delimiters, as well as at the very end of the complete macro input.

    Example
    @@ -202,7 +208,7 @@ delimiters, as well as at the very end of the complete macro input.

    }) } }
    -

    Constructs a helper for peeking at the next token in this stream and +

    source

    pub fn lookahead1(&self) -> Lookahead1<'a>

    Constructs a helper for peeking at the next token in this stream and building an error message if it is not one of a set of expected tokens.

    Example
    use syn::{ConstParam, Ident, Lifetime, LifetimeDef, Result, Token, TypeParam};
    @@ -239,7 +245,7 @@ building an error message if it is not one of a set of expected tokens.

    } } }
    -

    Forks a parse stream so that parsing tokens out of either the original +

    source

    pub fn fork(&self) -> Self

    Forks a parse stream so that parsing tokens out of either the original or the fork does not advance the position of the other.

    Performance

    Forking a parse stream is a cheap fixed amount of work and does not @@ -255,11 +261,11 @@ once.

    parse stream. Only use a fork when the amount of work performed against the fork is small and bounded.

    When complex speculative parsing against the forked stream is -unavoidable, use parse::discouraged::Speculative to advance the +unavoidable, use parse::discouraged::Speculative to advance the original stream once the fork’s parse is determined to have been successful.

    For a lower level way to perform speculative parsing at the token level, -consider using ParseStream::step instead.

    +consider using ParseStream::step instead.

    Example

    The parse implementation shown here parses possibly restricted pub visibilities.

    @@ -337,7 +343,7 @@ work performed against the forked parse stream.

    }) } }
    -

    Triggers an error at the current position of the parse stream.

    +
    source

    pub fn error<T: Display>(&self, message: T) -> Error

    Triggers an error at the current position of the parse stream.

    Example
    use syn::{Expr, Result, Token};
     use syn::parse::{Parse, ParseStream};
    @@ -361,7 +367,8 @@ work performed against the forked parse stream.

    } } }
    -

    Speculatively parses tokens from this parse stream, advancing the +

    source

    pub fn step<F, R>(&self, function: F) -> Result<R>where + F: for<'c> FnOnce(StepCursor<'c, 'a>) -> Result<(R, Cursor<'c>)>,

    Speculatively parses tokens from this parse stream, advancing the position of this stream only if parsing succeeds.

    This is a powerful low-level API used for defining the Parse impls of the basic built-in token types. It is not something that will be used @@ -388,15 +395,22 @@ widely outside of the Syn codebase.

    Err(cursor.error("no `@` was found after this point")) }) }
    -

    Returns the Span of the next token in the parse stream, or +

    source

    pub fn span(&self) -> Span

    Returns the Span of the next token in the parse stream, or Span::call_site() if this parse stream has completely exhausted its input TokenStream.

    -

    Provides low-level access to the token representation underlying this +

    source

    pub fn cursor(&self) -> Cursor<'a>

    Provides low-level access to the token representation underlying this parse stream.

    Cursors are immutable so no operations you perform against the cursor will affect the state of this parse stream.

    -

    Trait Implementations§

    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Executes the destructor for this type. Read more
    Advance this parse stream to the position of a forked parse stream. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Debug for ParseBuffer<'a>

    source§

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

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

    impl<'a> Display for ParseBuffer<'a>

    source§

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

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

    impl<'a> Drop for ParseBuffer<'a>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl<'a> Speculative for ParseBuffer<'a>

    source§

    fn advance_to(&self, fork: &Self)

    Advance this parse stream to the position of a forked parse stream. Read more

    Auto Trait Implementations§

    §

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

    §

    impl<'a> !Send for ParseBuffer<'a>

    §

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

    §

    impl<'a> Unpin for ParseBuffer<'a>

    §

    impl<'a> !UnwindSafe for ParseBuffer<'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/parse/struct.StepCursor.html b/syn/parse/struct.StepCursor.html index fa51eab..e4486b7 100644 --- a/syn/parse/struct.StepCursor.html +++ b/syn/parse/struct.StepCursor.html @@ -1,5 +1,5 @@ -StepCursor in syn::parse - Rust

    Struct syn::parse::StepCursor

    source ·
    pub struct StepCursor<'c, 'a> { /* private fields */ }
    Expand description

    Cursor state associated with speculative parsing.

    -

    This type is the input of the closure provided to ParseStream::step.

    +StepCursor in syn::parse - Rust

    Struct syn::parse::StepCursor

    source ·
    pub struct StepCursor<'c, 'a> { /* private fields */ }
    Expand description

    Cursor state associated with speculative parsing.

    +

    This type is the input of the closure provided to ParseStream::step.

    Example

    use proc_macro2::TokenTree;
     use syn::Result;
    @@ -22,11 +22,18 @@
             Err(cursor.error("no `@` was found after this point"))
         })
     }
    -

    Implementations§

    Triggers an error at the current position of the parse stream.

    +

    Implementations§

    source§

    impl<'c, 'a> StepCursor<'c, 'a>

    source

    pub fn error<T: Display>(self, message: T) -> Error

    Triggers an error at the current position of the parse stream.

    The ParseStream::step invocation will return this same error without advancing the stream state.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    The resulting type after dereferencing.
    Dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'c, 'a> Clone for StepCursor<'c, 'a>

    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<'c, 'a> Deref for StepCursor<'c, 'a>

    §

    type Target = Cursor<'c>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'c, 'a> Copy for StepCursor<'c, 'a>

    Auto Trait Implementations§

    §

    impl<'c, 'a> RefUnwindSafe for StepCursor<'c, 'a>

    §

    impl<'c, 'a> !Send for StepCursor<'c, 'a>

    §

    impl<'c, 'a> !Sync for StepCursor<'c, 'a>

    §

    impl<'c, 'a> Unpin for StepCursor<'c, 'a>

    §

    impl<'c, 'a> UnwindSafe for StepCursor<'c, 'a>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/parse/trait.Parse.html b/syn/parse/trait.Parse.html index 9b68022..f804e61 100644 --- a/syn/parse/trait.Parse.html +++ b/syn/parse/trait.Parse.html @@ -1,7 +1,8 @@ -Parse in syn::parse - Rust

    Trait syn::parse::Parse

    source ·
    pub trait Parse: Sized {
    +Parse in syn::parse - Rust

    Trait syn::parse::Parse

    source ·
    pub trait Parse: Sized {
    +    // Required method
         fn parse(input: ParseStream<'_>) -> Result<Self>;
    -}
    Expand description

    Parsing interface implemented by all types that can be parsed in a default +}

    Expand description

    Parsing interface implemented by all types that can be parsed in a default way from a token stream.

    -

    Refer to the module documentation for details about implementing and using +

    Refer to the module documentation for details about implementing and using the Parse trait.

    -

    Required Methods§

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn parse(input: ParseStream<'_>) -> Result<Self>

    Implementations on Foreign Types§

    source§

    impl Parse for Option<WhereClause>

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for TokenTree

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for TokenStream

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for Group

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for Option<Abi>

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for Punct

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for Literal

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl<T: Parse> Parse for Box<T>

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl<T: Parse + Token> Parse for Option<T>

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl Parse for Option<BoundLifetimes>

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    Implementors§

    source§

    impl Parse for BinOp

    source§

    impl Parse for Expr

    source§

    impl Parse for GenericArgument

    source§

    impl Parse for GenericParam

    source§

    impl Parse for Lit

    source§

    impl Parse for Member

    source§

    impl Parse for Meta

    source§

    impl Parse for NestedMeta

    source§

    impl Parse for ReturnType

    source§

    impl Parse for TraitBoundModifier

    source§

    impl Parse for syn::Type

    source§

    impl Parse for TypeParamBound

    source§

    impl Parse for UnOp

    source§

    impl Parse for Visibility

    source§

    impl Parse for WherePredicate

    source§

    impl Parse for Abi

    source§

    impl Parse for AngleBracketedGenericArguments

    source§

    impl Parse for BareFnArg

    source§

    impl Parse for Binding

    source§

    impl Parse for BoundLifetimes

    source§

    impl Parse for ConstParam

    source§

    impl Parse for DeriveInput

    source§

    impl Parse for ExprLit

    source§

    impl Parse for ExprPath

    source§

    impl Parse for FieldsNamed

    source§

    impl Parse for FieldsUnnamed

    source§

    impl Parse for Generics

    source§

    impl Parse for Ident

    source§

    impl Parse for Index

    source§

    impl Parse for Lifetime

    source§

    impl Parse for LifetimeDef

    source§

    impl Parse for LitBool

    source§

    impl Parse for LitByte

    source§

    impl Parse for LitByteStr

    source§

    impl Parse for LitChar

    source§

    impl Parse for LitFloat

    source§

    impl Parse for LitInt

    source§

    impl Parse for LitStr

    source§

    impl Parse for syn::Macro

    source§

    impl Parse for MetaList

    source§

    impl Parse for MetaNameValue

    source§

    impl Parse for ParenthesizedGenericArguments

    source§

    impl Parse for Path

    source§

    impl Parse for PathSegment

    source§

    impl Parse for TraitBound

    source§

    impl Parse for TypeArray

    source§

    impl Parse for TypeBareFn

    source§

    impl Parse for TypeGroup

    source§

    impl Parse for TypeImplTrait

    source§

    impl Parse for TypeInfer

    source§

    impl Parse for TypeMacro

    source§

    impl Parse for TypeNever

    source§

    impl Parse for TypeParam

    source§

    impl Parse for TypeParen

    source§

    impl Parse for TypePath

    source§

    impl Parse for TypePtr

    source§

    impl Parse for TypeReference

    source§

    impl Parse for TypeSlice

    source§

    impl Parse for TypeTraitObject

    source§

    impl Parse for TypeTuple

    source§

    impl Parse for Variant

    source§

    impl Parse for WhereClause

    source§

    impl Parse for Abstract

    source§

    impl Parse for Add

    source§

    impl Parse for AddEq

    source§

    impl Parse for And

    source§

    impl Parse for AndAnd

    source§

    impl Parse for AndEq

    source§

    impl Parse for As

    source§

    impl Parse for Async

    source§

    impl Parse for At

    source§

    impl Parse for Auto

    source§

    impl Parse for Await

    source§

    impl Parse for Bang

    source§

    impl Parse for Become

    source§

    impl Parse for syn::token::Box

    source§

    impl Parse for Break

    source§

    impl Parse for Caret

    source§

    impl Parse for CaretEq

    source§

    impl Parse for Colon2

    source§

    impl Parse for Colon

    source§

    impl Parse for Comma

    source§

    impl Parse for Const

    source§

    impl Parse for Continue

    source§

    impl Parse for Crate

    source§

    impl Parse for Default

    source§

    impl Parse for Div

    source§

    impl Parse for DivEq

    source§

    impl Parse for Do

    source§

    impl Parse for Dollar

    source§

    impl Parse for Dot2

    source§

    impl Parse for Dot3

    source§

    impl Parse for Dot

    source§

    impl Parse for DotDotEq

    source§

    impl Parse for Dyn

    source§

    impl Parse for Else

    source§

    impl Parse for Enum

    source§

    impl Parse for Eq

    source§

    impl Parse for EqEq

    source§

    impl Parse for Extern

    source§

    impl Parse for FatArrow

    source§

    impl Parse for Final

    source§

    impl Parse for Fn

    source§

    impl Parse for For

    source§

    impl Parse for Ge

    source§

    impl Parse for Gt

    source§

    impl Parse for If

    source§

    impl Parse for Impl

    source§

    impl Parse for In

    source§

    impl Parse for LArrow

    source§

    impl Parse for Le

    source§

    impl Parse for Let

    source§

    impl Parse for Loop

    source§

    impl Parse for Lt

    source§

    impl Parse for syn::token::Macro

    source§

    impl Parse for Match

    source§

    impl Parse for Mod

    source§

    impl Parse for Move

    source§

    impl Parse for MulEq

    source§

    impl Parse for Mut

    source§

    impl Parse for Ne

    source§

    impl Parse for Or

    source§

    impl Parse for OrEq

    source§

    impl Parse for OrOr

    source§

    impl Parse for Override

    source§

    impl Parse for Pound

    source§

    impl Parse for Priv

    source§

    impl Parse for Pub

    source§

    impl Parse for Question

    source§

    impl Parse for RArrow

    source§

    impl Parse for Ref

    source§

    impl Parse for Rem

    source§

    impl Parse for RemEq

    source§

    impl Parse for Return

    source§

    impl Parse for SelfType

    source§

    impl Parse for SelfValue

    source§

    impl Parse for Semi

    source§

    impl Parse for Shl

    source§

    impl Parse for ShlEq

    source§

    impl Parse for Shr

    source§

    impl Parse for ShrEq

    source§

    impl Parse for Star

    source§

    impl Parse for Static

    source§

    impl Parse for Struct

    source§

    impl Parse for Sub

    source§

    impl Parse for SubEq

    source§

    impl Parse for Super

    source§

    impl Parse for Tilde

    source§

    impl Parse for Trait

    source§

    impl Parse for Try

    source§

    impl Parse for syn::token::Type

    source§

    impl Parse for Typeof

    source§

    impl Parse for Underscore

    source§

    impl Parse for Union

    source§

    impl Parse for Unsafe

    source§

    impl Parse for Unsized

    source§

    impl Parse for Use

    source§

    impl Parse for Virtual

    source§

    impl Parse for Where

    source§

    impl Parse for While

    source§

    impl Parse for Yield

    source§

    impl Parse for Nothing

    \ No newline at end of file diff --git a/syn/parse/trait.Parser.html b/syn/parse/trait.Parser.html index e3a63bb..43c2a37 100644 --- a/syn/parse/trait.Parser.html +++ b/syn/parse/trait.Parser.html @@ -1,25 +1,28 @@ -Parser in syn::parse - Rust

    Trait syn::parse::Parser

    source ·
    pub trait Parser: Sized {
    +Parser in syn::parse - Rust

    Trait syn::parse::Parser

    source ·
    pub trait Parser: Sized {
         type Output;
     
    +    // Required method
         fn parse2(self, tokens: TokenStream) -> Result<Self::Output>;
     
    -    fn parse(self, tokens: TokenStream) -> Result<Self::Output> { ... }
    -    fn parse_str(self, s: &str) -> Result<Self::Output> { ... }
    -}
    Expand description

    Parser that can parse Rust tokens into a particular syntax tree node.

    -

    Refer to the module documentation for details about parsing in Syn.

    + // Provided methods + fn parse(self, tokens: TokenStream) -> Result<Self::Output> { ... } + fn parse_str(self, s: &str) -> Result<Self::Output> { ... } +}
    Expand description

    Parser that can parse Rust tokens into a particular syntax tree node.

    +

    Refer to the module documentation for details about parsing in Syn.

    This trait is available only if Syn is built with the "parsing" feature.

    -

    Required Associated Types§

    Required Methods§

    Parse a proc-macro2 token stream into the chosen syntax tree node.

    +

    Required Associated Types§

    Required Methods§

    source

    fn parse2(self, tokens: TokenStream) -> Result<Self::Output>

    Parse a proc-macro2 token stream into the chosen syntax tree node.

    This function will check that the input is fully parsed. If there are any unparsed tokens at the end of the stream, an error is returned.

    -

    Provided Methods§

    Parse tokens of source code into the chosen syntax tree node.

    +

    Provided Methods§

    source

    fn parse(self, tokens: TokenStream) -> Result<Self::Output>

    Parse tokens of source code into the chosen syntax tree node.

    This function will check that the input is fully parsed. If there are any unparsed tokens at the end of the stream, an error is returned.

    This method is available only if Syn is built with both the "parsing" and "proc-macro" features.

    -

    Parse a string of Rust code into the chosen syntax tree node.

    +
    source

    fn parse_str(self, s: &str) -> Result<Self::Output>

    Parse a string of Rust code into the chosen syntax tree node.

    This function will check that the input is fully parsed. If there are any unparsed tokens at the end of the string, an error is returned.

    Hygiene

    Every span in the resulting syntax tree will be set to resolve at the macro call site.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    source§

    impl<F, T> Parser for Fwhere + F: FnOnce(ParseStream<'_>) -> Result<T>,

    §

    type Output = T

    \ No newline at end of file diff --git a/syn/parse/trait.Peek.html b/syn/parse/trait.Peek.html index 4eea4b9..477e85e 100644 --- a/syn/parse/trait.Peek.html +++ b/syn/parse/trait.Peek.html @@ -1,5 +1,5 @@ -Peek in syn::parse - Rust

    Trait syn::parse::Peek

    source ·
    pub trait Peek: Sealed { }
    Expand description

    Types that can be parsed by looking at just one token.

    -

    Use ParseStream::peek to peek one of these types in a parse stream +Peek in syn::parse - Rust

    Trait syn::parse::Peek

    source ·
    pub trait Peek: Sealed { }
    Expand description

    Types that can be parsed by looking at just one token.

    +

    Use ParseStream::peek to peek one of these types in a parse stream without consuming it from the stream.

    This trait is sealed and cannot be implemented for types outside of Syn.

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    source§

    impl<F: Copy + FnOnce(TokenMarker) -> T, T: Token> Peek for F

    \ No newline at end of file diff --git a/syn/parse/type.ParseStream.html b/syn/parse/type.ParseStream.html index 5dc7d3d..18ff669 100644 --- a/syn/parse/type.ParseStream.html +++ b/syn/parse/type.ParseStream.html @@ -1,4 +1,4 @@ -ParseStream in syn::parse - Rust

    Type Definition syn::parse::ParseStream

    source ·
    pub type ParseStream<'a> = &'a ParseBuffer<'a>;
    Expand description

    Input to a Syn parser function.

    -

    See the methods of this type under the documentation of ParseBuffer. For -an overview of parsing in Syn, refer to the module documentation.

    -
    \ No newline at end of file +ParseStream in syn::parse - Rust

    Type Alias syn::parse::ParseStream

    source ·
    pub type ParseStream<'a> = &'a ParseBuffer<'a>;
    Expand description

    Input to a Syn parser function.

    +

    See the methods of this type under the documentation of ParseBuffer. For +an overview of parsing in Syn, refer to the module documentation.

    +
    \ No newline at end of file diff --git a/syn/parse/type.Result.html b/syn/parse/type.Result.html index 02ddc4f..580fc96 100644 --- a/syn/parse/type.Result.html +++ b/syn/parse/type.Result.html @@ -1,2 +1,24 @@ -Result in syn::parse - Rust

    Type Definition syn::parse::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    The result of a Syn parser.

    -
    \ No newline at end of file +Result in syn::parse - Rust

    Type Alias syn::parse::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    The result of a Syn parser.

    +

    Aliased Type§

    enum Result<T> {
    +    Ok(T),
    +    Err(Error),
    +}

    Variants§

    §1.0.0

    Ok(T)

    Contains the success value

    +
    §1.0.0

    Err(Error)

    Contains the error value

    +

    Trait Implementations§

    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where + T: Clone, + 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
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where + T: Debug, + E: Debug,

    source§

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

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

    impl<T, E> Hash for Result<T, E>where + T: Hash, + E: Hash,

    source§

    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
    1.0.0 · source§

    impl<T, E> PartialEq<Result<T, E>> for Result<T, E>where + T: PartialEq<T>, + E: PartialEq<E>,

    source§

    fn eq(&self, other: &Result<T, E>) -> 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.
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where + T: Copy, + E: Copy,

    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where + T: Eq, + E: Eq,

    \ No newline at end of file diff --git a/syn/punctuated/enum.Pair.html b/syn/punctuated/enum.Pair.html index de93bc1..1c2e432 100644 --- a/syn/punctuated/enum.Pair.html +++ b/syn/punctuated/enum.Pair.html @@ -1,29 +1,52 @@ -Pair in syn::punctuated - Rust

    Enum syn::punctuated::Pair

    source ·
    pub enum Pair<T, P> {
    -    Punctuated(T, P),
    +Pair in syn::punctuated - Rust

    Enum syn::punctuated::Pair

    source ·
    pub enum Pair<T, P> {
    +    Punctuated(T, P),
         End(T),
    -}
    Expand description

    A single syntax tree node of type T followed by its trailing punctuation +}

    Expand description

    A single syntax tree node of type T followed by its trailing punctuation of type P if any.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Variants§

    §

    Punctuated(T, P)

    §

    End(T)

    Implementations§

    Extracts the syntax tree node from this punctuated pair, discarding the +

    Refer to the module documentation for details about punctuated sequences.

    +

    Variants§

    §

    Punctuated(T, P)

    §

    End(T)

    Implementations§

    source§

    impl<T, P> Pair<T, P>

    source

    pub fn into_value(self) -> T

    Extracts the syntax tree node from this punctuated pair, discarding the following punctuation.

    -

    Borrows the syntax tree node from this punctuated pair.

    -

    Mutably borrows the syntax tree node from this punctuated pair.

    -

    Borrows the punctuation from this punctuated pair, unless this pair is +

    source

    pub fn value(&self) -> &T

    Borrows the syntax tree node from this punctuated pair.

    +
    source

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

    Mutably borrows the syntax tree node from this punctuated pair.

    +
    source

    pub fn punct(&self) -> Option<&P>

    Borrows the punctuation from this punctuated pair, unless this pair is the final one and there is no trailing punctuation.

    -

    Mutably borrows the punctuation from this punctuated pair, unless the +

    source

    pub fn punct_mut(&mut self) -> Option<&mut P>

    Mutably borrows the punctuation from this punctuated pair, unless the pair is the final one and there is no trailing punctuation.

    Example
    punctuated.insert(0, parse_quote!('lifetime));
     if let Some(punct) = punctuated.pairs_mut().next().unwrap().punct_mut() {
         punct.span = span;
     }
    -

    Creates a punctuated pair out of a syntax tree node and an optional +

    source

    pub fn new(t: T, p: Option<P>) -> Self

    Creates a punctuated pair out of a syntax tree node and an optional following punctuation.

    -

    Produces this punctuated pair as a tuple of syntax tree node and +

    source

    pub fn into_tuple(self) -> (T, Option<P>)

    Produces this punctuated pair as a tuple of syntax tree node and optional following punctuation.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Creates a value from an iterator. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<T, P> Clone for Pair<T, P>where + T: Clone, + P: 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<T, P> Extend<Pair<T, P>> for Punctuated<T, P>

    source§

    fn extend<I: IntoIterator<Item = Pair<T, P>>>(&mut self, i: I)

    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<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>

    source§

    fn from_iter<I: IntoIterator<Item = Pair<T, P>>>(i: I) -> Self

    Creates a value from an iterator. Read more
    source§

    impl<T, P> ToTokens for Pair<T, P>where + T: ToTokens, + P: ToTokens,

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    §

    impl<T, P> RefUnwindSafe for Pair<T, P>where + P: RefUnwindSafe, + T: RefUnwindSafe,

    §

    impl<T, P> Send for Pair<T, P>where + P: Send, + T: Send,

    §

    impl<T, P> Sync for Pair<T, P>where + P: Sync, + T: Sync,

    §

    impl<T, P> Unpin for Pair<T, P>where + P: Unpin, + T: Unpin,

    §

    impl<T, P> UnwindSafe for Pair<T, P>where + P: UnwindSafe, + T: UnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/index.html b/syn/punctuated/index.html index 4db3e3a..436a36f 100644 --- a/syn/punctuated/index.html +++ b/syn/punctuated/index.html @@ -1,4 +1,4 @@ -syn::punctuated - Rust

    Module syn::punctuated

    source ·
    Expand description

    A punctuated sequence of syntax tree nodes separated by punctuation.

    +syn::punctuated - Rust

    Module syn::punctuated

    source ·
    Expand description

    A punctuated sequence of syntax tree nodes separated by punctuation.

    Lots of things in Rust are punctuated sequences.

    • The fields of a struct are Punctuated<Field, Token![,]>.
    • @@ -7,11 +7,11 @@
    • The arguments to a function call are Punctuated<Expr, Token![,]>.

    This module provides a common representation for these punctuated sequences -in the form of the Punctuated<T, P> type. We store a vector of pairs of +in the form of the Punctuated<T, P> type. We store a vector of pairs of syntax tree node + punctuation, where every node in the sequence is followed by punctuation except for possibly the final one.

    a_function_call(arg1, arg2, arg3);
                     ~~~~^ ~~~~^ ~~~~
    -

    Structs

    An iterator over owned values of type T.
    An iterator over owned pairs of type Pair<T, P>.
    An iterator over borrowed values of type &T.
    An iterator over mutably borrowed values of type &mut T.
    An iterator over borrowed pairs of type Pair<&T, &P>.
    An iterator over mutably borrowed pairs of type Pair<&mut T, &mut P>.
    A punctuated sequence of syntax tree nodes of type T separated by -punctuation of type P.

    Enums

    A single syntax tree node of type T followed by its trailing punctuation -of type P if any.
    \ No newline at end of file +

    Structs

    • An iterator over owned values of type T.
    • An iterator over owned pairs of type Pair<T, P>.
    • An iterator over borrowed values of type &T.
    • An iterator over mutably borrowed values of type &mut T.
    • An iterator over borrowed pairs of type Pair<&T, &P>.
    • An iterator over mutably borrowed pairs of type Pair<&mut T, &mut P>.
    • A punctuated sequence of syntax tree nodes of type T separated by +punctuation of type P.

    Enums

    • A single syntax tree node of type T followed by its trailing punctuation +of type P if any.
    \ No newline at end of file diff --git a/syn/punctuated/sidebar-items.js b/syn/punctuated/sidebar-items.js index fee0ecc..ab0fbe3 100644 --- a/syn/punctuated/sidebar-items.js +++ b/syn/punctuated/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["Pair","A single syntax tree node of type `T` followed by its trailing punctuation of type `P` if any."]],"struct":[["IntoIter","An iterator over owned values of type `T`."],["IntoPairs","An iterator over owned pairs of type `Pair`."],["Iter","An iterator over borrowed values of type `&T`."],["IterMut","An iterator over mutably borrowed values of type `&mut T`."],["Pairs","An iterator over borrowed pairs of type `Pair<&T, &P>`."],["PairsMut","An iterator over mutably borrowed pairs of type `Pair<&mut T, &mut P>`."],["Punctuated","A punctuated sequence of syntax tree nodes of type `T` separated by punctuation of type `P`."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["Pair"],"struct":["IntoIter","IntoPairs","Iter","IterMut","Pairs","PairsMut","Punctuated"]}; \ No newline at end of file diff --git a/syn/punctuated/struct.IntoIter.html b/syn/punctuated/struct.IntoIter.html index 961283a..211714d 100644 --- a/syn/punctuated/struct.IntoIter.html +++ b/syn/punctuated/struct.IntoIter.html @@ -1,44 +1,216 @@ -IntoIter in syn::punctuated - Rust

    Struct syn::punctuated::IntoIter

    source ·
    pub struct IntoIter<T> { /* private fields */ }
    Expand description

    An iterator over owned values of type T.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Removes and returns an element from the end of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    Returns the nth element from the end of the iterator. Read more
    This is the reverse version of Iterator::try_fold(): it takes -elements starting from the back of the iterator. Read more
    An iterator method that reduces the iterator’s elements to a single, -final value, starting from the back. Read more
    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    Returns the exact remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +IntoIter in syn::punctuated - Rust

    Struct syn::punctuated::IntoIter

    source ·
    pub struct IntoIter<T> { /* private fields */ }
    Expand description

    An iterator over owned values of type T.

    +

    Refer to the module documentation for details about punctuated sequences.

    +

    Trait Implementations§

    source§

    impl<T> Clone for IntoIter<T>where + T: 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<T> DoubleEndedIterator for IntoIter<T>

    source§

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

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl<T> ExactSizeIterator for IntoIter<T>

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl<T> Iterator for IntoIter<T>

    §

    type Item = T

    The type of the elements being iterated over.
    source§

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

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere + T: 'a, + Self: Sized + DoubleEndedIterator<Item = &'a mut T>, + P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Searches for an element in an iterator from the right, returning its -index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Reverses an iterator’s direction. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>where + P: FnMut(Self::Item) -> bool, + Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its +index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    §

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

    §

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

    §

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

    §

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

    §

    impl<T> UnwindSafe for IntoIter<T>where + T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/struct.IntoPairs.html b/syn/punctuated/struct.IntoPairs.html index 269e461..b59f218 100644 --- a/syn/punctuated/struct.IntoPairs.html +++ b/syn/punctuated/struct.IntoPairs.html @@ -1,44 +1,222 @@ -IntoPairs in syn::punctuated - Rust

    Struct syn::punctuated::IntoPairs

    source ·
    pub struct IntoPairs<T, P> { /* private fields */ }
    Expand description

    An iterator over owned pairs of type Pair<T, P>.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Removes and returns an element from the end of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    Returns the nth element from the end of the iterator. Read more
    This is the reverse version of Iterator::try_fold(): it takes -elements starting from the back of the iterator. Read more
    An iterator method that reduces the iterator’s elements to a single, -final value, starting from the back. Read more
    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    Returns the exact remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +IntoPairs in syn::punctuated - Rust

    Struct syn::punctuated::IntoPairs

    source ·
    pub struct IntoPairs<T, P> { /* private fields */ }
    Expand description

    An iterator over owned pairs of type Pair<T, P>.

    +

    Refer to the module documentation for details about punctuated sequences.

    +

    Trait Implementations§

    source§

    impl<T, P> Clone for IntoPairs<T, P>where + T: Clone, + P: 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<T, P> DoubleEndedIterator for IntoPairs<T, P>

    source§

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

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl<T, P> ExactSizeIterator for IntoPairs<T, P>

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl<T, P> Iterator for IntoPairs<T, P>

    §

    type Item = Pair<T, P>

    The type of the elements being iterated over.
    source§

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

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere + T: 'a, + Self: Sized + DoubleEndedIterator<Item = &'a mut T>, + P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Searches for an element in an iterator from the right, returning its -index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Reverses an iterator’s direction. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>where + P: FnMut(Self::Item) -> bool, + Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its +index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    §

    impl<T, P> RefUnwindSafe for IntoPairs<T, P>where + P: RefUnwindSafe, + T: RefUnwindSafe,

    §

    impl<T, P> Send for IntoPairs<T, P>where + P: Send, + T: Send,

    §

    impl<T, P> Sync for IntoPairs<T, P>where + P: Sync, + T: Sync,

    §

    impl<T, P> Unpin for IntoPairs<T, P>where + P: Unpin, + T: Unpin,

    §

    impl<T, P> UnwindSafe for IntoPairs<T, P>where + P: UnwindSafe + RefUnwindSafe, + T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/struct.Iter.html b/syn/punctuated/struct.Iter.html index 993f30b..91349df 100644 --- a/syn/punctuated/struct.Iter.html +++ b/syn/punctuated/struct.Iter.html @@ -1,44 +1,211 @@ -Iter in syn::punctuated - Rust

    Struct syn::punctuated::Iter

    source ·
    pub struct Iter<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over borrowed values of type &T.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Removes and returns an element from the end of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    Returns the nth element from the end of the iterator. Read more
    This is the reverse version of Iterator::try_fold(): it takes -elements starting from the back of the iterator. Read more
    An iterator method that reduces the iterator’s elements to a single, -final value, starting from the back. Read more
    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    Returns the exact remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +Iter in syn::punctuated - Rust

    Struct syn::punctuated::Iter

    source ·
    pub struct Iter<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over borrowed values of type &T.

    +

    Refer to the module documentation for details about punctuated sequences.

    +

    Trait Implementations§

    source§

    impl<'a, T> Clone for Iter<'a, 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<'a, T> DoubleEndedIterator for Iter<'a, T>

    source§

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

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl<'a, T> ExactSizeIterator for Iter<'a, T>

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl<'a, T> Iterator for Iter<'a, T>

    §

    type Item = &'a T

    The type of the elements being iterated over.
    source§

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

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere + T: 'a, + Self: Sized + DoubleEndedIterator<Item = &'a mut T>, + P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Searches for an element in an iterator from the right, returning its -index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Reverses an iterator’s direction. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    Repeats an iterator endlessly. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>where + P: FnMut(Self::Item) -> bool, + Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its +index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 · source§

    fn cycle(self) -> Cycle<Self>where + Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    §

    impl<'a, T> !RefUnwindSafe for Iter<'a, T>

    §

    impl<'a, T> !Send for Iter<'a, T>

    §

    impl<'a, T> !Sync for Iter<'a, T>

    §

    impl<'a, T> Unpin for Iter<'a, T>

    §

    impl<'a, T> !UnwindSafe for Iter<'a, T>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/struct.IterMut.html b/syn/punctuated/struct.IterMut.html index cfbb7b9..49e3db3 100644 --- a/syn/punctuated/struct.IterMut.html +++ b/syn/punctuated/struct.IterMut.html @@ -1,44 +1,209 @@ -IterMut in syn::punctuated - Rust

    Struct syn::punctuated::IterMut

    source ·
    pub struct IterMut<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over mutably borrowed values of type &mut T.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Trait Implementations§

    Removes and returns an element from the end of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    Returns the nth element from the end of the iterator. Read more
    This is the reverse version of Iterator::try_fold(): it takes -elements starting from the back of the iterator. Read more
    An iterator method that reduces the iterator’s elements to a single, -final value, starting from the back. Read more
    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    Returns the exact remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +IterMut in syn::punctuated - Rust

    Struct syn::punctuated::IterMut

    source ·
    pub struct IterMut<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over mutably borrowed values of type &mut T.

    +

    Refer to the module documentation for details about punctuated sequences.

    +

    Trait Implementations§

    source§

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source§

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

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl<'a, T> ExactSizeIterator for IterMut<'a, T>

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl<'a, T> Iterator for IterMut<'a, T>

    §

    type Item = &'a mut T

    The type of the elements being iterated over.
    source§

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

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere + T: 'a, + Self: Sized + DoubleEndedIterator<Item = &'a mut T>, + P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Searches for an element in an iterator from the right, returning its -index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Reverses an iterator’s direction. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>where + P: FnMut(Self::Item) -> bool, + Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its +index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    §

    impl<'a, T> !RefUnwindSafe for IterMut<'a, T>

    §

    impl<'a, T> !Send for IterMut<'a, T>

    §

    impl<'a, T> !Sync for IterMut<'a, T>

    §

    impl<'a, T> Unpin for IterMut<'a, T>

    §

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/struct.Pairs.html b/syn/punctuated/struct.Pairs.html index c6244d0..79b5527 100644 --- a/syn/punctuated/struct.Pairs.html +++ b/syn/punctuated/struct.Pairs.html @@ -1,44 +1,219 @@ -Pairs in syn::punctuated - Rust

    Struct syn::punctuated::Pairs

    source ·
    pub struct Pairs<'a, T: 'a, P: 'a> { /* private fields */ }
    Expand description

    An iterator over borrowed pairs of type Pair<&T, &P>.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Removes and returns an element from the end of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    Returns the nth element from the end of the iterator. Read more
    This is the reverse version of Iterator::try_fold(): it takes -elements starting from the back of the iterator. Read more
    An iterator method that reduces the iterator’s elements to a single, -final value, starting from the back. Read more
    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    Returns the exact remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +Pairs in syn::punctuated - Rust

    Struct syn::punctuated::Pairs

    source ·
    pub struct Pairs<'a, T: 'a, P: 'a> { /* private fields */ }
    Expand description

    An iterator over borrowed pairs of type Pair<&T, &P>.

    +

    Refer to the module documentation for details about punctuated sequences.

    +

    Trait Implementations§

    source§

    impl<'a, T, P> Clone for Pairs<'a, T, P>

    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<'a, T, P> DoubleEndedIterator for Pairs<'a, T, P>

    source§

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

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl<'a, T, P> ExactSizeIterator for Pairs<'a, T, P>

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl<'a, T, P> Iterator for Pairs<'a, T, P>

    §

    type Item = Pair<&'a T, &'a P>

    The type of the elements being iterated over.
    source§

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

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere + T: 'a, + Self: Sized + DoubleEndedIterator<Item = &'a mut T>, + P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Searches for an element in an iterator from the right, returning its -index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Reverses an iterator’s direction. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    Repeats an iterator endlessly. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>where + P: FnMut(Self::Item) -> bool, + Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its +index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 · source§

    fn cycle(self) -> Cycle<Self>where + Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    §

    impl<'a, T, P> RefUnwindSafe for Pairs<'a, T, P>where + P: RefUnwindSafe, + T: RefUnwindSafe,

    §

    impl<'a, T, P> Send for Pairs<'a, T, P>where + P: Sync, + T: Sync,

    §

    impl<'a, T, P> Sync for Pairs<'a, T, P>where + P: Sync, + T: Sync,

    §

    impl<'a, T, P> Unpin for Pairs<'a, T, P>

    §

    impl<'a, T, P> UnwindSafe for Pairs<'a, T, P>where + P: RefUnwindSafe, + T: RefUnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/struct.PairsMut.html b/syn/punctuated/struct.PairsMut.html index 0a0056e..8de59e2 100644 --- a/syn/punctuated/struct.PairsMut.html +++ b/syn/punctuated/struct.PairsMut.html @@ -1,44 +1,215 @@ -PairsMut in syn::punctuated - Rust

    Struct syn::punctuated::PairsMut

    source ·
    pub struct PairsMut<'a, T: 'a, P: 'a> { /* private fields */ }
    Expand description

    An iterator over mutably borrowed pairs of type Pair<&mut T, &mut P>.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Trait Implementations§

    Removes and returns an element from the end of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    Returns the nth element from the end of the iterator. Read more
    This is the reverse version of Iterator::try_fold(): it takes -elements starting from the back of the iterator. Read more
    An iterator method that reduces the iterator’s elements to a single, -final value, starting from the back. Read more
    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    Returns the exact remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    The type of the elements being iterated over.
    Advances the iterator and returns the next value. Read more
    Returns the bounds on the remaining length of the iterator. Read more
    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    Consumes the iterator, counting the number of iterations and returning it. Read more
    Consumes the iterator, returning the last element. Read more
    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    Returns the nth element of the iterator. Read more
    Creates an iterator starting at the same point, but stepping by -the given amount at each iteration. Read more
    Takes two iterators and creates a new iterator over both in sequence. Read more
    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator -between adjacent items of the original iterator. Read more
    Takes a closure and creates an iterator which calls that closure on each -element. Read more
    Calls a closure on each element of an iterator. Read more
    Creates an iterator which uses a closure to determine if an element -should be yielded. Read more
    Creates an iterator that both filters and maps. Read more
    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    Creates an iterator which can use the peek and peek_mut methods +PairsMut in syn::punctuated - Rust

    Struct syn::punctuated::PairsMut

    source ·
    pub struct PairsMut<'a, T: 'a, P: 'a> { /* private fields */ }
    Expand description

    An iterator over mutably borrowed pairs of type Pair<&mut T, &mut P>.

    +

    Refer to the module documentation for details about punctuated sequences.

    +

    Trait Implementations§

    source§

    impl<'a, T, P> DoubleEndedIterator for PairsMut<'a, T, P>

    source§

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

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl<'a, T, P> ExactSizeIterator for PairsMut<'a, T, P>

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl<'a, T, P> Iterator for PairsMut<'a, T, P>

    §

    type Item = Pair<&'a mut T, &'a mut P>

    The type of the elements being iterated over.
    source§

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

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

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

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

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

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

    fn count(self) -> usizewhere + Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 · source§

    fn last(self) -> Option<Self::Item>where + Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.0.0 · source§

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where + Self: Sized,

    Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where + Self: Sized, + U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where + Self: Sized, + G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each +element. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where + Self: Sized, + F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where + Self: Sized,

    Creates an iterator which gives the current iteration count as well as +the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where + Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See -their documentation for more information. Read more
    Creates an iterator that skips elements based on a predicate. Read more
    Creates an iterator that yields elements based on a predicate. Read more
    Creates an iterator that both yields elements based on a predicate and maps. Read more
    Creates an iterator that skips the first n elements. Read more
    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    An iterator adapter similar to fold that holds internal state and -produces a new iterator. Read more
    Creates an iterator that works like map, but flattens nested structure. Read more
    Creates an iterator which ends after the first None. Read more
    Does something with each element of an iterator, passing the value on. Read more
    Borrows an iterator, rather than consuming it. Read more
    Transforms an iterator into a collection. Read more
    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    Consumes an iterator, creating two collections from it. Read more
    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, +their documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where + Self: Sized, + P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where + Self: Sized,

    Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where + Self: Sized, + F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where + Self: Sized, + U: IntoIterator, + F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where + Self: Sized, + F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over +self and returns an iterator over the outputs of f. Like slice::windows(), +the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where + Self: Sized, + F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere + B: FromIterator<Self::Item>, + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere + E: Extend<Self::Item>, + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where + Self: Sized, + B: Default + Extend<Self::Item>, + F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usizewhere + T: 'a, + Self: Sized + DoubleEndedIterator<Item = &'a mut T>, + P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    Reduces the elements to a single one, by repeatedly applying a reducing -operation. Read more
    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    Tests if every element of the iterator matches a predicate. Read more
    Tests if any element of the iterator matches a predicate. Read more
    Searches for an element of an iterator that satisfies a predicate. Read more
    Applies function to the elements of iterator and returns -the first non-none result. Read more
    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    Searches for an element in an iterator, returning its index. Read more
    Searches for an element in an iterator from the right, returning its -index. Read more
    Returns the element that gives the maximum value from the -specified function. Read more
    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    Returns the element that gives the minimum value from the -specified function. Read more
    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    Reverses an iterator’s direction. Read more
    Converts an iterator of pairs into a pair of containers. Read more
    Creates an iterator which copies all of its elements. Read more
    Creates an iterator which clones all of its elements. Read more
    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    Sums the elements of an iterator. Read more
    Iterates over the entire iterator, multiplying all the elements Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Lexicographically compares the elements of this Iterator with those -of another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    Determines if the elements of this Iterator are equal to those of -another. Read more
    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    Determines if the elements of this Iterator are unequal to those of -another. Read more
    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    Determines if the elements of this Iterator are lexicographically -greater than or equal to those of another. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere + Self: Sized, + P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere + Self: Sized, + F: FnMut(B, Self::Item) -> R, + R: Try<Output = B>,

    An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere + Self: Sized, + F: FnMut(Self::Item) -> R, + R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere + Self: Sized, + F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, +returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
    source§

    fn try_reduce<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere + Self: Sized, + F: FnMut(Self::Item, Self::Item) -> R, + R: Try<Output = Self::Item>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where + Self: Sized, + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where + Self: Sized, + F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns +the first non-none result. Read more
    source§

    fn try_find<F, R>( + &mut self, + f: F +) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere + Self: Sized, + F: FnMut(&Self::Item) -> R, + R: Try<Output = bool>, + <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns +the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where + Self: Sized, + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>where + P: FnMut(Self::Item) -> bool, + Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its +index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the +specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where + B: Ord, + Self: Sized, + F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the +specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where + FromA: Default + Extend<A>, + FromB: Default + Extend<B>, + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where + T: 'a + Copy, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where + T: 'a + Clone, + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere + Self: Sized, + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere + Self: Sized, + P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Lexicographically compares the PartialOrd elements of +this Iterator with those of another. The comparison works like short-circuit +evaluation, returning a result without comparing the remaining elements. +As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are equal to those of +another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere + Self: Sized, + I: IntoIterator, + F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialEq<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are not equal to those of +another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere + I: IntoIterator, + Self::Item: PartialOrd<<I as IntoIterator>::Item>, + Self: Sized,

    Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere + Self: Sized, + F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere + Self: Sized, + F: FnMut(Self::Item) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

    Auto Trait Implementations§

    §

    impl<'a, T, P> RefUnwindSafe for PairsMut<'a, T, P>where + P: RefUnwindSafe, + T: RefUnwindSafe,

    §

    impl<'a, T, P> Send for PairsMut<'a, T, P>where + P: Send, + T: Send,

    §

    impl<'a, T, P> Sync for PairsMut<'a, T, P>where + P: Sync, + T: Sync,

    §

    impl<'a, T, P> Unpin for PairsMut<'a, T, P>

    §

    impl<'a, T, P> !UnwindSafe for PairsMut<'a, T, P>

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<I> IntoIterator for Iwhere + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/punctuated/struct.Punctuated.html b/syn/punctuated/struct.Punctuated.html index 0b7f925..906db52 100644 --- a/syn/punctuated/struct.Punctuated.html +++ b/syn/punctuated/struct.Punctuated.html @@ -1,67 +1,77 @@ -Punctuated in syn::punctuated - Rust

    Struct syn::punctuated::Punctuated

    source ·
    pub struct Punctuated<T, P> { /* private fields */ }
    Expand description

    A punctuated sequence of syntax tree nodes of type T separated by +Punctuated in syn::punctuated - Rust

    Struct syn::punctuated::Punctuated

    source ·
    pub struct Punctuated<T, P> { /* private fields */ }
    Expand description

    A punctuated sequence of syntax tree nodes of type T separated by punctuation of type P.

    -

    Refer to the module documentation for details about punctuated sequences.

    -

    Implementations§

    Creates an empty punctuated sequence.

    -

    Determines whether this punctuated sequence is empty, meaning it +

    Refer to the module documentation for details about punctuated sequences.

    +

    Implementations§

    source§

    impl<T, P> Punctuated<T, P>

    source

    pub const fn new() -> Self

    Creates an empty punctuated sequence.

    +
    source

    pub fn is_empty(&self) -> bool

    Determines whether this punctuated sequence is empty, meaning it contains no syntax tree nodes or punctuation.

    -

    Returns the number of syntax tree nodes in this punctuated sequence.

    +
    source

    pub fn len(&self) -> usize

    Returns the number of syntax tree nodes in this punctuated sequence.

    This is the number of nodes of type T, not counting the punctuation of type P.

    -

    Borrows the first element in this sequence.

    -

    Mutably borrows the first element in this sequence.

    -

    Borrows the last element in this sequence.

    -

    Mutably borrows the last element in this sequence.

    -

    Returns an iterator over borrowed syntax tree nodes of type &T.

    -

    Returns an iterator over mutably borrowed syntax tree nodes of type +

    source

    pub fn first(&self) -> Option<&T>

    Borrows the first element in this sequence.

    +
    source

    pub fn first_mut(&mut self) -> Option<&mut T>

    Mutably borrows the first element in this sequence.

    +
    source

    pub fn last(&self) -> Option<&T>

    Borrows the last element in this sequence.

    +
    source

    pub fn last_mut(&mut self) -> Option<&mut T>

    Mutably borrows the last element in this sequence.

    +
    source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over borrowed syntax tree nodes of type &T.

    +
    source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns an iterator over mutably borrowed syntax tree nodes of type &mut T.

    -

    Returns an iterator over the contents of this sequence as borrowed +

    source

    pub fn pairs(&self) -> Pairs<'_, T, P>

    Returns an iterator over the contents of this sequence as borrowed punctuated pairs.

    -

    Returns an iterator over the contents of this sequence as mutably +

    source

    pub fn pairs_mut(&mut self) -> PairsMut<'_, T, P>

    Returns an iterator over the contents of this sequence as mutably borrowed punctuated pairs.

    -

    Returns an iterator over the contents of this sequence as owned +

    source

    pub fn into_pairs(self) -> IntoPairs<T, P>

    Returns an iterator over the contents of this sequence as owned punctuated pairs.

    -

    Appends a syntax tree node onto the end of this punctuated sequence. The +

    source

    pub fn push_value(&mut self, value: T)

    Appends a syntax tree node onto the end of this punctuated sequence. The sequence must previously have a trailing punctuation.

    -

    Use push instead if the punctuated sequence may or may not already +

    Use push instead if the punctuated sequence may or may not already have trailing punctuation.

    Panics

    Panics if the sequence does not already have a trailing punctuation when this method is called.

    -

    Appends a trailing punctuation onto the end of this punctuated sequence. +

    source

    pub fn push_punct(&mut self, punctuation: P)

    Appends a trailing punctuation onto the end of this punctuated sequence. The sequence must be non-empty and must not already have trailing punctuation.

    Panics

    Panics if the sequence is empty or already has a trailing punctuation.

    -

    Removes the last punctuated pair from this sequence, or None if the +

    source

    pub fn pop(&mut self) -> Option<Pair<T, P>>

    Removes the last punctuated pair from this sequence, or None if the sequence is empty.

    -

    Determines whether this punctuated sequence ends with a trailing +

    source

    pub fn trailing_punct(&self) -> bool

    Determines whether this punctuated sequence ends with a trailing punctuation.

    -

    Returns true if either this Punctuated is empty, or it has a trailing +

    source

    pub fn empty_or_trailing(&self) -> bool

    Returns true if either this Punctuated is empty, or it has a trailing punctuation.

    Equivalent to punctuated.is_empty() || punctuated.trailing_punct().

    -

    Appends a syntax tree node onto the end of this punctuated sequence.

    +
    source

    pub fn push(&mut self, value: T)where + P: Default,

    Appends a syntax tree node onto the end of this punctuated sequence.

    If there is not a trailing punctuation in this sequence when this method is called, the default value of punctuation type P is inserted before the given value of type T.

    -

    Inserts an element at position index.

    +
    source

    pub fn insert(&mut self, index: usize, value: T)where + P: Default,

    Inserts an element at position index.

    Panics

    Panics if index is greater than the number of elements previously in this punctuated sequence.

    -

    Clears the sequence of all values and punctuation, making it empty.

    -

    Parses zero or more occurrences of T separated by punctuation of type +

    source

    pub fn clear(&mut self)

    Clears the sequence of all values and punctuation, making it empty.

    +
    source

    pub fn parse_terminated(input: ParseStream<'_>) -> Result<Self>where + T: Parse, + P: Parse,

    Parses zero or more occurrences of T separated by punctuation of type P, with optional trailing punctuation.

    Parsing continues until the end of this parse stream. The entire content of this parse stream must consist of T and P.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parses zero or more occurrences of T using the given parse function, +

    source

    pub fn parse_terminated_with( + input: ParseStream<'_>, + parser: fn(_: ParseStream<'_>) -> Result<T> +) -> Result<Self>where + P: Parse,

    Parses zero or more occurrences of T using the given parse function, separated by punctuation of type P, with optional trailing punctuation.

    -

    Like parse_terminated, the entire content of this stream is expected +

    Like parse_terminated, the entire content of this stream is expected to be parsed.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parses one or more occurrences of T separated by punctuation of type +

    source

    pub fn parse_separated_nonempty(input: ParseStream<'_>) -> Result<Self>where + T: Parse, + P: Token + Parse,

    Parses one or more occurrences of T separated by punctuation of type P, not accepting trailing punctuation.

    Parsing continues as long as punctuation P is present at the head of the stream. This method returns upon parsing a T and observing that it @@ -69,18 +79,55 @@ is not followed by a P, even if there are remaining tokens in the stream.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parses one or more occurrences of T using the given parse function, +

    source

    pub fn parse_separated_nonempty_with( + input: ParseStream<'_>, + parser: fn(_: ParseStream<'_>) -> Result<T> +) -> Result<Self>where + P: Token + Parse,

    Parses one or more occurrences of T using the given parse function, separated by punctuation of type P, not accepting trailing punctuation.

    -

    Like parse_separated_nonempty, may complete early without parsing +

    Like parse_separated_nonempty, may complete early without parsing the entire content of this stream.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Creates a value from an iterator. Read more
    Creates a value from an iterator. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    The returned type after indexing.
    Performs the indexing (container[index]) operation. Read more
    Performs the mutable indexing (container[index]) operation. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<T, P> Clone for Punctuated<T, P>where + T: Clone, + P: 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<T: Debug, P: Debug> Debug for Punctuated<T, P>

    source§

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

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

    impl<T, P> Default for Punctuated<T, P>

    source§

    fn default() -> Self

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

    impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>

    source§

    fn extend<I: IntoIterator<Item = Pair<T, P>>>(&mut self, i: I)

    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<T, P> Extend<T> for Punctuated<T, P>where + P: Default,

    source§

    fn extend<I: IntoIterator<Item = T>>(&mut self, i: I)

    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<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>

    source§

    fn from_iter<I: IntoIterator<Item = Pair<T, P>>>(i: I) -> Self

    Creates a value from an iterator. Read more
    source§

    impl<T, P> FromIterator<T> for Punctuated<T, P>where + P: Default,

    source§

    fn from_iter<I: IntoIterator<Item = T>>(i: I) -> Self

    Creates a value from an iterator. Read more
    source§

    impl<T, P> Hash for Punctuated<T, P>where + T: Hash, + P: Hash,

    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<T, P> Index<usize> for Punctuated<T, P>

    §

    type Output = T

    The returned type after indexing.
    source§

    fn index(&self, index: usize) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<T, P> IndexMut<usize> for Punctuated<T, P>

    source§

    fn index_mut(&mut self, index: usize) -> &mut Self::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source§

    impl<'a, T, P> IntoIterator for &'a Punctuated<T, P>

    §

    type Item = &'a T

    The type of the elements being iterated over.
    §

    type IntoIter = Iter<'a, T>

    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, T, P> IntoIterator for &'a mut Punctuated<T, P>

    §

    type Item = &'a mut T

    The type of the elements being iterated over.
    §

    type IntoIter = IterMut<'a, T>

    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<T, P> IntoIterator for Punctuated<T, P>

    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    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<T, P> PartialEq<Punctuated<T, P>> for Punctuated<T, P>where + T: PartialEq, + P: PartialEq,

    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.
    source§

    impl<T, P> ToTokens for Punctuated<T, P>where + T: ToTokens, + P: ToTokens,

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl<T, P> Eq for Punctuated<T, P>where + T: Eq, + P: Eq,

    Auto Trait Implementations§

    §

    impl<T, P> RefUnwindSafe for Punctuated<T, P>where + P: RefUnwindSafe, + T: RefUnwindSafe,

    §

    impl<T, P> Send for Punctuated<T, P>where + P: Send, + T: Send,

    §

    impl<T, P> Sync for Punctuated<T, P>where + P: Sync, + T: Sync,

    §

    impl<T, P> Unpin for Punctuated<T, P>where + P: Unpin, + T: Unpin,

    §

    impl<T, P> UnwindSafe for Punctuated<T, P>where + P: UnwindSafe, + T: UnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/sidebar-items.js b/syn/sidebar-items.js index 5a45359..311a358 100644 --- a/syn/sidebar-items.js +++ b/syn/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["AttrStyle","Distinguishes between attributes that decorate an item and attributes that are contained within an item."],["BinOp","A binary operator: `+`, `+=`, `&`."],["Data","The storage of a struct, enum or union data structure."],["Expr","A Rust expression."],["Fields","Data stored within an enum variant or struct."],["GenericArgument","An individual generic argument, like `'a`, `T`, or `Item = T`."],["GenericParam","A generic type parameter, lifetime, or const generic: `T: Into`, `'a: 'b`, `const LEN: usize`."],["Lit","A Rust literal such as a string or integer or boolean."],["MacroDelimiter","A grouping token that surrounds a macro body: `m!(...)` or `m!{...}` or `m![...]`."],["Member","A struct or tuple struct field accessed in a struct literal or field expression."],["Meta","Content of a compile-time structured attribute."],["NestedMeta","Element of a compile-time attribute list."],["PathArguments","Angle bracketed or parenthesized arguments of a path segment."],["ReturnType","Return type of a function signature."],["StrStyle","The style of a string literal, either plain quoted or a raw string like `r##\"data\"##`."],["TraitBoundModifier","A modifier on a trait bound, currently only used for the `?` in `?Sized`."],["Type","The possible types that a Rust value could have."],["TypeParamBound","A trait or lifetime used as a bound on a type parameter."],["UnOp","A unary operator: `*`, `!`, `-`."],["Visibility","The visibility level of an item: inherited or `pub` or `pub(restricted)`."],["WherePredicate","A single predicate in a `where` clause: `T: Deserialize<'de>`."]],"fn":[["parse","Parse tokens of source code into the chosen syntax tree node."],["parse2","Parse a proc-macro2 token stream into the chosen syntax tree node."],["parse_str","Parse a string of Rust code into the chosen syntax tree node."]],"macro":[["Token","A type-macro that expands to the name of the Rust type representation of a given token."],["braced","Parse a set of curly braces and expose their content to subsequent parsers."],["bracketed","Parse a set of square brackets and expose their content to subsequent parsers."],["custom_keyword","Define a type that supports parsing and printing a given identifier as if it were a keyword."],["custom_punctuation","Define a type that supports parsing and printing a multi-character symbol as if it were a punctuation token."],["parenthesized","Parse a set of parentheses and expose their content to subsequent parsers."],["parse_macro_input","Parse the input TokenStream of a macro, triggering a compile error if the tokens fail to parse."],["parse_quote","Quasi-quotation macro that accepts input like the `quote!` macro but uses type inference to figure out a return type for those tokens."],["parse_quote_spanned","This macro is [`parse_quote!`] + [`quote_spanned!`][quote::quote_spanned]."]],"mod":[["buffer","A stably addressed token buffer supporting efficient traversal based on a cheaply copyable cursor."],["ext","Extension traits to provide parsing methods on foreign types."],["parse","Parsing interface for parsing a token stream into a syntax tree node."],["punctuated","A punctuated sequence of syntax tree nodes separated by punctuation."],["spanned","A trait that can provide the `Span` of the complete contents of a syntax tree node."],["token","Tokens representing Rust punctuation, keywords, and delimiters."],["visit","Syntax tree traversal to walk a shared borrow of a syntax tree."]],"struct":[["Abi","The binary interface of a function: `extern \"C\"`."],["AngleBracketedGenericArguments","Angle bracketed arguments of a path segment: the `` in `HashMap`."],["Attribute","An attribute like `#[repr(transparent)]`."],["BareFnArg","An argument in a function type: the `usize` in `fn(usize) -> bool`."],["Binding","A binding (equality constraint) on an associated type: `Item = u8`."],["BoundLifetimes","A set of bound lifetimes: `for<'a, 'b, 'c>`."],["ConstParam","A const generic parameter: `const LENGTH: usize`."],["Constraint","An associated type bound: `Iterator`."],["DataEnum","An enum input to a `proc_macro_derive` macro."],["DataStruct","A struct input to a `proc_macro_derive` macro."],["DataUnion","An untagged union input to a `proc_macro_derive` macro."],["DeriveInput","Data structure sent to a `proc_macro_derive` macro."],["Error","Error returned when a Syn parser cannot parse the input tokens."],["ExprArray","A slice literal expression: `[a, b, c, d]`."],["ExprAssign","An assignment expression: `a = compute()`."],["ExprAssignOp","A compound assignment expression: `counter += 1`."],["ExprAsync","An async block: `async { ... }`."],["ExprAwait","An await expression: `fut.await`."],["ExprBinary","A binary operation: `a + b`, `a * b`."],["ExprBlock","A blocked scope: `{ ... }`."],["ExprBox","A box expression: `box f`."],["ExprBreak","A `break`, with an optional label to break and an optional expression."],["ExprCall","A function call expression: `invoke(a, b)`."],["ExprCast","A cast expression: `foo as f64`."],["ExprClosure","A closure expression: `|a, b| a + b`."],["ExprContinue","A `continue`, with an optional label."],["ExprField","Access of a named struct field (`obj.k`) or unnamed tuple struct field (`obj.0`)."],["ExprForLoop","A for loop: `for pat in expr { ... }`."],["ExprGroup","An expression contained within invisible delimiters."],["ExprIf","An `if` expression with an optional `else` block: `if expr { ... } else { ... }`."],["ExprIndex","A square bracketed indexing expression: `vector[2]`."],["ExprLet","A `let` guard: `let Some(x) = opt`."],["ExprLit","A literal in place of an expression: `1`, `\"foo\"`."],["ExprLoop","Conditionless loop: `loop { ... }`."],["ExprMacro","A macro invocation expression: `format!(\"{}\", q)`."],["ExprMatch","A `match` expression: `match n { Some(n) => {}, None => {} }`."],["ExprMethodCall","A method call expression: `x.foo::(a, b)`."],["ExprParen","A parenthesized expression: `(a + b)`."],["ExprPath","A path like `std::mem::replace` possibly containing generic parameters and a qualified self-type."],["ExprRange","A range expression: `1..2`, `1..`, `..2`, `1..=2`, `..=2`."],["ExprReference","A referencing operation: `&a` or `&mut a`."],["ExprRepeat","An array literal constructed from one repeated element: `[0u8; N]`."],["ExprReturn","A `return`, with an optional value to be returned."],["ExprStruct","A struct literal expression: `Point { x: 1, y: 1 }`."],["ExprTry","A try-expression: `expr?`."],["ExprTryBlock","A try block: `try { ... }`."],["ExprTuple","A tuple expression: `(a, b, c, d)`."],["ExprType","A type ascription expression: `foo: f64`."],["ExprUnary","A unary operation: `!x`, `*x`."],["ExprUnsafe","An unsafe block: `unsafe { ... }`."],["ExprWhile","A while loop: `while expr { ... }`."],["ExprYield","A yield expression: `yield expr`."],["Field","A field of a struct or enum variant."],["FieldsNamed","Named fields of a struct or struct variant such as `Point { x: f64, y: f64 }`."],["FieldsUnnamed","Unnamed fields of a tuple struct or tuple variant such as `Some(T)`."],["Generics","Lifetimes and type parameters attached to a declaration of a function, enum, trait, etc."],["Ident","A word of Rust code, which may be a keyword or legal variable name."],["ImplGenerics","Returned by `Generics::split_for_impl`."],["Index","The index of an unnamed tuple struct field."],["Lifetime","A Rust lifetime: `'a`."],["LifetimeDef","A lifetime definition: `'a: 'b + 'c + 'd`."],["LitBool","A boolean literal: `true` or `false`."],["LitByte","A byte literal: `b'f'`."],["LitByteStr","A byte string literal: `b\"foo\"`."],["LitChar","A character literal: `'a'`."],["LitFloat","A floating point literal: `1f64` or `1.0e10f64`."],["LitInt","An integer literal: `1` or `1u16`."],["LitStr","A UTF-8 string literal: `\"foo\"`."],["Macro","A macro invocation: `println!(\"{}\", mac)`."],["MetaList","A structured list within an attribute, like `derive(Copy, Clone)`."],["MetaNameValue","A name-value pair within an attribute, like `feature = \"nightly\"`."],["ParenthesizedGenericArguments","Arguments of a function path segment: the `(A, B) -> C` in `Fn(A,B) -> C`."],["Path","A path at which a named item is exported (e.g. `std::collections::HashMap`)."],["PathSegment","A segment of a path together with any path arguments on that segment."],["PredicateEq","An equality predicate in a `where` clause (unsupported)."],["PredicateLifetime","A lifetime predicate in a `where` clause: `'a: 'b + 'c`."],["PredicateType","A type predicate in a `where` clause: `for<'c> Foo<'c>: Trait<'c>`."],["QSelf","The explicit Self type in a qualified path: the `T` in `::fmt`."],["TraitBound","A trait used as a bound on a type parameter."],["Turbofish","Returned by `TypeGenerics::as_turbofish`."],["TypeArray","A fixed size array type: `[T; n]`."],["TypeBareFn","A bare function type: `fn(usize) -> bool`."],["TypeGenerics","Returned by `Generics::split_for_impl`."],["TypeGroup","A type contained within invisible delimiters."],["TypeImplTrait","An `impl Bound1 + Bound2 + Bound3` type where `Bound` is a trait or a lifetime."],["TypeInfer","Indication that a type should be inferred by the compiler: `_`."],["TypeMacro","A macro in the type position."],["TypeNever","The never type: `!`."],["TypeParam","A generic type parameter: `T: Into`."],["TypeParen","A parenthesized type equivalent to the inner type."],["TypePath","A path like `std::slice::Iter`, optionally qualified with a self-type as in ` as SomeTrait>::Associated`."],["TypePtr","A raw pointer type: `*const T` or `*mut T`."],["TypeReference","A reference type: `&'a T` or `&'a mut T`."],["TypeSlice","A dynamically sized slice type: `[T]`."],["TypeTraitObject","A trait object type `dyn Bound1 + Bound2 + Bound3` where `Bound` is a trait or a lifetime."],["TypeTuple","A tuple type: `(A, B, C, String)`."],["Variadic","The variadic argument of a foreign function."],["Variant","An enum variant."],["VisCrate","A crate-level visibility: `crate`."],["VisPublic","A public visibility level: `pub`."],["VisRestricted","A visibility level restricted to some path: `pub(self)` or `pub(super)` or `pub(crate)` or `pub(in some::module)`."],["WhereClause","A `where` clause in a definition: `where T: Deserialize<'de>, D: 'static`."]],"type":[["AttributeArgs","Conventional argument type associated with an invocation of an attribute macro."],["Result","The result of a Syn parser."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["AttrStyle","BinOp","Data","Expr","Fields","GenericArgument","GenericParam","Lit","MacroDelimiter","Member","Meta","NestedMeta","PathArguments","ReturnType","StrStyle","TraitBoundModifier","Type","TypeParamBound","UnOp","Visibility","WherePredicate"],"fn":["parse","parse2","parse_str"],"macro":["Token","braced","bracketed","custom_keyword","custom_punctuation","parenthesized","parse_macro_input","parse_quote","parse_quote_spanned"],"mod":["buffer","ext","parse","punctuated","spanned","token","visit"],"struct":["Abi","AngleBracketedGenericArguments","Attribute","BareFnArg","Binding","BoundLifetimes","ConstParam","Constraint","DataEnum","DataStruct","DataUnion","DeriveInput","Error","ExprArray","ExprAssign","ExprAssignOp","ExprAsync","ExprAwait","ExprBinary","ExprBlock","ExprBox","ExprBreak","ExprCall","ExprCast","ExprClosure","ExprContinue","ExprField","ExprForLoop","ExprGroup","ExprIf","ExprIndex","ExprLet","ExprLit","ExprLoop","ExprMacro","ExprMatch","ExprMethodCall","ExprParen","ExprPath","ExprRange","ExprReference","ExprRepeat","ExprReturn","ExprStruct","ExprTry","ExprTryBlock","ExprTuple","ExprType","ExprUnary","ExprUnsafe","ExprWhile","ExprYield","Field","FieldsNamed","FieldsUnnamed","Generics","Ident","ImplGenerics","Index","Lifetime","LifetimeDef","LitBool","LitByte","LitByteStr","LitChar","LitFloat","LitInt","LitStr","Macro","MetaList","MetaNameValue","ParenthesizedGenericArguments","Path","PathSegment","PredicateEq","PredicateLifetime","PredicateType","QSelf","TraitBound","Turbofish","TypeArray","TypeBareFn","TypeGenerics","TypeGroup","TypeImplTrait","TypeInfer","TypeMacro","TypeNever","TypeParam","TypeParen","TypePath","TypePtr","TypeReference","TypeSlice","TypeTraitObject","TypeTuple","Variadic","Variant","VisCrate","VisPublic","VisRestricted","WhereClause"],"type":["AttributeArgs","Result"]}; \ No newline at end of file diff --git a/syn/spanned/index.html b/syn/spanned/index.html index b2a0854..596e9f1 100644 --- a/syn/spanned/index.html +++ b/syn/spanned/index.html @@ -1,11 +1,11 @@ -syn::spanned - Rust

    Module syn::spanned

    source ·
    Expand description

    A trait that can provide the Span of the complete contents of a syntax +syn::spanned - Rust

    Module syn::spanned

    source ·
    Expand description

    A trait that can provide the Span of the complete contents of a syntax tree node.

    This module is available only if Syn is built with both the "parsing" and "printing" features.


    Example

    -

    Suppose in a procedural macro we have a Type that we want to assert -implements the Sync trait. Maybe this is the type of one of the fields +

    Suppose in a procedural macro we have a Type that we want to assert +implements the Sync trait. Maybe this is the type of one of the fields of a struct for which we are deriving a trait implementation, and we need to be able to pass a reference to one of those fields across threads.

    If the field type does not implement Sync as required, we want the @@ -42,13 +42,13 @@ our macro, the user’s code will fail to compile if ty does not im error appear in the correct place underlining the right type.


    Limitations

    -

    The underlying proc_macro::Span::join method is nightly-only. When +

    The underlying proc_macro::Span::join method is nightly-only. When called from within a procedural macro in a nightly compiler, Spanned will use join to produce the intended span. When not using a nightly compiler, only the span of the first token of the syntax tree node is returned.

    In the common case of wanting to use the joined span as the span of a -syn::Error, consider instead using syn::Error::new_spanned which is +syn::Error, consider instead using syn::Error::new_spanned which is able to span the error correctly under the complete syntax tree node without needing the unstable join.

    -

    Traits

    A trait that can provide the Span of the complete contents of a syntax -tree node.
    \ No newline at end of file +

    Traits

    • A trait that can provide the Span of the complete contents of a syntax +tree node.
    \ No newline at end of file diff --git a/syn/spanned/sidebar-items.js b/syn/spanned/sidebar-items.js index a564fa6..34f8fb6 100644 --- a/syn/spanned/sidebar-items.js +++ b/syn/spanned/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"trait":[["Spanned","A trait that can provide the `Span` of the complete contents of a syntax tree node."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":["Spanned"]}; \ No newline at end of file diff --git a/syn/spanned/trait.Spanned.html b/syn/spanned/trait.Spanned.html index 2a1f3e9..03f5a89 100644 --- a/syn/spanned/trait.Spanned.html +++ b/syn/spanned/trait.Spanned.html @@ -1,12 +1,13 @@ -Spanned in syn::spanned - Rust

    Trait syn::spanned::Spanned

    source ·
    pub trait Spanned {
    +Spanned in syn::spanned - Rust

    Trait syn::spanned::Spanned

    source ·
    pub trait Spanned {
    +    // Required method
         fn span(&self) -> Span;
    -}
    Expand description

    A trait that can provide the Span of the complete contents of a syntax +}

    Expand description

    A trait that can provide the Span of the complete contents of a syntax tree node.

    This trait is automatically implemented for all types that implement -ToTokens from the quote crate, as well as for Span itself.

    -

    See the module documentation for an example.

    +ToTokens from the quote crate, as well as for Span itself.

    +

    See the module documentation for an example.

    This trait is available only if Syn is built with both the "parsing" and "printing" features.

    -

    Required Methods§

    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty.

    -

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.

    +

    Implementors§

    source§

    impl<T: ?Sized + ToTokens> Spanned for T

    \ No newline at end of file diff --git a/syn/struct.Abi.html b/syn/struct.Abi.html index f964ada..382cc37 100644 --- a/syn/struct.Abi.html +++ b/syn/struct.Abi.html @@ -1,14 +1,26 @@ -Abi in syn - Rust

    Struct syn::Abi

    source ·
    pub struct Abi {
    +Abi in syn - Rust

    Struct syn::Abi

    source ·
    pub struct Abi {
         pub extern_token: Extern,
    -    pub name: Option<LitStr>,
    -}
    Expand description

    The binary interface of a function: extern "C".

    + pub name: Option<LitStr>, +}
    Expand description

    The binary interface of a function: extern "C".

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §extern_token: Extern§name: Option<LitStr>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §extern_token: Extern§name: Option<LitStr>

    Trait Implementations§

    source§

    impl Clone for Abi

    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 Debug for Abi

    source§

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

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

    impl Hash for Abi

    source§

    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
    source§

    impl Parse for Abi

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Abi> for Abi

    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.
    source§

    impl ToTokens for Abi

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Abi

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Abi

    §

    impl !Send for Abi

    §

    impl !Sync for Abi

    §

    impl Unpin for Abi

    §

    impl UnwindSafe for Abi

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.AngleBracketedGenericArguments.html b/syn/struct.AngleBracketedGenericArguments.html index 603c227..396572f 100644 --- a/syn/struct.AngleBracketedGenericArguments.html +++ b/syn/struct.AngleBracketedGenericArguments.html @@ -1,16 +1,28 @@ -AngleBracketedGenericArguments in syn - Rust
    pub struct AngleBracketedGenericArguments {
    -    pub colon2_token: Option<Colon2>,
    +AngleBracketedGenericArguments in syn - Rust
    pub struct AngleBracketedGenericArguments {
    +    pub colon2_token: Option<Colon2>,
         pub lt_token: Lt,
         pub args: Punctuated<GenericArgument, Comma>,
         pub gt_token: Gt,
    -}
    Expand description

    Angle bracketed arguments of a path segment: the <K, V> in HashMap<K, V>.

    +}
    Expand description

    Angle bracketed arguments of a path segment: the <K, V> in HashMap<K, V>.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §colon2_token: Option<Colon2>§lt_token: Lt§args: Punctuated<GenericArgument, Comma>§gt_token: Gt

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §colon2_token: Option<Colon2>§lt_token: Lt§args: Punctuated<GenericArgument, Comma>§gt_token: Gt

    Trait Implementations§

    source§

    impl Clone for AngleBracketedGenericArguments

    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 Debug for AngleBracketedGenericArguments

    source§

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

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

    impl Hash for AngleBracketedGenericArguments

    source§

    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
    source§

    impl Parse for AngleBracketedGenericArguments

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<AngleBracketedGenericArguments> for AngleBracketedGenericArguments

    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.
    source§

    impl ToTokens for AngleBracketedGenericArguments

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for AngleBracketedGenericArguments

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Attribute.html b/syn/struct.Attribute.html index 01e1cad..1ac9286 100644 --- a/syn/struct.Attribute.html +++ b/syn/struct.Attribute.html @@ -1,10 +1,10 @@ -Attribute in syn - Rust

    Struct syn::Attribute

    source ·
    pub struct Attribute {
    +Attribute in syn - Rust

    Struct syn::Attribute

    source ·
    pub struct Attribute {
         pub pound_token: Pound,
         pub style: AttrStyle,
         pub bracket_token: Bracket,
         pub path: Path,
         pub tokens: TokenStream,
    -}
    Expand description

    An attribute like #[repr(transparent)].

    +}
    Expand description

    An attribute like #[repr(transparent)].

    This type is available only if Syn is built with the "derive" or "full" feature.


    @@ -33,10 +33,10 @@ tokens.

    path tokens path tokens

    Parsing from tokens to Attribute

    -

    This type does not implement the Parse trait and thus cannot be -parsed directly by ParseStream::parse. Instead use -ParseStream::call with one of the two parser functions -Attribute::parse_outer or Attribute::parse_inner depending on +

    This type does not implement the Parse trait and thus cannot be +parsed directly by ParseStream::parse. Instead use +ParseStream::call with one of the two parser functions +Attribute::parse_outer or Attribute::parse_inner depending on which you intend to parse.

    use syn::{Attribute, Ident, Result, Token};
    @@ -72,9 +72,9 @@ expected to check the path of the attribute, decide whether they
     recognize it, and then parse the remaining tokens according to whatever
     grammar they wish to require for that kind of attribute.

    If the attribute you are parsing is expected to conform to the -conventional structured form of attribute, use parse_meta() to +conventional structured form of attribute, use parse_meta() to obtain that structured representation. If the attribute follows some -other grammar of its own, use parse_args() to parse that into the +other grammar of its own, use parse_args() to parse that into the expected data structure.


    Doc comments

    @@ -107,11 +107,11 @@ expanded into an attribute of the form #[doc = r"comment"]} }; assert_eq!(doc, attr);
    -

    Fields§

    §pound_token: Pound§style: AttrStyle§bracket_token: Bracket§path: Path§tokens: TokenStream

    Implementations§

    Parses the content of the attribute, consisting of the path and tokens, -as a Meta if possible.

    +

    Fields§

    §pound_token: Pound§style: AttrStyle§bracket_token: Bracket§path: Path§tokens: TokenStream

    Implementations§

    source§

    impl Attribute

    source

    pub fn parse_meta(&self) -> Result<Meta>

    Parses the content of the attribute, consisting of the path and tokens, +as a Meta if possible.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parse the arguments to the attribute as a syntax tree.

    +
    source

    pub fn parse_args<T: Parse>(&self) -> Result<T>

    Parse the arguments to the attribute as a syntax tree.

    This is similar to syn::parse2::<T>(attr.tokens) except that:

    • the surrounding delimiters are not included in the input to the @@ -123,20 +123,32 @@ parser; and

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parse the arguments to the attribute using the given parser.

    +
    source

    pub fn parse_args_with<F: Parser>(&self, parser: F) -> Result<F::Output>

    Parse the arguments to the attribute using the given parser.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parses zero or more outer attributes from the stream.

    +
    source

    pub fn parse_outer(input: ParseStream<'_>) -> Result<Vec<Self>>

    Parses zero or more outer attributes from the stream.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Parses zero or more inner attributes from the stream.

    +
    source

    pub fn parse_inner(input: ParseStream<'_>) -> Result<Vec<Self>>

    Parses zero or more inner attributes from the stream.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Attribute

    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 Debug for Attribute

    source§

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

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

    impl Hash for Attribute

    source§

    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
    source§

    impl PartialEq<Attribute> for Attribute

    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.
    source§

    impl ToTokens for Attribute

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Attribute

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.BareFnArg.html b/syn/struct.BareFnArg.html index 6fa295b..5cc59b8 100644 --- a/syn/struct.BareFnArg.html +++ b/syn/struct.BareFnArg.html @@ -1,15 +1,27 @@ -BareFnArg in syn - Rust

    Struct syn::BareFnArg

    source ·
    pub struct BareFnArg {
    -    pub attrs: Vec<Attribute>,
    -    pub name: Option<(Ident, Colon)>,
    +BareFnArg in syn - Rust

    Struct syn::BareFnArg

    source ·
    pub struct BareFnArg {
    +    pub attrs: Vec<Attribute>,
    +    pub name: Option<(Ident, Colon)>,
         pub ty: Type,
    -}
    Expand description

    An argument in a function type: the usize in fn(usize) -> bool.

    +}
    Expand description

    An argument in a function type: the usize in fn(usize) -> bool.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§name: Option<(Ident, Colon)>§ty: Type

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§name: Option<(Ident, Colon)>§ty: Type

    Trait Implementations§

    source§

    impl Clone for BareFnArg

    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 Debug for BareFnArg

    source§

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

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

    impl Hash for BareFnArg

    source§

    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
    source§

    impl Parse for BareFnArg

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<BareFnArg> for BareFnArg

    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.
    source§

    impl ToTokens for BareFnArg

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for BareFnArg

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Binding.html b/syn/struct.Binding.html index 955159b..aace536 100644 --- a/syn/struct.Binding.html +++ b/syn/struct.Binding.html @@ -1,15 +1,27 @@ -Binding in syn - Rust

    Struct syn::Binding

    source ·
    pub struct Binding {
    +Binding in syn - Rust

    Struct syn::Binding

    source ·
    pub struct Binding {
         pub ident: Ident,
         pub eq_token: Eq,
         pub ty: Type,
    -}
    Expand description

    A binding (equality constraint) on an associated type: Item = u8.

    +}
    Expand description

    A binding (equality constraint) on an associated type: Item = u8.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §ident: Ident§eq_token: Eq§ty: Type

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §ident: Ident§eq_token: Eq§ty: Type

    Trait Implementations§

    source§

    impl Clone for Binding

    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 Debug for Binding

    source§

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

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

    impl Hash for Binding

    source§

    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
    source§

    impl Parse for Binding

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Binding> for Binding

    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.
    source§

    impl ToTokens for Binding

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Binding

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.BoundLifetimes.html b/syn/struct.BoundLifetimes.html index 675d1a3..4b03085 100644 --- a/syn/struct.BoundLifetimes.html +++ b/syn/struct.BoundLifetimes.html @@ -1,16 +1,28 @@ -BoundLifetimes in syn - Rust

    Struct syn::BoundLifetimes

    source ·
    pub struct BoundLifetimes {
    +BoundLifetimes in syn - Rust

    Struct syn::BoundLifetimes

    source ·
    pub struct BoundLifetimes {
         pub for_token: For,
         pub lt_token: Lt,
         pub lifetimes: Punctuated<LifetimeDef, Comma>,
         pub gt_token: Gt,
    -}
    Expand description

    A set of bound lifetimes: for<'a, 'b, 'c>.

    +}
    Expand description

    A set of bound lifetimes: for<'a, 'b, 'c>.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §for_token: For§lt_token: Lt§lifetimes: Punctuated<LifetimeDef, Comma>§gt_token: Gt

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §for_token: For§lt_token: Lt§lifetimes: Punctuated<LifetimeDef, Comma>§gt_token: Gt

    Trait Implementations§

    source§

    impl Clone for BoundLifetimes

    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 Debug for BoundLifetimes

    source§

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

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

    impl Default for BoundLifetimes

    source§

    fn default() -> Self

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

    impl Hash for BoundLifetimes

    source§

    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
    source§

    impl Parse for BoundLifetimes

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<BoundLifetimes> for BoundLifetimes

    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.
    source§

    impl ToTokens for BoundLifetimes

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for BoundLifetimes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ConstParam.html b/syn/struct.ConstParam.html index ef0420e..dab5bde 100644 --- a/syn/struct.ConstParam.html +++ b/syn/struct.ConstParam.html @@ -1,19 +1,31 @@ -ConstParam in syn - Rust

    Struct syn::ConstParam

    source ·
    pub struct ConstParam {
    -    pub attrs: Vec<Attribute>,
    +ConstParam in syn - Rust

    Struct syn::ConstParam

    source ·
    pub struct ConstParam {
    +    pub attrs: Vec<Attribute>,
         pub const_token: Const,
         pub ident: Ident,
         pub colon_token: Colon,
         pub ty: Type,
    -    pub eq_token: Option<Eq>,
    -    pub default: Option<Expr>,
    -}
    Expand description

    A const generic parameter: const LENGTH: usize.

    + pub eq_token: Option<Eq>, + pub default: Option<Expr>, +}
    Expand description

    A const generic parameter: const LENGTH: usize.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§const_token: Const§ident: Ident§colon_token: Colon§ty: Type§eq_token: Option<Eq>§default: Option<Expr>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§const_token: Const§ident: Ident§colon_token: Colon§ty: Type§eq_token: Option<Eq>§default: Option<Expr>

    Trait Implementations§

    source§

    impl Clone for ConstParam

    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 Debug for ConstParam

    source§

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

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

    impl From<ConstParam> for GenericParam

    source§

    fn from(e: ConstParam) -> GenericParam

    Converts to this type from the input type.
    source§

    impl Hash for ConstParam

    source§

    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
    source§

    impl Parse for ConstParam

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ConstParam> for ConstParam

    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.
    source§

    impl ToTokens for ConstParam

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ConstParam

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Constraint.html b/syn/struct.Constraint.html index bc6f1bb..5ea473f 100644 --- a/syn/struct.Constraint.html +++ b/syn/struct.Constraint.html @@ -1,15 +1,27 @@ -Constraint in syn - Rust

    Struct syn::Constraint

    source ·
    pub struct Constraint {
    +Constraint in syn - Rust

    Struct syn::Constraint

    source ·
    pub struct Constraint {
         pub ident: Ident,
         pub colon_token: Colon,
         pub bounds: Punctuated<TypeParamBound, Add>,
    -}
    Expand description

    An associated type bound: Iterator<Item: Display>.

    +}
    Expand description

    An associated type bound: Iterator<Item: Display>.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §ident: Ident§colon_token: Colon§bounds: Punctuated<TypeParamBound, Add>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §ident: Ident§colon_token: Colon§bounds: Punctuated<TypeParamBound, Add>

    Trait Implementations§

    source§

    impl Clone for Constraint

    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 Debug for Constraint

    source§

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

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

    impl Hash for Constraint

    source§

    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
    source§

    impl PartialEq<Constraint> for Constraint

    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.
    source§

    impl ToTokens for Constraint

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Constraint

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.DataEnum.html b/syn/struct.DataEnum.html index 0278744..686e4b0 100644 --- a/syn/struct.DataEnum.html +++ b/syn/struct.DataEnum.html @@ -1,14 +1,24 @@ -DataEnum in syn - Rust

    Struct syn::DataEnum

    source ·
    pub struct DataEnum {
    +DataEnum in syn - Rust

    Struct syn::DataEnum

    source ·
    pub struct DataEnum {
         pub enum_token: Enum,
         pub brace_token: Brace,
         pub variants: Punctuated<Variant, Comma>,
    -}
    Expand description

    An enum input to a proc_macro_derive macro.

    +}
    Expand description

    An enum input to a proc_macro_derive macro.

    This type is available only if Syn is built with the "derive" feature.

    -

    Fields§

    §enum_token: Enum§brace_token: Brace§variants: Punctuated<Variant, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §enum_token: Enum§brace_token: Brace§variants: Punctuated<Variant, Comma>

    Trait Implementations§

    source§

    impl Clone for DataEnum

    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 Debug for DataEnum

    source§

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

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

    impl From<DataEnum> for Data

    source§

    fn from(e: DataEnum) -> Data

    Converts to this type from the input type.
    source§

    impl Hash for DataEnum

    source§

    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
    source§

    impl PartialEq<DataEnum> for DataEnum

    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.
    source§

    impl Eq for DataEnum

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.DataStruct.html b/syn/struct.DataStruct.html index 8c9c630..73e18b5 100644 --- a/syn/struct.DataStruct.html +++ b/syn/struct.DataStruct.html @@ -1,14 +1,24 @@ -DataStruct in syn - Rust

    Struct syn::DataStruct

    source ·
    pub struct DataStruct {
    +DataStruct in syn - Rust

    Struct syn::DataStruct

    source ·
    pub struct DataStruct {
         pub struct_token: Struct,
         pub fields: Fields,
    -    pub semi_token: Option<Semi>,
    -}
    Expand description

    A struct input to a proc_macro_derive macro.

    + pub semi_token: Option<Semi>, +}
    Expand description

    A struct input to a proc_macro_derive macro.

    This type is available only if Syn is built with the "derive" feature.

    -

    Fields§

    §struct_token: Struct§fields: Fields§semi_token: Option<Semi>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §struct_token: Struct§fields: Fields§semi_token: Option<Semi>

    Trait Implementations§

    source§

    impl Clone for DataStruct

    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 Debug for DataStruct

    source§

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

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

    impl From<DataStruct> for Data

    source§

    fn from(e: DataStruct) -> Data

    Converts to this type from the input type.
    source§

    impl Hash for DataStruct

    source§

    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
    source§

    impl PartialEq<DataStruct> for DataStruct

    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.
    source§

    impl Eq for DataStruct

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.DataUnion.html b/syn/struct.DataUnion.html index f58c172..d370f3b 100644 --- a/syn/struct.DataUnion.html +++ b/syn/struct.DataUnion.html @@ -1,13 +1,23 @@ -DataUnion in syn - Rust

    Struct syn::DataUnion

    source ·
    pub struct DataUnion {
    +DataUnion in syn - Rust

    Struct syn::DataUnion

    source ·
    pub struct DataUnion {
         pub union_token: Union,
         pub fields: FieldsNamed,
    -}
    Expand description

    An untagged union input to a proc_macro_derive macro.

    +}
    Expand description

    An untagged union input to a proc_macro_derive macro.

    This type is available only if Syn is built with the "derive" feature.

    -

    Fields§

    §union_token: Union§fields: FieldsNamed

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §union_token: Union§fields: FieldsNamed

    Trait Implementations§

    source§

    impl Clone for DataUnion

    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 Debug for DataUnion

    source§

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

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

    impl From<DataUnion> for Data

    source§

    fn from(e: DataUnion) -> Data

    Converts to this type from the input type.
    source§

    impl Hash for DataUnion

    source§

    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
    source§

    impl PartialEq<DataUnion> for DataUnion

    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.
    source§

    impl Eq for DataUnion

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.DeriveInput.html b/syn/struct.DeriveInput.html index 6c2b8f5..d94cd4d 100644 --- a/syn/struct.DeriveInput.html +++ b/syn/struct.DeriveInput.html @@ -1,21 +1,33 @@ -DeriveInput in syn - Rust

    Struct syn::DeriveInput

    source ·
    pub struct DeriveInput {
    -    pub attrs: Vec<Attribute>,
    +DeriveInput in syn - Rust

    Struct syn::DeriveInput

    source ·
    pub struct DeriveInput {
    +    pub attrs: Vec<Attribute>,
         pub vis: Visibility,
         pub ident: Ident,
         pub generics: Generics,
         pub data: Data,
    -}
    Expand description

    Data structure sent to a proc_macro_derive macro.

    +}
    Expand description

    Data structure sent to a proc_macro_derive macro.

    This type is available only if Syn is built with the "derive" feature.

    -

    Fields§

    §attrs: Vec<Attribute>

    Attributes tagged on the whole struct or enum.

    +

    Fields§

    §attrs: Vec<Attribute>

    Attributes tagged on the whole struct or enum.

    §vis: Visibility

    Visibility of the struct or enum.

    §ident: Ident

    Name of the struct or enum.

    §generics: Generics

    Generics required to complete the definition.

    §data: Data

    Data within the struct or enum.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for DeriveInput

    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 Debug for DeriveInput

    source§

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

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

    impl Hash for DeriveInput

    source§

    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
    source§

    impl Parse for DeriveInput

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<DeriveInput> for DeriveInput

    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.
    source§

    impl ToTokens for DeriveInput

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for DeriveInput

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Error.html b/syn/struct.Error.html index e3ea474..bf12485 100644 --- a/syn/struct.Error.html +++ b/syn/struct.Error.html @@ -1,10 +1,10 @@ -Error in syn - Rust

    Struct syn::Error

    source ·
    pub struct Error { /* private fields */ }
    Expand description

    Error returned when a Syn parser cannot parse the input tokens.

    +Error in syn - Rust

    Struct syn::Error

    source ·
    pub struct Error { /* private fields */ }
    Expand description

    Error returned when a Syn parser cannot parse the input tokens.

    Error reporting in proc macros

    The correct way to report errors back to the compiler from a procedural macro is by emitting an appropriately spanned invocation of -compile_error! in the generated code. This produces a better diagnostic +compile_error! in the generated code. This produces a better diagnostic message than simply panicking the macro.

    -

    When parsing macro input, the parse_macro_input! macro handles the +

    When parsing macro input, the parse_macro_input! macro handles the conversion to compile_error! automatically.

    use proc_macro::TokenStream;
    @@ -18,7 +18,7 @@ conversion to compile_error! automatically.

    /* ... */ }

    For errors that arise later than the initial parsing stage, the -.to_compile_error() or .into_compile_error() methods can be used to +.to_compile_error() or .into_compile_error() methods can be used to perform an explicit conversion to compile_error!.

    #[proc_macro_derive(MyDerive)]
    @@ -30,7 +30,7 @@ perform an explicit conversion to compile_error!.

    .unwrap_or_else(syn::Error::into_compile_error) .into() }
    -

    Implementations§

    Usually the ParseStream::error method will be used instead, which +

    Implementations§

    source§

    impl Error

    source

    pub fn new<T: Display>(span: Span, message: T) -> Self

    Usually the ParseStream::error method will be used instead, which automatically uses the correct span from the current position of the parse stream.

    Use Error::new when the error needs to be triggered on some span other @@ -53,7 +53,7 @@ than where the parse stream is currently positioned.

    let s: LitStr = input.parse()?; Ok(s) }
    -

    Creates an error with the specified message spanning the given syntax +

    source

    pub fn new_spanned<T: ToTokens, U: Display>(tokens: T, message: U) -> Self

    Creates an error with the specified message spanning the given syntax tree node.

    Unlike the Error::new constructor, this constructor takes an argument tokens which is a syntax tree node. This allows the resulting Error @@ -64,14 +64,14 @@ constructor, implementation limitations today mean that stable Rust.

    When in doubt it’s recommended to stick to Error::new (or ParseStream::error)!

    -

    The source location of the error.

    +
    source

    pub fn span(&self) -> Span

    The source location of the error.

    Spans are not thread-safe so this function returns Span::call_site() if called from a different thread than the one on which the Error was originally created.

    -

    Render the error as an invocation of compile_error!.

    -

    The parse_macro_input! macro provides a convenient way to invoke +

    source

    pub fn to_compile_error(&self) -> TokenStream

    Render the error as an invocation of compile_error!.

    +

    The parse_macro_input! macro provides a convenient way to invoke this method correctly in a procedural macro.

    -

    Render the error as an invocation of compile_error!.

    +
    source

    pub fn into_compile_error(self) -> TokenStream

    Render the error as an invocation of compile_error!.

    Example
    use proc_macro::TokenStream;
     use syn::{parse_macro_input, DeriveInput, Error};
    @@ -92,11 +92,18 @@ this method correctly in a procedural macro.

    /* ... */ } }
    -

    Add another error message to self such that when to_compile_error() is +

    source

    pub fn combine(&mut self, another: Error)

    Add another error message to self such that when to_compile_error() is called, both errors will be emitted together.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    The lower-level source of this error, if any. Read more
    👎Deprecated since 1.42.0: use the Display impl or to_string()
    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Extends a collection with the contents of an iterator. Read more
    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    Converts to this type from the input type.
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more
    The type of the elements being iterated over.
    Which kind of iterator are we turning this into?
    Creates an iterator from a value. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Error

    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 Debug for Error

    source§

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

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

    impl Display for Error

    source§

    fn fmt(&self, formatter: &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 Extend<Error> for Error

    source§

    fn extend<T: IntoIterator<Item = Error>>(&mut self, iter: T)

    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 From<LexError> for Error

    source§

    fn from(err: LexError) -> Self

    Converts to this type from the input type.
    source§

    impl<'a> IntoIterator for &'a Error

    §

    type Item = Error

    The type of the elements being iterated over.
    §

    type IntoIter = Iter<'a>

    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 IntoIterator for Error

    §

    type Item = Error

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter

    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 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 Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprArray.html b/syn/struct.ExprArray.html index d049cfd..af211e2 100644 --- a/syn/struct.ExprArray.html +++ b/syn/struct.ExprArray.html @@ -1,8 +1,16 @@ -ExprArray in syn - Rust

    Struct syn::ExprArray

    source ·
    pub struct ExprArray { /* private fields */ }
    Expand description

    A slice literal expression: [a, b, c, d].

    +ExprArray in syn - Rust

    Struct syn::ExprArray

    source ·
    pub struct ExprArray { /* private fields */ }
    Expand description

    A slice literal expression: [a, b, c, d].

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprArray> for Expr

    source§

    fn from(e: ExprArray) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprArray

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprAssign.html b/syn/struct.ExprAssign.html index f7eabc5..0dafc6a 100644 --- a/syn/struct.ExprAssign.html +++ b/syn/struct.ExprAssign.html @@ -1,8 +1,16 @@ -ExprAssign in syn - Rust

    Struct syn::ExprAssign

    source ·
    pub struct ExprAssign { /* private fields */ }
    Expand description

    An assignment expression: a = compute().

    +ExprAssign in syn - Rust

    Struct syn::ExprAssign

    source ·
    pub struct ExprAssign { /* private fields */ }
    Expand description

    An assignment expression: a = compute().

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprAssign> for Expr

    source§

    fn from(e: ExprAssign) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprAssign

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprAssignOp.html b/syn/struct.ExprAssignOp.html index 5686553..12f7836 100644 --- a/syn/struct.ExprAssignOp.html +++ b/syn/struct.ExprAssignOp.html @@ -1,8 +1,16 @@ -ExprAssignOp in syn - Rust

    Struct syn::ExprAssignOp

    source ·
    pub struct ExprAssignOp { /* private fields */ }
    Expand description

    A compound assignment expression: counter += 1.

    +ExprAssignOp in syn - Rust

    Struct syn::ExprAssignOp

    source ·
    pub struct ExprAssignOp { /* private fields */ }
    Expand description

    A compound assignment expression: counter += 1.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprAssignOp> for Expr

    source§

    fn from(e: ExprAssignOp) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprAssignOp

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprAsync.html b/syn/struct.ExprAsync.html index b32e447..071707e 100644 --- a/syn/struct.ExprAsync.html +++ b/syn/struct.ExprAsync.html @@ -1,8 +1,16 @@ -ExprAsync in syn - Rust

    Struct syn::ExprAsync

    source ·
    pub struct ExprAsync { /* private fields */ }
    Expand description

    An async block: async { ... }.

    +ExprAsync in syn - Rust

    Struct syn::ExprAsync

    source ·
    pub struct ExprAsync { /* private fields */ }
    Expand description

    An async block: async { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprAsync> for Expr

    source§

    fn from(e: ExprAsync) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprAsync

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprAwait.html b/syn/struct.ExprAwait.html index 3d6b9e6..4712970 100644 --- a/syn/struct.ExprAwait.html +++ b/syn/struct.ExprAwait.html @@ -1,8 +1,16 @@ -ExprAwait in syn - Rust

    Struct syn::ExprAwait

    source ·
    pub struct ExprAwait { /* private fields */ }
    Expand description

    An await expression: fut.await.

    +ExprAwait in syn - Rust

    Struct syn::ExprAwait

    source ·
    pub struct ExprAwait { /* private fields */ }
    Expand description

    An await expression: fut.await.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprAwait> for Expr

    source§

    fn from(e: ExprAwait) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprAwait

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprBinary.html b/syn/struct.ExprBinary.html index ed92177..02326e4 100644 --- a/syn/struct.ExprBinary.html +++ b/syn/struct.ExprBinary.html @@ -1,16 +1,28 @@ -ExprBinary in syn - Rust

    Struct syn::ExprBinary

    source ·
    pub struct ExprBinary {
    -    pub attrs: Vec<Attribute>,
    -    pub left: Box<Expr>,
    +ExprBinary in syn - Rust

    Struct syn::ExprBinary

    source ·
    pub struct ExprBinary {
    +    pub attrs: Vec<Attribute>,
    +    pub left: Box<Expr>,
         pub op: BinOp,
    -    pub right: Box<Expr>,
    -}
    Expand description

    A binary operation: a + b, a * b.

    + pub right: Box<Expr>, +}
    Expand description

    A binary operation: a + b, a * b.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§left: Box<Expr>§op: BinOp§right: Box<Expr>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§left: Box<Expr>§op: BinOp§right: Box<Expr>

    Trait Implementations§

    source§

    impl Clone for ExprBinary

    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 Debug for ExprBinary

    source§

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

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

    impl From<ExprBinary> for Expr

    source§

    fn from(e: ExprBinary) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprBinary

    source§

    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
    source§

    impl PartialEq<ExprBinary> for ExprBinary

    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.
    source§

    impl ToTokens for ExprBinary

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprBinary

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprBlock.html b/syn/struct.ExprBlock.html index 90d7708..e7ecddc 100644 --- a/syn/struct.ExprBlock.html +++ b/syn/struct.ExprBlock.html @@ -1,8 +1,16 @@ -ExprBlock in syn - Rust

    Struct syn::ExprBlock

    source ·
    pub struct ExprBlock { /* private fields */ }
    Expand description

    A blocked scope: { ... }.

    +ExprBlock in syn - Rust

    Struct syn::ExprBlock

    source ·
    pub struct ExprBlock { /* private fields */ }
    Expand description

    A blocked scope: { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprBlock> for Expr

    source§

    fn from(e: ExprBlock) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprBlock

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprBox.html b/syn/struct.ExprBox.html index b641e77..bac59c6 100644 --- a/syn/struct.ExprBox.html +++ b/syn/struct.ExprBox.html @@ -1,8 +1,16 @@ -ExprBox in syn - Rust

    Struct syn::ExprBox

    source ·
    pub struct ExprBox { /* private fields */ }
    Expand description

    A box expression: box f.

    +ExprBox in syn - Rust

    Struct syn::ExprBox

    source ·
    pub struct ExprBox { /* private fields */ }
    Expand description

    A box expression: box f.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprBox> for Expr

    source§

    fn from(e: ExprBox) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprBox

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprBreak.html b/syn/struct.ExprBreak.html index 5b48200..9a8d8ca 100644 --- a/syn/struct.ExprBreak.html +++ b/syn/struct.ExprBreak.html @@ -1,9 +1,17 @@ -ExprBreak in syn - Rust

    Struct syn::ExprBreak

    source ·
    pub struct ExprBreak { /* private fields */ }
    Expand description

    A break, with an optional label to break and an optional +ExprBreak in syn - Rust

    Struct syn::ExprBreak

    source ·
    pub struct ExprBreak { /* private fields */ }
    Expand description

    A break, with an optional label to break and an optional expression.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprBreak> for Expr

    source§

    fn from(e: ExprBreak) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprBreak

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprCall.html b/syn/struct.ExprCall.html index b1dae04..0597d27 100644 --- a/syn/struct.ExprCall.html +++ b/syn/struct.ExprCall.html @@ -1,16 +1,28 @@ -ExprCall in syn - Rust

    Struct syn::ExprCall

    source ·
    pub struct ExprCall {
    -    pub attrs: Vec<Attribute>,
    -    pub func: Box<Expr>,
    +ExprCall in syn - Rust

    Struct syn::ExprCall

    source ·
    pub struct ExprCall {
    +    pub attrs: Vec<Attribute>,
    +    pub func: Box<Expr>,
         pub paren_token: Paren,
         pub args: Punctuated<Expr, Comma>,
    -}
    Expand description

    A function call expression: invoke(a, b).

    +}
    Expand description

    A function call expression: invoke(a, b).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§func: Box<Expr>§paren_token: Paren§args: Punctuated<Expr, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§func: Box<Expr>§paren_token: Paren§args: Punctuated<Expr, Comma>

    Trait Implementations§

    source§

    impl Clone for ExprCall

    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 Debug for ExprCall

    source§

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

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

    impl From<ExprCall> for Expr

    source§

    fn from(e: ExprCall) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprCall

    source§

    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
    source§

    impl PartialEq<ExprCall> for ExprCall

    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.
    source§

    impl ToTokens for ExprCall

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprCall

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprCast.html b/syn/struct.ExprCast.html index 9db8305..da69606 100644 --- a/syn/struct.ExprCast.html +++ b/syn/struct.ExprCast.html @@ -1,16 +1,28 @@ -ExprCast in syn - Rust

    Struct syn::ExprCast

    source ·
    pub struct ExprCast {
    -    pub attrs: Vec<Attribute>,
    -    pub expr: Box<Expr>,
    +ExprCast in syn - Rust

    Struct syn::ExprCast

    source ·
    pub struct ExprCast {
    +    pub attrs: Vec<Attribute>,
    +    pub expr: Box<Expr>,
         pub as_token: As,
    -    pub ty: Box<Type>,
    -}
    Expand description

    A cast expression: foo as f64.

    + pub ty: Box<Type>, +}
    Expand description

    A cast expression: foo as f64.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§expr: Box<Expr>§as_token: As§ty: Box<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§expr: Box<Expr>§as_token: As§ty: Box<Type>

    Trait Implementations§

    source§

    impl Clone for ExprCast

    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 Debug for ExprCast

    source§

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

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

    impl From<ExprCast> for Expr

    source§

    fn from(e: ExprCast) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprCast

    source§

    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
    source§

    impl PartialEq<ExprCast> for ExprCast

    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.
    source§

    impl ToTokens for ExprCast

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprCast

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprClosure.html b/syn/struct.ExprClosure.html index f40de09..92bbe4a 100644 --- a/syn/struct.ExprClosure.html +++ b/syn/struct.ExprClosure.html @@ -1,8 +1,16 @@ -ExprClosure in syn - Rust

    Struct syn::ExprClosure

    source ·
    pub struct ExprClosure { /* private fields */ }
    Expand description

    A closure expression: |a, b| a + b.

    +ExprClosure in syn - Rust

    Struct syn::ExprClosure

    source ·
    pub struct ExprClosure { /* private fields */ }
    Expand description

    A closure expression: |a, b| a + b.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprClosure> for Expr

    source§

    fn from(e: ExprClosure) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprClosure

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprContinue.html b/syn/struct.ExprContinue.html index a4755bd..ee53d87 100644 --- a/syn/struct.ExprContinue.html +++ b/syn/struct.ExprContinue.html @@ -1,8 +1,16 @@ -ExprContinue in syn - Rust

    Struct syn::ExprContinue

    source ·
    pub struct ExprContinue { /* private fields */ }
    Expand description

    A continue, with an optional label.

    +ExprContinue in syn - Rust

    Struct syn::ExprContinue

    source ·
    pub struct ExprContinue { /* private fields */ }
    Expand description

    A continue, with an optional label.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprContinue> for Expr

    source§

    fn from(e: ExprContinue) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprContinue

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprField.html b/syn/struct.ExprField.html index f139dca..52d1707 100644 --- a/syn/struct.ExprField.html +++ b/syn/struct.ExprField.html @@ -1,16 +1,28 @@ -ExprField in syn - Rust

    Struct syn::ExprField

    source ·
    pub struct ExprField {
    -    pub attrs: Vec<Attribute>,
    -    pub base: Box<Expr>,
    +ExprField in syn - Rust

    Struct syn::ExprField

    source ·
    pub struct ExprField {
    +    pub attrs: Vec<Attribute>,
    +    pub base: Box<Expr>,
         pub dot_token: Dot,
         pub member: Member,
    -}
    Expand description

    Access of a named struct field (obj.k) or unnamed tuple struct +}

    Expand description

    Access of a named struct field (obj.k) or unnamed tuple struct field (obj.0).

    This type is available only if Syn is built with the "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§base: Box<Expr>§dot_token: Dot§member: Member

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§base: Box<Expr>§dot_token: Dot§member: Member

    Trait Implementations§

    source§

    impl Clone for ExprField

    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 Debug for ExprField

    source§

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

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

    impl From<ExprField> for Expr

    source§

    fn from(e: ExprField) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprField

    source§

    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
    source§

    impl PartialEq<ExprField> for ExprField

    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.
    source§

    impl ToTokens for ExprField

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprField

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprForLoop.html b/syn/struct.ExprForLoop.html index 680dd16..da6de78 100644 --- a/syn/struct.ExprForLoop.html +++ b/syn/struct.ExprForLoop.html @@ -1,8 +1,16 @@ -ExprForLoop in syn - Rust

    Struct syn::ExprForLoop

    source ·
    pub struct ExprForLoop { /* private fields */ }
    Expand description

    A for loop: for pat in expr { ... }.

    +ExprForLoop in syn - Rust

    Struct syn::ExprForLoop

    source ·
    pub struct ExprForLoop { /* private fields */ }
    Expand description

    A for loop: for pat in expr { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprForLoop> for Expr

    source§

    fn from(e: ExprForLoop) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprForLoop

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprGroup.html b/syn/struct.ExprGroup.html index c01431b..3a1a4cb 100644 --- a/syn/struct.ExprGroup.html +++ b/syn/struct.ExprGroup.html @@ -1,11 +1,19 @@ -ExprGroup in syn - Rust

    Struct syn::ExprGroup

    source ·
    pub struct ExprGroup { /* private fields */ }
    Expand description

    An expression contained within invisible delimiters.

    +ExprGroup in syn - Rust

    Struct syn::ExprGroup

    source ·
    pub struct ExprGroup { /* private fields */ }
    Expand description

    An expression contained within invisible delimiters.

    This variant is important for faithfully representing the precedence of expressions and is related to None-delimited spans in a TokenStream.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprGroup> for Expr

    source§

    fn from(e: ExprGroup) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprGroup

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprIf.html b/syn/struct.ExprIf.html index 3ab63e5..33bf351 100644 --- a/syn/struct.ExprIf.html +++ b/syn/struct.ExprIf.html @@ -1,10 +1,18 @@ -ExprIf in syn - Rust

    Struct syn::ExprIf

    source ·
    pub struct ExprIf { /* private fields */ }
    Expand description

    An if expression with an optional else block: if expr { ... } else { ... }.

    +ExprIf in syn - Rust

    Struct syn::ExprIf

    source ·
    pub struct ExprIf { /* private fields */ }
    Expand description

    An if expression with an optional else block: if expr { ... } else { ... }.

    The else branch expression may only be an If or Block expression, not any of the other types of expression.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprIf> for Expr

    source§

    fn from(e: ExprIf) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprIf

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for ExprIf

    §

    impl !Send for ExprIf

    §

    impl !Sync for ExprIf

    §

    impl Unpin for ExprIf

    §

    impl UnwindSafe for ExprIf

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprIndex.html b/syn/struct.ExprIndex.html index 127431b..703b8b1 100644 --- a/syn/struct.ExprIndex.html +++ b/syn/struct.ExprIndex.html @@ -1,16 +1,28 @@ -ExprIndex in syn - Rust

    Struct syn::ExprIndex

    source ·
    pub struct ExprIndex {
    -    pub attrs: Vec<Attribute>,
    -    pub expr: Box<Expr>,
    +ExprIndex in syn - Rust

    Struct syn::ExprIndex

    source ·
    pub struct ExprIndex {
    +    pub attrs: Vec<Attribute>,
    +    pub expr: Box<Expr>,
         pub bracket_token: Bracket,
    -    pub index: Box<Expr>,
    -}
    Expand description

    A square bracketed indexing expression: vector[2].

    + pub index: Box<Expr>, +}
    Expand description

    A square bracketed indexing expression: vector[2].

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§expr: Box<Expr>§bracket_token: Bracket§index: Box<Expr>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§expr: Box<Expr>§bracket_token: Bracket§index: Box<Expr>

    Trait Implementations§

    source§

    impl Clone for ExprIndex

    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 Debug for ExprIndex

    source§

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

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

    impl From<ExprIndex> for Expr

    source§

    fn from(e: ExprIndex) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprIndex

    source§

    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
    source§

    impl PartialEq<ExprIndex> for ExprIndex

    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.
    source§

    impl ToTokens for ExprIndex

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprIndex

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprLet.html b/syn/struct.ExprLet.html index 9e498ef..c92c975 100644 --- a/syn/struct.ExprLet.html +++ b/syn/struct.ExprLet.html @@ -1,8 +1,16 @@ -ExprLet in syn - Rust

    Struct syn::ExprLet

    source ·
    pub struct ExprLet { /* private fields */ }
    Expand description

    A let guard: let Some(x) = opt.

    +ExprLet in syn - Rust

    Struct syn::ExprLet

    source ·
    pub struct ExprLet { /* private fields */ }
    Expand description

    A let guard: let Some(x) = opt.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprLet> for Expr

    source§

    fn from(e: ExprLet) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprLet

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprLit.html b/syn/struct.ExprLit.html index 3790400..3ed4557 100644 --- a/syn/struct.ExprLit.html +++ b/syn/struct.ExprLit.html @@ -1,14 +1,26 @@ -ExprLit in syn - Rust

    Struct syn::ExprLit

    source ·
    pub struct ExprLit {
    -    pub attrs: Vec<Attribute>,
    +ExprLit in syn - Rust

    Struct syn::ExprLit

    source ·
    pub struct ExprLit {
    +    pub attrs: Vec<Attribute>,
         pub lit: Lit,
    -}
    Expand description

    A literal in place of an expression: 1, "foo".

    +}
    Expand description

    A literal in place of an expression: 1, "foo".

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§lit: Lit

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§lit: Lit

    Trait Implementations§

    source§

    impl Clone for ExprLit

    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 Debug for ExprLit

    source§

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

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

    impl From<ExprLit> for Expr

    source§

    fn from(e: ExprLit) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprLit

    source§

    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
    source§

    impl Parse for ExprLit

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ExprLit> for ExprLit

    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.
    source§

    impl ToTokens for ExprLit

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprLit

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprLoop.html b/syn/struct.ExprLoop.html index 6533305..0bc130d 100644 --- a/syn/struct.ExprLoop.html +++ b/syn/struct.ExprLoop.html @@ -1,8 +1,16 @@ -ExprLoop in syn - Rust

    Struct syn::ExprLoop

    source ·
    pub struct ExprLoop { /* private fields */ }
    Expand description

    Conditionless loop: loop { ... }.

    +ExprLoop in syn - Rust

    Struct syn::ExprLoop

    source ·
    pub struct ExprLoop { /* private fields */ }
    Expand description

    Conditionless loop: loop { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprLoop> for Expr

    source§

    fn from(e: ExprLoop) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprLoop

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprMacro.html b/syn/struct.ExprMacro.html index e6f357f..24680fc 100644 --- a/syn/struct.ExprMacro.html +++ b/syn/struct.ExprMacro.html @@ -1,8 +1,16 @@ -ExprMacro in syn - Rust

    Struct syn::ExprMacro

    source ·
    pub struct ExprMacro { /* private fields */ }
    Expand description

    A macro invocation expression: format!("{}", q).

    +ExprMacro in syn - Rust

    Struct syn::ExprMacro

    source ·
    pub struct ExprMacro { /* private fields */ }
    Expand description

    A macro invocation expression: format!("{}", q).

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprMacro> for Expr

    source§

    fn from(e: ExprMacro) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprMacro

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprMatch.html b/syn/struct.ExprMatch.html index b9f6793..17e3ee4 100644 --- a/syn/struct.ExprMatch.html +++ b/syn/struct.ExprMatch.html @@ -1,8 +1,16 @@ -ExprMatch in syn - Rust

    Struct syn::ExprMatch

    source ·
    pub struct ExprMatch { /* private fields */ }
    Expand description

    A match expression: match n { Some(n) => {}, None => {} }.

    +ExprMatch in syn - Rust

    Struct syn::ExprMatch

    source ·
    pub struct ExprMatch { /* private fields */ }
    Expand description

    A match expression: match n { Some(n) => {}, None => {} }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprMatch> for Expr

    source§

    fn from(e: ExprMatch) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprMatch

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprMethodCall.html b/syn/struct.ExprMethodCall.html index c33b7e3..cf8bc24 100644 --- a/syn/struct.ExprMethodCall.html +++ b/syn/struct.ExprMethodCall.html @@ -1,8 +1,16 @@ -ExprMethodCall in syn - Rust

    Struct syn::ExprMethodCall

    source ·
    pub struct ExprMethodCall { /* private fields */ }
    Expand description

    A method call expression: x.foo::<T>(a, b).

    +ExprMethodCall in syn - Rust

    Struct syn::ExprMethodCall

    source ·
    pub struct ExprMethodCall { /* private fields */ }
    Expand description

    A method call expression: x.foo::<T>(a, b).

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprMethodCall> for Expr

    source§

    fn from(e: ExprMethodCall) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprMethodCall

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprParen.html b/syn/struct.ExprParen.html index da1e96a..3be9990 100644 --- a/syn/struct.ExprParen.html +++ b/syn/struct.ExprParen.html @@ -1,14 +1,26 @@ -ExprParen in syn - Rust

    Struct syn::ExprParen

    source ·
    pub struct ExprParen {
    -    pub attrs: Vec<Attribute>,
    +ExprParen in syn - Rust

    Struct syn::ExprParen

    source ·
    pub struct ExprParen {
    +    pub attrs: Vec<Attribute>,
         pub paren_token: Paren,
    -    pub expr: Box<Expr>,
    -}
    Expand description

    A parenthesized expression: (a + b).

    + pub expr: Box<Expr>, +}
    Expand description

    A parenthesized expression: (a + b).

    This type is available only if Syn is built with the "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§paren_token: Paren§expr: Box<Expr>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§paren_token: Paren§expr: Box<Expr>

    Trait Implementations§

    source§

    impl Clone for ExprParen

    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 Debug for ExprParen

    source§

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

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

    impl From<ExprParen> for Expr

    source§

    fn from(e: ExprParen) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprParen

    source§

    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
    source§

    impl PartialEq<ExprParen> for ExprParen

    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.
    source§

    impl ToTokens for ExprParen

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprParen

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprPath.html b/syn/struct.ExprPath.html index e06107f..8cee990 100644 --- a/syn/struct.ExprPath.html +++ b/syn/struct.ExprPath.html @@ -1,17 +1,29 @@ -ExprPath in syn - Rust

    Struct syn::ExprPath

    source ·
    pub struct ExprPath {
    -    pub attrs: Vec<Attribute>,
    -    pub qself: Option<QSelf>,
    +ExprPath in syn - Rust

    Struct syn::ExprPath

    source ·
    pub struct ExprPath {
    +    pub attrs: Vec<Attribute>,
    +    pub qself: Option<QSelf>,
         pub path: Path,
    -}
    Expand description

    A path like std::mem::replace possibly containing generic +}

    Expand description

    A path like std::mem::replace possibly containing generic parameters and a qualified self-type.

    A plain identifier like x is a path of length 1.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§qself: Option<QSelf>§path: Path

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§qself: Option<QSelf>§path: Path

    Trait Implementations§

    source§

    impl Clone for ExprPath

    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 Debug for ExprPath

    source§

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

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

    impl From<ExprPath> for Expr

    source§

    fn from(e: ExprPath) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprPath

    source§

    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
    source§

    impl Parse for ExprPath

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ExprPath> for ExprPath

    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.
    source§

    impl ToTokens for ExprPath

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprPath

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprRange.html b/syn/struct.ExprRange.html index 5f22759..a77f9f8 100644 --- a/syn/struct.ExprRange.html +++ b/syn/struct.ExprRange.html @@ -1,8 +1,16 @@ -ExprRange in syn - Rust

    Struct syn::ExprRange

    source ·
    pub struct ExprRange { /* private fields */ }
    Expand description

    A range expression: 1..2, 1.., ..2, 1..=2, ..=2.

    +ExprRange in syn - Rust

    Struct syn::ExprRange

    source ·
    pub struct ExprRange { /* private fields */ }
    Expand description

    A range expression: 1..2, 1.., ..2, 1..=2, ..=2.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprRange> for Expr

    source§

    fn from(e: ExprRange) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprRange

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprReference.html b/syn/struct.ExprReference.html index 929ee03..55ff19a 100644 --- a/syn/struct.ExprReference.html +++ b/syn/struct.ExprReference.html @@ -1,8 +1,16 @@ -ExprReference in syn - Rust

    Struct syn::ExprReference

    source ·
    pub struct ExprReference { /* private fields */ }
    Expand description

    A referencing operation: &a or &mut a.

    +ExprReference in syn - Rust

    Struct syn::ExprReference

    source ·
    pub struct ExprReference { /* private fields */ }
    Expand description

    A referencing operation: &a or &mut a.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprReference> for Expr

    source§

    fn from(e: ExprReference) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprReference

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprRepeat.html b/syn/struct.ExprRepeat.html index da1130a..5ee7d75 100644 --- a/syn/struct.ExprRepeat.html +++ b/syn/struct.ExprRepeat.html @@ -1,8 +1,16 @@ -ExprRepeat in syn - Rust

    Struct syn::ExprRepeat

    source ·
    pub struct ExprRepeat { /* private fields */ }
    Expand description

    An array literal constructed from one repeated element: [0u8; N].

    +ExprRepeat in syn - Rust

    Struct syn::ExprRepeat

    source ·
    pub struct ExprRepeat { /* private fields */ }
    Expand description

    An array literal constructed from one repeated element: [0u8; N].

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprRepeat> for Expr

    source§

    fn from(e: ExprRepeat) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprRepeat

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprReturn.html b/syn/struct.ExprReturn.html index dcced56..6f21109 100644 --- a/syn/struct.ExprReturn.html +++ b/syn/struct.ExprReturn.html @@ -1,8 +1,16 @@ -ExprReturn in syn - Rust

    Struct syn::ExprReturn

    source ·
    pub struct ExprReturn { /* private fields */ }
    Expand description

    A return, with an optional value to be returned.

    +ExprReturn in syn - Rust

    Struct syn::ExprReturn

    source ·
    pub struct ExprReturn { /* private fields */ }
    Expand description

    A return, with an optional value to be returned.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprReturn> for Expr

    source§

    fn from(e: ExprReturn) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprReturn

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprStruct.html b/syn/struct.ExprStruct.html index 2205d93..89c83b3 100644 --- a/syn/struct.ExprStruct.html +++ b/syn/struct.ExprStruct.html @@ -1,9 +1,17 @@ -ExprStruct in syn - Rust

    Struct syn::ExprStruct

    source ·
    pub struct ExprStruct { /* private fields */ }
    Expand description

    A struct literal expression: Point { x: 1, y: 1 }.

    +ExprStruct in syn - Rust

    Struct syn::ExprStruct

    source ·
    pub struct ExprStruct { /* private fields */ }
    Expand description

    A struct literal expression: Point { x: 1, y: 1 }.

    The rest provides the value of the remaining fields as in S { a: 1, b: 1, ..rest }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprStruct> for Expr

    source§

    fn from(e: ExprStruct) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprStruct

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprTry.html b/syn/struct.ExprTry.html index 700c197..eb0b103 100644 --- a/syn/struct.ExprTry.html +++ b/syn/struct.ExprTry.html @@ -1,8 +1,16 @@ -ExprTry in syn - Rust

    Struct syn::ExprTry

    source ·
    pub struct ExprTry { /* private fields */ }
    Expand description

    A try-expression: expr?.

    +ExprTry in syn - Rust

    Struct syn::ExprTry

    source ·
    pub struct ExprTry { /* private fields */ }
    Expand description

    A try-expression: expr?.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprTry> for Expr

    source§

    fn from(e: ExprTry) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprTry

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprTryBlock.html b/syn/struct.ExprTryBlock.html index 95b8525..8af47ec 100644 --- a/syn/struct.ExprTryBlock.html +++ b/syn/struct.ExprTryBlock.html @@ -1,8 +1,16 @@ -ExprTryBlock in syn - Rust

    Struct syn::ExprTryBlock

    source ·
    pub struct ExprTryBlock { /* private fields */ }
    Expand description

    A try block: try { ... }.

    +ExprTryBlock in syn - Rust

    Struct syn::ExprTryBlock

    source ·
    pub struct ExprTryBlock { /* private fields */ }
    Expand description

    A try block: try { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprTryBlock> for Expr

    source§

    fn from(e: ExprTryBlock) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprTryBlock

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprTuple.html b/syn/struct.ExprTuple.html index fbda9d3..0b61510 100644 --- a/syn/struct.ExprTuple.html +++ b/syn/struct.ExprTuple.html @@ -1,8 +1,16 @@ -ExprTuple in syn - Rust

    Struct syn::ExprTuple

    source ·
    pub struct ExprTuple { /* private fields */ }
    Expand description

    A tuple expression: (a, b, c, d).

    +ExprTuple in syn - Rust

    Struct syn::ExprTuple

    source ·
    pub struct ExprTuple { /* private fields */ }
    Expand description

    A tuple expression: (a, b, c, d).

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprTuple> for Expr

    source§

    fn from(e: ExprTuple) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprTuple

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprType.html b/syn/struct.ExprType.html index 4ccee15..450660e 100644 --- a/syn/struct.ExprType.html +++ b/syn/struct.ExprType.html @@ -1,8 +1,16 @@ -ExprType in syn - Rust

    Struct syn::ExprType

    source ·
    pub struct ExprType { /* private fields */ }
    Expand description

    A type ascription expression: foo: f64.

    +ExprType in syn - Rust

    Struct syn::ExprType

    source ·
    pub struct ExprType { /* private fields */ }
    Expand description

    A type ascription expression: foo: f64.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprType> for Expr

    source§

    fn from(e: ExprType) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprType

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprUnary.html b/syn/struct.ExprUnary.html index 307e1e2..11e4965 100644 --- a/syn/struct.ExprUnary.html +++ b/syn/struct.ExprUnary.html @@ -1,15 +1,27 @@ -ExprUnary in syn - Rust

    Struct syn::ExprUnary

    source ·
    pub struct ExprUnary {
    -    pub attrs: Vec<Attribute>,
    +ExprUnary in syn - Rust

    Struct syn::ExprUnary

    source ·
    pub struct ExprUnary {
    +    pub attrs: Vec<Attribute>,
         pub op: UnOp,
    -    pub expr: Box<Expr>,
    -}
    Expand description

    A unary operation: !x, *x.

    + pub expr: Box<Expr>, +}
    Expand description

    A unary operation: !x, *x.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§op: UnOp§expr: Box<Expr>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§op: UnOp§expr: Box<Expr>

    Trait Implementations§

    source§

    impl Clone for ExprUnary

    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 Debug for ExprUnary

    source§

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

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

    impl From<ExprUnary> for Expr

    source§

    fn from(e: ExprUnary) -> Expr

    Converts to this type from the input type.
    source§

    impl Hash for ExprUnary

    source§

    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
    source§

    impl PartialEq<ExprUnary> for ExprUnary

    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.
    source§

    impl ToTokens for ExprUnary

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ExprUnary

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprUnsafe.html b/syn/struct.ExprUnsafe.html index 96143d3..b1022dc 100644 --- a/syn/struct.ExprUnsafe.html +++ b/syn/struct.ExprUnsafe.html @@ -1,8 +1,16 @@ -ExprUnsafe in syn - Rust

    Struct syn::ExprUnsafe

    source ·
    pub struct ExprUnsafe { /* private fields */ }
    Expand description

    An unsafe block: unsafe { ... }.

    +ExprUnsafe in syn - Rust

    Struct syn::ExprUnsafe

    source ·
    pub struct ExprUnsafe { /* private fields */ }
    Expand description

    An unsafe block: unsafe { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprUnsafe> for Expr

    source§

    fn from(e: ExprUnsafe) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprUnsafe

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprWhile.html b/syn/struct.ExprWhile.html index 13b1c94..aa5c9ea 100644 --- a/syn/struct.ExprWhile.html +++ b/syn/struct.ExprWhile.html @@ -1,8 +1,16 @@ -ExprWhile in syn - Rust

    Struct syn::ExprWhile

    source ·
    pub struct ExprWhile { /* private fields */ }
    Expand description

    A while loop: while expr { ... }.

    +ExprWhile in syn - Rust

    Struct syn::ExprWhile

    source ·
    pub struct ExprWhile { /* private fields */ }
    Expand description

    A while loop: while expr { ... }.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprWhile> for Expr

    source§

    fn from(e: ExprWhile) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprWhile

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ExprYield.html b/syn/struct.ExprYield.html index e032bfc..6d139ed 100644 --- a/syn/struct.ExprYield.html +++ b/syn/struct.ExprYield.html @@ -1,8 +1,16 @@ -ExprYield in syn - Rust

    Struct syn::ExprYield

    source ·
    pub struct ExprYield { /* private fields */ }
    Expand description

    A yield expression: yield expr.

    +ExprYield in syn - Rust

    Struct syn::ExprYield

    source ·
    pub struct ExprYield { /* private fields */ }
    Expand description

    A yield expression: yield expr.

    This type is available only if Syn is built with the "full" feature.

    -

    Trait Implementations§

    Converts to this type from the input type.
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl From<ExprYield> for Expr

    source§

    fn from(e: ExprYield) -> Expr

    Converts to this type from the input type.
    source§

    impl ToTokens for ExprYield

    source§

    fn to_tokens(&self, _: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T, U> TryFrom<U> for Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Field.html b/syn/struct.Field.html index 237a243..81ed766 100644 --- a/syn/struct.Field.html +++ b/syn/struct.Field.html @@ -1,24 +1,36 @@ -Field in syn - Rust

    Struct syn::Field

    source ·
    pub struct Field {
    -    pub attrs: Vec<Attribute>,
    +Field in syn - Rust

    Struct syn::Field

    source ·
    pub struct Field {
    +    pub attrs: Vec<Attribute>,
         pub vis: Visibility,
    -    pub ident: Option<Ident>,
    -    pub colon_token: Option<Colon>,
    +    pub ident: Option<Ident>,
    +    pub colon_token: Option<Colon>,
         pub ty: Type,
    -}
    Expand description

    A field of a struct or enum variant.

    +}
    Expand description

    A field of a struct or enum variant.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>

    Attributes tagged on the field.

    +

    Fields§

    §attrs: Vec<Attribute>

    Attributes tagged on the field.

    §vis: Visibility

    Visibility of the field.

    -
    §ident: Option<Ident>

    Name of the field, if any.

    +
    §ident: Option<Ident>

    Name of the field, if any.

    Fields of tuple structs have no names.

    -
    §colon_token: Option<Colon>§ty: Type

    Type of the field.

    -

    Implementations§

    Parses a named (braced struct) field.

    -

    Parses an unnamed (tuple struct) field.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    §colon_token: Option<Colon>§ty: Type

    Type of the field.

    +

    Implementations§

    source§

    impl Field

    source

    pub fn parse_named(input: ParseStream<'_>) -> Result<Self>

    Parses a named (braced struct) field.

    +
    source

    pub fn parse_unnamed(input: ParseStream<'_>) -> Result<Self>

    Parses an unnamed (tuple struct) field.

    +

    Trait Implementations§

    source§

    impl Clone for Field

    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 Debug for Field

    source§

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

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

    impl Hash for Field

    source§

    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
    source§

    impl PartialEq<Field> for Field

    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.
    source§

    impl ToTokens for Field

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Field

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Field

    §

    impl !Send for Field

    §

    impl !Sync for Field

    §

    impl Unpin for Field

    §

    impl UnwindSafe for Field

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.FieldsNamed.html b/syn/struct.FieldsNamed.html index 3dc0577..2b29521 100644 --- a/syn/struct.FieldsNamed.html +++ b/syn/struct.FieldsNamed.html @@ -1,14 +1,26 @@ -FieldsNamed in syn - Rust

    Struct syn::FieldsNamed

    source ·
    pub struct FieldsNamed {
    +FieldsNamed in syn - Rust

    Struct syn::FieldsNamed

    source ·
    pub struct FieldsNamed {
         pub brace_token: Brace,
         pub named: Punctuated<Field, Comma>,
    -}
    Expand description

    Named fields of a struct or struct variant such as Point { x: f64, y: f64 }.

    +}
    Expand description

    Named fields of a struct or struct variant such as Point { x: f64, y: f64 }.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §brace_token: Brace§named: Punctuated<Field, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §brace_token: Brace§named: Punctuated<Field, Comma>

    Trait Implementations§

    source§

    impl Clone for FieldsNamed

    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 Debug for FieldsNamed

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl From<FieldsNamed> for Fields

    source§

    fn from(e: FieldsNamed) -> Fields

    Converts to this type from the input type.
    source§

    impl Hash for FieldsNamed

    source§

    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
    source§

    impl Parse for FieldsNamed

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<FieldsNamed> for FieldsNamed

    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.
    source§

    impl ToTokens for FieldsNamed

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for FieldsNamed

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.FieldsUnnamed.html b/syn/struct.FieldsUnnamed.html index caa9a1b..7979fbe 100644 --- a/syn/struct.FieldsUnnamed.html +++ b/syn/struct.FieldsUnnamed.html @@ -1,14 +1,26 @@ -FieldsUnnamed in syn - Rust

    Struct syn::FieldsUnnamed

    source ·
    pub struct FieldsUnnamed {
    +FieldsUnnamed in syn - Rust

    Struct syn::FieldsUnnamed

    source ·
    pub struct FieldsUnnamed {
         pub paren_token: Paren,
         pub unnamed: Punctuated<Field, Comma>,
    -}
    Expand description

    Unnamed fields of a tuple struct or tuple variant such as Some(T).

    +}
    Expand description

    Unnamed fields of a tuple struct or tuple variant such as Some(T).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §paren_token: Paren§unnamed: Punctuated<Field, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §paren_token: Paren§unnamed: Punctuated<Field, Comma>

    Trait Implementations§

    source§

    impl Clone for FieldsUnnamed

    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 Debug for FieldsUnnamed

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<FieldsUnnamed> for Fields

    source§

    fn from(e: FieldsUnnamed) -> Fields

    Converts to this type from the input type.
    source§

    impl Hash for FieldsUnnamed

    source§

    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
    source§

    impl Parse for FieldsUnnamed

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<FieldsUnnamed> for FieldsUnnamed

    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.
    source§

    impl ToTokens for FieldsUnnamed

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for FieldsUnnamed

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Generics.html b/syn/struct.Generics.html index fc585a5..279a5c2 100644 --- a/syn/struct.Generics.html +++ b/syn/struct.Generics.html @@ -1,56 +1,58 @@ -Generics in syn - Rust

    Struct syn::Generics

    source ·
    pub struct Generics {
    -    pub lt_token: Option<Lt>,
    +Generics in syn - Rust

    Struct syn::Generics

    source ·
    pub struct Generics {
    +    pub lt_token: Option<Lt>,
         pub params: Punctuated<GenericParam, Comma>,
    -    pub gt_token: Option<Gt>,
    -    pub where_clause: Option<WhereClause>,
    -}
    Expand description

    Lifetimes and type parameters attached to a declaration of a function, + pub gt_token: Option<Gt>, + pub where_clause: Option<WhereClause>, +}

    Expand description

    Lifetimes and type parameters attached to a declaration of a function, enum, trait, etc.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §lt_token: Option<Lt>§params: Punctuated<GenericParam, Comma>§gt_token: Option<Gt>§where_clause: Option<WhereClause>

    Implementations§

    Returns an +

    Fields§

    §lt_token: Option<Lt>§params: Punctuated<GenericParam, Comma>§gt_token: Option<Gt>§where_clause: Option<WhereClause>

    Implementations§

    source§

    impl Generics

    source

    pub fn type_params(&self) -> TypeParams<'_>

    Returns an Iterator<Item = &TypeParam> over the type parameters in self.params.

    -

    Returns an +

    source

    pub fn type_params_mut(&mut self) -> TypeParamsMut<'_>

    Returns an Iterator<Item = &mut TypeParam> over the type parameters in self.params.

    -

    Returns an +

    source

    pub fn lifetimes(&self) -> Lifetimes<'_>

    Returns an Iterator<Item = &LifetimeDef> over the lifetime parameters in self.params.

    -

    Returns an +

    source

    pub fn lifetimes_mut(&mut self) -> LifetimesMut<'_>

    Returns an Iterator<Item = &mut LifetimeDef> over the lifetime parameters in self.params.

    -

    Returns an +

    source

    pub fn const_params(&self) -> ConstParams<'_>

    Returns an Iterator<Item = &ConstParam> over the constant parameters in self.params.

    -

    Returns an +

    source

    pub fn const_params_mut(&mut self) -> ConstParamsMut<'_>

    Returns an Iterator<Item = &mut ConstParam> over the constant parameters in self.params.

    -

    Initializes an empty where-clause if there is not one present already.

    -

    Split a type’s generics into the pieces required for impl’ing a trait +

    source

    pub fn make_where_clause(&mut self) -> &mut WhereClause

    Initializes an empty where-clause if there is not one present already.

    +
    source§

    impl Generics

    source

    pub fn split_for_impl( + &self +) -> (ImplGenerics<'_>, TypeGenerics<'_>, Option<&WhereClause>)

    Split a type’s generics into the pieces required for impl’ing a trait for that type.

    let (impl_generics, ty_generics, where_clause) = generics.split_for_impl();
    @@ -61,11 +63,23 @@ for that type.

    }

    This method is available only if Syn is built with the "derive" or "full" feature and the "printing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Generics

    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 Debug for Generics

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Generics

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Generics

    source§

    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
    source§

    impl Parse for Generics

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Generics> for Generics

    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.
    source§

    impl ToTokens for Generics

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Generics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Ident.html b/syn/struct.Ident.html index ea22408..5a12224 100644 --- a/syn/struct.Ident.html +++ b/syn/struct.Ident.html @@ -1,4 +1,4 @@ -Ident in syn - Rust

    Struct syn::Ident

    source ·
    pub struct Ident { /* private fields */ }
    Expand description

    A word of Rust code, which may be a keyword or legal variable name.

    +Ident in syn - Rust

    Struct syn::Ident

    source ·
    pub struct Ident { /* private fields */ }
    Expand description

    A word of Rust code, which may be a keyword or legal variable name.

    An identifier consists of at least one Unicode code point, the first of which has the XID_Start property and the rest of which have the XID_Continue property.

    @@ -7,7 +7,7 @@ property.

  • A lifetime is not an identifier. Use syn::Lifetime instead.
  • An identifier constructed with Ident::new is permitted to be a Rust -keyword, though parsing one through its Parse implementation rejects +keyword, though parsing one through its Parse implementation rejects Rust keywords. Use input.call(Ident::parse_any) when parsing to match the behaviour of Ident::new.

    Examples

    @@ -45,7 +45,7 @@ method.

    if ident_string.len() > 60 { println!("Very long identifier: {}", ident_string) }
    -

    Implementations§

    Creates a new Ident with the given string as well as the specified +

    Implementations§

    source§

    impl Ident

    source

    pub fn new(string: &str, span: Span) -> Ident

    Creates a new Ident with the given string as well as the specified span.

    The string argument must be a valid identifier permitted by the language, otherwise the function will panic.

    @@ -65,30 +65,47 @@ tokens, requires a Span to be specified at construction.

    Panics if the input string is neither a keyword nor a legal variable name. If you are not sure whether the string contains an identifier and need to handle an error case, use -syn::parse_str::<Ident> rather than Ident::new.

    -

    Same as Ident::new, but creates a raw identifier (r#ident). The +

    source

    pub fn new_raw(string: &str, span: Span) -> Ident

    Same as Ident::new, but creates a raw identifier (r#ident). The string argument must be a valid identifier permitted by the language (including keywords, e.g. fn). Keywords which are usable in path segments (e.g. self, super) are not supported, and will cause a panic.

    -

    Returns the span of this Ident.

    -

    Configures the span of this Ident, possibly changing its hygiene +

    source

    pub fn span(&self) -> Span

    Returns the span of this Ident.

    +
    source

    pub fn set_span(&mut self, span: Span)

    Configures the span of this Ident, possibly changing its hygiene context.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more

    Prints the identifier as a string that should be losslessly convertible back +

    Trait Implementations§

    source§

    impl Clone for Ident

    source§

    fn clone(&self) -> Ident

    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 Ident

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for Ident

    Prints the identifier as a string that should be losslessly convertible back into the same identifier.

    -
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parses any identifier including keywords. Read more
    Strips the raw marker r#, if any, from the beginning of an ident. Read more
    Peeks any identifier including keywords. Usage: -input.peek(Ident::peek_any) Read more
    Span associated with this IdentFragment. Read more
    Format this value as an identifier fragment.
    This method returns an Ordering between self and other. Read more
    Compares and returns the maximum of two values. Read more
    Compares and returns the minimum of two values. Read more
    Restrict a value to a certain interval. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method returns an ordering between self and other values if one exists. Read more
    This method tests less than (for self and other) and is used by the < operator. Read more
    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    This method tests greater than (for self and other) and is used by the > operator. Read more
    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl From<Crate> for Ident

    source§

    fn from(token: Crate) -> Ident

    Converts to this type from the input type.
    source§

    impl From<Extern> for Ident

    source§

    fn from(token: Extern) -> Ident

    Converts to this type from the input type.
    source§

    impl From<Ident> for Member

    source§

    fn from(ident: Ident) -> Member

    Converts to this type from the input type.
    source§

    impl From<Ident> for TypeParam

    source§

    fn from(ident: Ident) -> Self

    Converts to this type from the input type.
    source§

    impl From<SelfType> for Ident

    source§

    fn from(token: SelfType) -> Ident

    Converts to this type from the input type.
    source§

    impl From<SelfValue> for Ident

    source§

    fn from(token: SelfValue) -> Ident

    Converts to this type from the input type.
    source§

    impl From<Super> for Ident

    source§

    fn from(token: Super) -> Ident

    Converts to this type from the input type.
    source§

    impl From<Underscore> for Ident

    source§

    fn from(token: Underscore) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for Ident

    source§

    fn hash<H>(&self, hasher: &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
    source§

    impl IdentExt for Ident

    source§

    fn parse_any(input: ParseStream<'_>) -> Result<Self>

    Parses any identifier including keywords. Read more
    source§

    fn unraw(&self) -> Ident

    Strips the raw marker r#, if any, from the beginning of an ident. Read more
    source§

    const peek_any: PeekFn = private::PeekFn

    Peeks any identifier including keywords. Usage: +input.peek(Ident::peek_any) Read more
    source§

    impl IdentFragment for Ident

    source§

    fn span(&self) -> Option<Span>

    Span associated with this IdentFragment. Read more
    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Format this value as an identifier fragment.
    source§

    impl Ord for Ident

    source§

    fn cmp(&self, other: &Ident) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

    Restrict a value to a certain interval. Read more
    source§

    impl Parse for Ident

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Ident> for Ident

    source§

    fn eq(&self, other: &Ident) -> 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<T> PartialEq<T> for Identwhere + T: AsRef<str> + ?Sized,

    source§

    fn eq(&self, other: &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.
    source§

    impl PartialOrd<Ident> for Ident

    source§

    fn partial_cmp(&self, other: &Ident) -> 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
    source§

    impl ToTokens for Ident

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Ident

    source§

    impl Token for Ident

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ident

    §

    impl !Send for Ident

    §

    impl !Sync for Ident

    §

    impl Unpin for Ident

    §

    impl UnwindSafe for Ident

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ImplGenerics.html b/syn/struct.ImplGenerics.html index 6975f5b..89e3a45 100644 --- a/syn/struct.ImplGenerics.html +++ b/syn/struct.ImplGenerics.html @@ -1,11 +1,22 @@ -ImplGenerics in syn - Rust

    Struct syn::ImplGenerics

    source ·
    pub struct ImplGenerics<'a>(_);
    Expand description

    Returned by Generics::split_for_impl.

    +ImplGenerics in syn - Rust

    Struct syn::ImplGenerics

    source ·
    pub struct ImplGenerics<'a>(/* private fields */);
    Expand description

    Returned by Generics::split_for_impl.

    This type is available only if Syn is built with the "derive" or "full" feature and the "printing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for ImplGenerics<'a>

    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<'a> Debug for ImplGenerics<'a>

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for ImplGenerics<'a>

    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<'a> PartialEq<ImplGenerics<'a>> for ImplGenerics<'a>

    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.
    source§

    impl<'a> ToTokens for ImplGenerics<'a>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl<'a> Eq for ImplGenerics<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for ImplGenerics<'a>

    §

    impl<'a> !Send for ImplGenerics<'a>

    §

    impl<'a> !Sync for ImplGenerics<'a>

    §

    impl<'a> Unpin for ImplGenerics<'a>

    §

    impl<'a> UnwindSafe for ImplGenerics<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Index.html b/syn/struct.Index.html index 7d9515c..885743e 100644 --- a/syn/struct.Index.html +++ b/syn/struct.Index.html @@ -1,14 +1,25 @@ -Index in syn - Rust

    Struct syn::Index

    source ·
    pub struct Index {
    -    pub index: u32,
    +Index in syn - Rust

    Struct syn::Index

    source ·
    pub struct Index {
    +    pub index: u32,
         pub span: Span,
    -}
    Expand description

    The index of an unnamed tuple struct field.

    +}
    Expand description

    The index of an unnamed tuple struct field.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §index: u32§span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Format this value as an identifier fragment.
    Span associated with this IdentFragment. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §index: u32§span: Span

    Trait Implementations§

    source§

    impl Clone for Index

    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 Debug for Index

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<Index> for Member

    source§

    fn from(index: Index) -> Member

    Converts to this type from the input type.
    source§

    impl From<usize> for Index

    source§

    fn from(index: usize) -> Index

    Converts to this type from the input type.
    source§

    impl Hash for Index

    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 IdentFragment for Index

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Format this value as an identifier fragment.
    source§

    fn span(&self) -> Option<Span>

    Span associated with this IdentFragment. Read more
    source§

    impl Parse for Index

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Index> for Index

    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.
    source§

    impl ToTokens for Index

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Index

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Index

    §

    impl !Send for Index

    §

    impl !Sync for Index

    §

    impl Unpin for Index

    §

    impl UnwindSafe for Index

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Lifetime.html b/syn/struct.Lifetime.html index 6d613ed..eebbe02 100644 --- a/syn/struct.Lifetime.html +++ b/syn/struct.Lifetime.html @@ -1,7 +1,7 @@ -Lifetime in syn - Rust

    Struct syn::Lifetime

    source ·
    pub struct Lifetime {
    +Lifetime in syn - Rust

    Struct syn::Lifetime

    source ·
    pub struct Lifetime {
         pub apostrophe: Span,
         pub ident: Ident,
    -}
    Expand description

    A Rust lifetime: 'a.

    +}
    Expand description

    A Rust lifetime: 'a.

    Lifetime names must conform to the following rules:

    • Must start with an apostrophe.
    • @@ -11,17 +11,32 @@ the XID_Start property.
    • All following characters must be Unicode code points with the XID_Continue property.
    -

    Fields§

    §apostrophe: Span§ident: Ident

    Implementations§

    Fields§

    §apostrophe: Span§ident: Ident

    Implementations§

    source§

    impl Lifetime

    source

    pub fn new(symbol: &str, span: Span) -> Self

    Panics

    Panics if the lifetime does not conform to the bulleted rules above.

    Invocation
    Lifetime::new("'a", Span::call_site())
    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method returns an Ordering between self and other. Read more
    Compares and returns the maximum of two values. Read more
    Compares and returns the minimum of two values. Read more
    Restrict a value to a certain interval. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    This method returns an ordering between self and other values if one exists. Read more
    This method tests less than (for self and other) and is used by the < operator. Read more
    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    This method tests greater than (for self and other) and is used by the > operator. Read more
    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    Trait Implementations§

    source§

    impl Clone for Lifetime

    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 Debug for Lifetime

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for Lifetime

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<Lifetime> for TypeParamBound

    source§

    fn from(e: Lifetime) -> TypeParamBound

    Converts to this type from the input type.
    source§

    impl Hash for Lifetime

    source§

    fn hash<H: Hasher>(&self, h: &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 Ord for Lifetime

    source§

    fn cmp(&self, other: &Lifetime) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere + Self: Sized + PartialOrd<Self>,

    Restrict a value to a certain interval. Read more
    source§

    impl Parse for Lifetime

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Lifetime> for Lifetime

    source§

    fn eq(&self, other: &Lifetime) -> 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 PartialOrd<Lifetime> for Lifetime

    source§

    fn partial_cmp(&self, other: &Lifetime) -> 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
    source§

    impl ToTokens for Lifetime

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Lifetime

    source§

    impl Token for Lifetime

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LifetimeDef.html b/syn/struct.LifetimeDef.html index c5d461e..4736be1 100644 --- a/syn/struct.LifetimeDef.html +++ b/syn/struct.LifetimeDef.html @@ -1,16 +1,28 @@ -LifetimeDef in syn - Rust

    Struct syn::LifetimeDef

    source ·
    pub struct LifetimeDef {
    -    pub attrs: Vec<Attribute>,
    +LifetimeDef in syn - Rust

    Struct syn::LifetimeDef

    source ·
    pub struct LifetimeDef {
    +    pub attrs: Vec<Attribute>,
         pub lifetime: Lifetime,
    -    pub colon_token: Option<Colon>,
    +    pub colon_token: Option<Colon>,
         pub bounds: Punctuated<Lifetime, Add>,
    -}
    Expand description

    A lifetime definition: 'a: 'b + 'c + 'd.

    +}
    Expand description

    A lifetime definition: 'a: 'b + 'c + 'd.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§lifetime: Lifetime§colon_token: Option<Colon>§bounds: Punctuated<Lifetime, Add>

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§lifetime: Lifetime§colon_token: Option<Colon>§bounds: Punctuated<Lifetime, Add>

    Implementations§

    source§

    impl LifetimeDef

    source

    pub fn new(lifetime: Lifetime) -> Self

    Trait Implementations§

    source§

    impl Clone for LifetimeDef

    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 Debug for LifetimeDef

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LifetimeDef> for GenericParam

    source§

    fn from(e: LifetimeDef) -> GenericParam

    Converts to this type from the input type.
    source§

    impl Hash for LifetimeDef

    source§

    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
    source§

    impl Parse for LifetimeDef

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LifetimeDef> for LifetimeDef

    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.
    source§

    impl ToTokens for LifetimeDef

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LifetimeDef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitBool.html b/syn/struct.LitBool.html index 278d83d..9d7055c 100644 --- a/syn/struct.LitBool.html +++ b/syn/struct.LitBool.html @@ -1,12 +1,24 @@ -LitBool in syn - Rust

    Struct syn::LitBool

    source ·
    pub struct LitBool {
    -    pub value: bool,
    +LitBool in syn - Rust

    Struct syn::LitBool

    source ·
    pub struct LitBool {
    +    pub value: bool,
         pub span: Span,
    -}
    Expand description

    A boolean literal: true or false.

    -

    Fields§

    §value: bool§span: Span

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +}
    Expand description

    A boolean literal: true or false.

    +

    Fields§

    §value: bool§span: Span

    Implementations§

    source§

    impl LitBool

    source

    pub fn new(value: bool, span: Span) -> Self

    source

    pub fn value(&self) -> bool

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn token(&self) -> Ident

    Trait Implementations§

    source§

    impl Clone for LitBool

    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 Debug for LitBool

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitBool> for Lit

    source§

    fn from(e: LitBool) -> Lit

    Converts to this type from the input type.
    source§

    impl Hash for LitBool

    source§

    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
    source§

    impl Parse for LitBool

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitBool> for LitBool

    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.
    source§

    impl ToTokens for LitBool

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitBool

    source§

    impl Token for LitBool

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitByte.html b/syn/struct.LitByte.html index dbea009..862e2c5 100644 --- a/syn/struct.LitByte.html +++ b/syn/struct.LitByte.html @@ -1,9 +1,21 @@ -LitByte in syn - Rust

    Struct syn::LitByte

    source ·
    pub struct LitByte { /* private fields */ }
    Expand description

    A byte literal: b'f'.

    -

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +LitByte in syn - Rust

    Struct syn::LitByte

    source ·
    pub struct LitByte { /* private fields */ }
    Expand description

    A byte literal: b'f'.

    +

    Implementations§

    source§

    impl LitByte

    source

    pub fn new(value: u8, span: Span) -> Self

    source

    pub fn value(&self) -> u8

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn suffix(&self) -> &str

    source

    pub fn token(&self) -> Literal

    Trait Implementations§

    source§

    impl Clone for LitByte

    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 Debug for LitByte

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitByte> for Lit

    source§

    fn from(e: LitByte) -> Lit

    Converts to this type from the input type.
    source§

    impl Hash for LitByte

    source§

    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
    source§

    impl Parse for LitByte

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitByte> for LitByte

    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.
    source§

    impl ToTokens for LitByte

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitByte

    source§

    impl Token for LitByte

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitByteStr.html b/syn/struct.LitByteStr.html index b351095..940a382 100644 --- a/syn/struct.LitByteStr.html +++ b/syn/struct.LitByteStr.html @@ -1,9 +1,21 @@ -LitByteStr in syn - Rust

    Struct syn::LitByteStr

    source ·
    pub struct LitByteStr { /* private fields */ }
    Expand description

    A byte string literal: b"foo".

    -

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +LitByteStr in syn - Rust

    Struct syn::LitByteStr

    source ·
    pub struct LitByteStr { /* private fields */ }
    Expand description

    A byte string literal: b"foo".

    +

    Implementations§

    source§

    impl LitByteStr

    source

    pub fn new(value: &[u8], span: Span) -> Self

    source

    pub fn value(&self) -> Vec<u8>

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn suffix(&self) -> &str

    source

    pub fn token(&self) -> Literal

    Trait Implementations§

    source§

    impl Clone for LitByteStr

    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 Debug for LitByteStr

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitByteStr> for Lit

    source§

    fn from(e: LitByteStr) -> Lit

    Converts to this type from the input type.
    source§

    impl Hash for LitByteStr

    source§

    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
    source§

    impl Parse for LitByteStr

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitByteStr> for LitByteStr

    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.
    source§

    impl ToTokens for LitByteStr

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitByteStr

    source§

    impl Token for LitByteStr

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitChar.html b/syn/struct.LitChar.html index 6ed7d95..4cd1428 100644 --- a/syn/struct.LitChar.html +++ b/syn/struct.LitChar.html @@ -1,9 +1,21 @@ -LitChar in syn - Rust

    Struct syn::LitChar

    source ·
    pub struct LitChar { /* private fields */ }
    Expand description

    A character literal: 'a'.

    -

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +LitChar in syn - Rust

    Struct syn::LitChar

    source ·
    pub struct LitChar { /* private fields */ }
    Expand description

    A character literal: 'a'.

    +

    Implementations§

    source§

    impl LitChar

    source

    pub fn new(value: char, span: Span) -> Self

    source

    pub fn value(&self) -> char

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn suffix(&self) -> &str

    source

    pub fn token(&self) -> Literal

    Trait Implementations§

    source§

    impl Clone for LitChar

    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 Debug for LitChar

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitChar> for Lit

    source§

    fn from(e: LitChar) -> Lit

    Converts to this type from the input type.
    source§

    impl Hash for LitChar

    source§

    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
    source§

    impl Parse for LitChar

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitChar> for LitChar

    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.
    source§

    impl ToTokens for LitChar

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitChar

    source§

    impl Token for LitChar

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitFloat.html b/syn/struct.LitFloat.html index 47a4589..ea02ceb 100644 --- a/syn/struct.LitFloat.html +++ b/syn/struct.LitFloat.html @@ -1,10 +1,25 @@ -LitFloat in syn - Rust

    Struct syn::LitFloat

    source ·
    pub struct LitFloat { /* private fields */ }
    Expand description

    A floating point literal: 1f64 or 1.0e10f64.

    +LitFloat in syn - Rust

    Struct syn::LitFloat

    source ·
    pub struct LitFloat { /* private fields */ }
    Expand description

    A floating point literal: 1f64 or 1.0e10f64.

    Must be finite. May not be infinite or NaN.

    -

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Implementations§

    source§

    impl LitFloat

    source

    pub fn new(repr: &str, span: Span) -> Self

    source

    pub fn base10_digits(&self) -> &str

    source

    pub fn base10_parse<N>(&self) -> Result<N>where + N: FromStr, + N::Err: Display,

    source

    pub fn suffix(&self) -> &str

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn token(&self) -> Literal

    Trait Implementations§

    source§

    impl Clone for LitFloat

    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 Debug for LitFloat

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for LitFloat

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitFloat> for Lit

    source§

    fn from(e: LitFloat) -> Lit

    Converts to this type from the input type.
    source§

    impl From<Literal> for LitFloat

    source§

    fn from(token: Literal) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for LitFloat

    source§

    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
    source§

    impl Parse for LitFloat

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitFloat> for LitFloat

    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.
    source§

    impl ToTokens for LitFloat

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitFloat

    source§

    impl Token for LitFloat

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitInt.html b/syn/struct.LitInt.html index 126fd88..819c9aa 100644 --- a/syn/struct.LitInt.html +++ b/syn/struct.LitInt.html @@ -1,5 +1,7 @@ -LitInt in syn - Rust

    Struct syn::LitInt

    source ·
    pub struct LitInt { /* private fields */ }
    Expand description

    An integer literal: 1 or 1u16.

    -

    Implementations§

    Parses the literal into a selected number type.

    +LitInt in syn - Rust

    Struct syn::LitInt

    source ·
    pub struct LitInt { /* private fields */ }
    Expand description

    An integer literal: 1 or 1u16.

    +

    Implementations§

    source§

    impl LitInt

    source

    pub fn new(repr: &str, span: Span) -> Self

    source

    pub fn base10_digits(&self) -> &str

    source

    pub fn base10_parse<N>(&self) -> Result<N>where + N: FromStr, + N::Err: Display,

    Parses the literal into a selected number type.

    This is equivalent to lit.base10_digits().parse() except that the resulting errors will be correctly spanned to point to the literal token in the macro input.

    @@ -18,11 +20,24 @@ in the macro input.

    Ok(Port { value }) } }
    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn suffix(&self) -> &str

    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn token(&self) -> Literal

    Trait Implementations§

    source§

    impl Clone for LitInt

    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 Debug for LitInt

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for LitInt

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitInt> for Lit

    source§

    fn from(e: LitInt) -> Lit

    Converts to this type from the input type.
    source§

    impl From<Literal> for LitInt

    source§

    fn from(token: Literal) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for LitInt

    source§

    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
    source§

    impl Parse for LitInt

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitInt> for LitInt

    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.
    source§

    impl ToTokens for LitInt

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitInt

    source§

    impl Token for LitInt

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for LitInt

    §

    impl !Send for LitInt

    §

    impl !Sync for LitInt

    §

    impl Unpin for LitInt

    §

    impl UnwindSafe for LitInt

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    Converts the given value to a String. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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> ToString for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.LitStr.html b/syn/struct.LitStr.html index d799954..0d0a64b 100644 --- a/syn/struct.LitStr.html +++ b/syn/struct.LitStr.html @@ -1,5 +1,5 @@ -LitStr in syn - Rust

    Struct syn::LitStr

    source ·
    pub struct LitStr { /* private fields */ }
    Expand description

    A UTF-8 string literal: "foo".

    -

    Implementations§

    Parse a syntax tree node from the content of this string literal.

    +LitStr in syn - Rust

    Struct syn::LitStr

    source ·
    pub struct LitStr { /* private fields */ }
    Expand description

    A UTF-8 string literal: "foo".

    +

    Implementations§

    source§

    impl LitStr

    source

    pub fn new(value: &str, span: Span) -> Self

    source

    pub fn value(&self) -> String

    source

    pub fn parse<T: Parse>(&self) -> Result<T>

    Parse a syntax tree node from the content of this string literal.

    All spans in the syntax tree will point to the span of this LitStr.

    Example
    use proc_macro2::Span;
    @@ -25,7 +25,7 @@
             }
         }
     }
    -

    Invoke parser on the content of this string literal.

    +
    source

    pub fn parse_with<F: Parser>(&self, parser: F) -> Result<F::Output>

    Invoke parser on the content of this string literal.

    All spans in the syntax tree will point to the span of this LitStr.

    Example
    let lit_str: LitStr = /* ... */;
    @@ -33,11 +33,23 @@
     // Parse a string literal like "a::b::c" into a Path, not allowing
     // generic arguments on any of the path segments.
     let basic_path = lit_str.parse_with(syn::Path::parse_mod_style)?;
    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    source

    pub fn span(&self) -> Span

    source

    pub fn set_span(&mut self, span: Span)

    source

    pub fn suffix(&self) -> &str

    source

    pub fn token(&self) -> Literal

    Trait Implementations§

    source§

    impl Clone for LitStr

    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 Debug for LitStr

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LitStr> for Lit

    source§

    fn from(e: LitStr) -> Lit

    Converts to this type from the input type.
    source§

    impl Hash for LitStr

    source§

    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
    source§

    impl Parse for LitStr

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LitStr> for LitStr

    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.
    source§

    impl ToTokens for LitStr

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for LitStr

    source§

    impl Token for LitStr

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for LitStr

    §

    impl !Send for LitStr

    §

    impl !Sync for LitStr

    §

    impl Unpin for LitStr

    §

    impl UnwindSafe for LitStr

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Macro.html b/syn/struct.Macro.html index 6770c44..49cb309 100644 --- a/syn/struct.Macro.html +++ b/syn/struct.Macro.html @@ -1,12 +1,12 @@ -Macro in syn - Rust

    Struct syn::Macro

    source ·
    pub struct Macro {
    +Macro in syn - Rust

    Struct syn::Macro

    source ·
    pub struct Macro {
         pub path: Path,
         pub bang_token: Bang,
         pub delimiter: MacroDelimiter,
         pub tokens: TokenStream,
    -}
    Expand description

    A macro invocation: println!("{}", mac).

    +}
    Expand description

    A macro invocation: println!("{}", mac).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §path: Path§bang_token: Bang§delimiter: MacroDelimiter§tokens: TokenStream

    Implementations§

    Parse the tokens within the macro invocation’s delimiters into a syntax +

    Fields§

    §path: Path§bang_token: Bang§delimiter: MacroDelimiter§tokens: TokenStream

    Implementations§

    source§

    impl Macro

    source

    pub fn parse_body<T: Parse>(&self) -> Result<T>

    Parse the tokens within the macro invocation’s delimiters into a syntax tree.

    This is equivalent to syn::parse2::<T>(mac.tokens) except that it produces a more useful span when tokens is empty.

    @@ -83,13 +83,25 @@ produces a more useful span when tokens is empty.

    let lit = get_format_string(&invocation).unwrap(); assert_eq!(lit.value(), "{:?}"); }
    -

    Parse the tokens within the macro invocation’s delimiters using the +

    source

    pub fn parse_body_with<F: Parser>(&self, parser: F) -> Result<F::Output>

    Parse the tokens within the macro invocation’s delimiters using the given parser.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Macro

    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 Debug for Macro

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Macro

    source§

    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
    source§

    impl Parse for Macro

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Macro> for Macro

    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.
    source§

    impl ToTokens for Macro

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Macro

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Macro

    §

    impl !Send for Macro

    §

    impl !Sync for Macro

    §

    impl Unpin for Macro

    §

    impl UnwindSafe for Macro

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.MetaList.html b/syn/struct.MetaList.html index 26f5561..e314a0e 100644 --- a/syn/struct.MetaList.html +++ b/syn/struct.MetaList.html @@ -1,15 +1,27 @@ -MetaList in syn - Rust

    Struct syn::MetaList

    source ·
    pub struct MetaList {
    +MetaList in syn - Rust

    Struct syn::MetaList

    source ·
    pub struct MetaList {
         pub path: Path,
         pub paren_token: Paren,
         pub nested: Punctuated<NestedMeta, Comma>,
    -}
    Expand description

    A structured list within an attribute, like derive(Copy, Clone).

    +}
    Expand description

    A structured list within an attribute, like derive(Copy, Clone).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §path: Path§paren_token: Paren§nested: Punctuated<NestedMeta, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §path: Path§paren_token: Paren§nested: Punctuated<NestedMeta, Comma>

    Trait Implementations§

    source§

    impl Clone for MetaList

    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 Debug for MetaList

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<MetaList> for Meta

    source§

    fn from(e: MetaList) -> Meta

    Converts to this type from the input type.
    source§

    impl Hash for MetaList

    source§

    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
    source§

    impl Parse for MetaList

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<MetaList> for MetaList

    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.
    source§

    impl ToTokens for MetaList

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for MetaList

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.MetaNameValue.html b/syn/struct.MetaNameValue.html index f75f41f..3325788 100644 --- a/syn/struct.MetaNameValue.html +++ b/syn/struct.MetaNameValue.html @@ -1,15 +1,27 @@ -MetaNameValue in syn - Rust

    Struct syn::MetaNameValue

    source ·
    pub struct MetaNameValue {
    +MetaNameValue in syn - Rust

    Struct syn::MetaNameValue

    source ·
    pub struct MetaNameValue {
         pub path: Path,
         pub eq_token: Eq,
         pub lit: Lit,
    -}
    Expand description

    A name-value pair within an attribute, like feature = "nightly".

    +}
    Expand description

    A name-value pair within an attribute, like feature = "nightly".

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §path: Path§eq_token: Eq§lit: Lit

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §path: Path§eq_token: Eq§lit: Lit

    Trait Implementations§

    source§

    impl Clone for MetaNameValue

    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 Debug for MetaNameValue

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<MetaNameValue> for Meta

    source§

    fn from(e: MetaNameValue) -> Meta

    Converts to this type from the input type.
    source§

    impl Hash for MetaNameValue

    source§

    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
    source§

    impl Parse for MetaNameValue

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<MetaNameValue> for MetaNameValue

    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.
    source§

    impl ToTokens for MetaNameValue

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for MetaNameValue

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.ParenthesizedGenericArguments.html b/syn/struct.ParenthesizedGenericArguments.html index 87ee3f5..1cb778d 100644 --- a/syn/struct.ParenthesizedGenericArguments.html +++ b/syn/struct.ParenthesizedGenericArguments.html @@ -1,17 +1,29 @@ -ParenthesizedGenericArguments in syn - Rust
    pub struct ParenthesizedGenericArguments {
    +ParenthesizedGenericArguments in syn - Rust
    pub struct ParenthesizedGenericArguments {
         pub paren_token: Paren,
         pub inputs: Punctuated<Type, Comma>,
         pub output: ReturnType,
    -}
    Expand description

    Arguments of a function path segment: the (A, B) -> C in Fn(A,B) -> C.

    +}
    Expand description

    Arguments of a function path segment: the (A, B) -> C in Fn(A,B) -> C.

    This type is available only if Syn is built with the "derive" or "full" feature.

    Fields§

    §paren_token: Paren§inputs: Punctuated<Type, Comma>

    (A, B)

    §output: ReturnType

    C

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for ParenthesizedGenericArguments

    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 Debug for ParenthesizedGenericArguments

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for ParenthesizedGenericArguments

    source§

    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
    source§

    impl Parse for ParenthesizedGenericArguments

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ParenthesizedGenericArguments> for ParenthesizedGenericArguments

    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.
    source§

    impl ToTokens for ParenthesizedGenericArguments

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for ParenthesizedGenericArguments

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Path.html b/syn/struct.Path.html index 74b4fdb..e80a877 100644 --- a/syn/struct.Path.html +++ b/syn/struct.Path.html @@ -1,10 +1,10 @@ -Path in syn - Rust

    Struct syn::Path

    source ·
    pub struct Path {
    -    pub leading_colon: Option<Colon2>,
    +Path in syn - Rust

    Struct syn::Path

    source ·
    pub struct Path {
    +    pub leading_colon: Option<Colon2>,
         pub segments: Punctuated<PathSegment, Colon2>,
    -}
    Expand description

    A path at which a named item is exported (e.g. std::collections::HashMap).

    +}
    Expand description

    A path at which a named item is exported (e.g. std::collections::HashMap).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §leading_colon: Option<Colon2>§segments: Punctuated<PathSegment, Colon2>

    Implementations§

    Parse a Path containing no path arguments on any of its segments.

    +

    Fields§

    §leading_colon: Option<Colon2>§segments: Punctuated<PathSegment, Colon2>

    Implementations§

    source§

    impl Path

    source

    pub fn parse_mod_style(input: ParseStream<'_>) -> Result<Self>

    Parse a Path containing no path arguments on any of its segments.

    This function is available only if Syn is built with the "parsing" feature.

    Example
    @@ -32,7 +32,8 @@ feature.

    }) } }
    -

    Determines whether this is a path of length 1 equal to the given +

    source

    pub fn is_ident<I: ?Sized>(&self, ident: &I) -> boolwhere + Ident: PartialEq<I>,

    Determines whether this is a path of length 1 equal to the given ident.

    For them to compare equal, it must be the case that:

      @@ -57,7 +58,7 @@ feature.

      Ok(Vec::new()) } }
    -

    If this path consists of a single ident, returns the ident.

    +
    source

    pub fn get_ident(&self) -> Option<&Ident>

    If this path consists of a single ident, returns the ident.

    A path is considered an ident if:

    • the path has no leading colon,
    • @@ -67,11 +68,24 @@ path arguments.

    This function is available only if Syn is built with the "parsing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for Path

    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 Debug for Path

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<Path> for Meta

    source§

    fn from(e: Path) -> Meta

    Converts to this type from the input type.
    source§

    impl<T> From<T> for Pathwhere + T: Into<PathSegment>,

    source§

    fn from(segment: T) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Path

    source§

    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
    source§

    impl Parse for Path

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Path> for Path

    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.
    source§

    impl ToTokens for Path

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Path

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Path

    §

    impl !Send for Path

    §

    impl !Sync for Path

    §

    impl Unpin for Path

    §

    impl UnwindSafe for Path

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.PathSegment.html b/syn/struct.PathSegment.html index 75bef47..9e1e293 100644 --- a/syn/struct.PathSegment.html +++ b/syn/struct.PathSegment.html @@ -1,14 +1,27 @@ -PathSegment in syn - Rust

    Struct syn::PathSegment

    source ·
    pub struct PathSegment {
    +PathSegment in syn - Rust

    Struct syn::PathSegment

    source ·
    pub struct PathSegment {
         pub ident: Ident,
         pub arguments: PathArguments,
    -}
    Expand description

    A segment of a path together with any path arguments on that segment.

    +}
    Expand description

    A segment of a path together with any path arguments on that segment.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §ident: Ident§arguments: PathArguments

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §ident: Ident§arguments: PathArguments

    Trait Implementations§

    source§

    impl Clone for PathSegment

    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 Debug for PathSegment

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T> From<T> for PathSegmentwhere + T: Into<Ident>,

    source§

    fn from(ident: T) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for PathSegment

    source§

    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
    source§

    impl Parse for PathSegment

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<PathSegment> for PathSegment

    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.
    source§

    impl ToTokens for PathSegment

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for PathSegment

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.PredicateEq.html b/syn/struct.PredicateEq.html index 55d9fd3..ec9c9c7 100644 --- a/syn/struct.PredicateEq.html +++ b/syn/struct.PredicateEq.html @@ -1,15 +1,27 @@ -PredicateEq in syn - Rust

    Struct syn::PredicateEq

    source ·
    pub struct PredicateEq {
    +PredicateEq in syn - Rust

    Struct syn::PredicateEq

    source ·
    pub struct PredicateEq {
         pub lhs_ty: Type,
         pub eq_token: Eq,
         pub rhs_ty: Type,
    -}
    Expand description

    An equality predicate in a where clause (unsupported).

    +}
    Expand description

    An equality predicate in a where clause (unsupported).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §lhs_ty: Type§eq_token: Eq§rhs_ty: Type

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §lhs_ty: Type§eq_token: Eq§rhs_ty: Type

    Trait Implementations§

    source§

    impl Clone for PredicateEq

    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 Debug for PredicateEq

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<PredicateEq> for WherePredicate

    source§

    fn from(e: PredicateEq) -> WherePredicate

    Converts to this type from the input type.
    source§

    impl Hash for PredicateEq

    source§

    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
    source§

    impl PartialEq<PredicateEq> for PredicateEq

    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.
    source§

    impl ToTokens for PredicateEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for PredicateEq

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.PredicateLifetime.html b/syn/struct.PredicateLifetime.html index 4b4c224..376f551 100644 --- a/syn/struct.PredicateLifetime.html +++ b/syn/struct.PredicateLifetime.html @@ -1,15 +1,27 @@ -PredicateLifetime in syn - Rust

    Struct syn::PredicateLifetime

    source ·
    pub struct PredicateLifetime {
    +PredicateLifetime in syn - Rust

    Struct syn::PredicateLifetime

    source ·
    pub struct PredicateLifetime {
         pub lifetime: Lifetime,
         pub colon_token: Colon,
         pub bounds: Punctuated<Lifetime, Add>,
    -}
    Expand description

    A lifetime predicate in a where clause: 'a: 'b + 'c.

    +}
    Expand description

    A lifetime predicate in a where clause: 'a: 'b + 'c.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §lifetime: Lifetime§colon_token: Colon§bounds: Punctuated<Lifetime, Add>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §lifetime: Lifetime§colon_token: Colon§bounds: Punctuated<Lifetime, Add>

    Trait Implementations§

    source§

    impl Clone for PredicateLifetime

    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 Debug for PredicateLifetime

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<PredicateLifetime> for WherePredicate

    source§

    fn from(e: PredicateLifetime) -> WherePredicate

    Converts to this type from the input type.
    source§

    impl Hash for PredicateLifetime

    source§

    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
    source§

    impl PartialEq<PredicateLifetime> for PredicateLifetime

    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.
    source§

    impl ToTokens for PredicateLifetime

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for PredicateLifetime

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.PredicateType.html b/syn/struct.PredicateType.html index 6fd35db..5976795 100644 --- a/syn/struct.PredicateType.html +++ b/syn/struct.PredicateType.html @@ -1,19 +1,31 @@ -PredicateType in syn - Rust

    Struct syn::PredicateType

    source ·
    pub struct PredicateType {
    -    pub lifetimes: Option<BoundLifetimes>,
    +PredicateType in syn - Rust

    Struct syn::PredicateType

    source ·
    pub struct PredicateType {
    +    pub lifetimes: Option<BoundLifetimes>,
         pub bounded_ty: Type,
         pub colon_token: Colon,
         pub bounds: Punctuated<TypeParamBound, Add>,
    -}
    Expand description

    A type predicate in a where clause: for<'c> Foo<'c>: Trait<'c>.

    +}
    Expand description

    A type predicate in a where clause: for<'c> Foo<'c>: Trait<'c>.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §lifetimes: Option<BoundLifetimes>

    Any lifetimes from a for binding

    +

    Fields§

    §lifetimes: Option<BoundLifetimes>

    Any lifetimes from a for binding

    §bounded_ty: Type

    The type being bounded

    §colon_token: Colon§bounds: Punctuated<TypeParamBound, Add>

    Trait and lifetime bounds (Clone+Send+'static)

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for PredicateType

    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 Debug for PredicateType

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<PredicateType> for WherePredicate

    source§

    fn from(e: PredicateType) -> WherePredicate

    Converts to this type from the input type.
    source§

    impl Hash for PredicateType

    source§

    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
    source§

    impl PartialEq<PredicateType> for PredicateType

    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.
    source§

    impl ToTokens for PredicateType

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for PredicateType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.QSelf.html b/syn/struct.QSelf.html index e76684a..2a07a60 100644 --- a/syn/struct.QSelf.html +++ b/syn/struct.QSelf.html @@ -1,10 +1,10 @@ -QSelf in syn - Rust

    Struct syn::QSelf

    source ·
    pub struct QSelf {
    +QSelf in syn - Rust

    Struct syn::QSelf

    source ·
    pub struct QSelf {
         pub lt_token: Lt,
    -    pub ty: Box<Type>,
    -    pub position: usize,
    -    pub as_token: Option<As>,
    +    pub ty: Box<Type>,
    +    pub position: usize,
    +    pub as_token: Option<As>,
         pub gt_token: Gt,
    -}
    Expand description

    The explicit Self type in a qualified path: the T in <T as Display>::fmt.

    +}
    Expand description

    The explicit Self type in a qualified path: the T in <T as Display>::fmt.

    The actual path, including the trait and the associated item, is stored separately. The position field represents the index of the associated item qualified with this Self type.

    @@ -18,10 +18,20 @@ item qualified with this Self type.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §lt_token: Lt§ty: Box<Type>§position: usize§as_token: Option<As>§gt_token: Gt

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §lt_token: Lt§ty: Box<Type>§position: usize§as_token: Option<As>§gt_token: Gt

    Trait Implementations§

    source§

    impl Clone for QSelf

    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 Debug for QSelf

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for QSelf

    source§

    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
    source§

    impl PartialEq<QSelf> for QSelf

    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.
    source§

    impl Eq for QSelf

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for QSelf

    §

    impl !Send for QSelf

    §

    impl !Sync for QSelf

    §

    impl Unpin for QSelf

    §

    impl UnwindSafe for QSelf

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TraitBound.html b/syn/struct.TraitBound.html index 04c66e0..2fbf692 100644 --- a/syn/struct.TraitBound.html +++ b/syn/struct.TraitBound.html @@ -1,18 +1,30 @@ -TraitBound in syn - Rust

    Struct syn::TraitBound

    source ·
    pub struct TraitBound {
    -    pub paren_token: Option<Paren>,
    +TraitBound in syn - Rust

    Struct syn::TraitBound

    source ·
    pub struct TraitBound {
    +    pub paren_token: Option<Paren>,
         pub modifier: TraitBoundModifier,
    -    pub lifetimes: Option<BoundLifetimes>,
    +    pub lifetimes: Option<BoundLifetimes>,
         pub path: Path,
    -}
    Expand description

    A trait used as a bound on a type parameter.

    +}
    Expand description

    A trait used as a bound on a type parameter.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §paren_token: Option<Paren>§modifier: TraitBoundModifier§lifetimes: Option<BoundLifetimes>

    The for<'a> in for<'a> Foo<&'a T>

    +

    Fields§

    §paren_token: Option<Paren>§modifier: TraitBoundModifier§lifetimes: Option<BoundLifetimes>

    The for<'a> in for<'a> Foo<&'a T>

    §path: Path

    The Foo<&'a T> in for<'a> Foo<&'a T>

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for TraitBound

    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 Debug for TraitBound

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TraitBound> for TypeParamBound

    source§

    fn from(e: TraitBound) -> TypeParamBound

    Converts to this type from the input type.
    source§

    impl Hash for TraitBound

    source§

    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
    source§

    impl Parse for TraitBound

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TraitBound> for TraitBound

    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.
    source§

    impl ToTokens for TraitBound

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TraitBound

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Turbofish.html b/syn/struct.Turbofish.html index 5e26342..a7ed2fb 100644 --- a/syn/struct.Turbofish.html +++ b/syn/struct.Turbofish.html @@ -1,11 +1,22 @@ -Turbofish in syn - Rust

    Struct syn::Turbofish

    source ·
    pub struct Turbofish<'a>(_);
    Expand description

    Returned by TypeGenerics::as_turbofish.

    +Turbofish in syn - Rust

    Struct syn::Turbofish

    source ·
    pub struct Turbofish<'a>(/* private fields */);
    Expand description

    Returned by TypeGenerics::as_turbofish.

    This type is available only if Syn is built with the "derive" or "full" feature and the "printing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for Turbofish<'a>

    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<'a> Debug for Turbofish<'a>

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for Turbofish<'a>

    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<'a> PartialEq<Turbofish<'a>> for Turbofish<'a>

    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.
    source§

    impl<'a> ToTokens for Turbofish<'a>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl<'a> Eq for Turbofish<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Turbofish<'a>

    §

    impl<'a> !Send for Turbofish<'a>

    §

    impl<'a> !Sync for Turbofish<'a>

    §

    impl<'a> Unpin for Turbofish<'a>

    §

    impl<'a> UnwindSafe for Turbofish<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeArray.html b/syn/struct.TypeArray.html index bb39ea8..c9bedc5 100644 --- a/syn/struct.TypeArray.html +++ b/syn/struct.TypeArray.html @@ -1,16 +1,28 @@ -TypeArray in syn - Rust

    Struct syn::TypeArray

    source ·
    pub struct TypeArray {
    +TypeArray in syn - Rust

    Struct syn::TypeArray

    source ·
    pub struct TypeArray {
         pub bracket_token: Bracket,
    -    pub elem: Box<Type>,
    +    pub elem: Box<Type>,
         pub semi_token: Semi,
         pub len: Expr,
    -}
    Expand description

    A fixed size array type: [T; n].

    +}
    Expand description

    A fixed size array type: [T; n].

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §bracket_token: Bracket§elem: Box<Type>§semi_token: Semi§len: Expr

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §bracket_token: Bracket§elem: Box<Type>§semi_token: Semi§len: Expr

    Trait Implementations§

    source§

    impl Clone for TypeArray

    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 Debug for TypeArray

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeArray> for Type

    source§

    fn from(e: TypeArray) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeArray

    source§

    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
    source§

    impl Parse for TypeArray

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeArray> for TypeArray

    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.
    source§

    impl ToTokens for TypeArray

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeArray

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeBareFn.html b/syn/struct.TypeBareFn.html index 380fa85..b74d60b 100644 --- a/syn/struct.TypeBareFn.html +++ b/syn/struct.TypeBareFn.html @@ -1,20 +1,32 @@ -TypeBareFn in syn - Rust

    Struct syn::TypeBareFn

    source ·
    pub struct TypeBareFn {
    -    pub lifetimes: Option<BoundLifetimes>,
    -    pub unsafety: Option<Unsafe>,
    -    pub abi: Option<Abi>,
    +TypeBareFn in syn - Rust

    Struct syn::TypeBareFn

    source ·
    pub struct TypeBareFn {
    +    pub lifetimes: Option<BoundLifetimes>,
    +    pub unsafety: Option<Unsafe>,
    +    pub abi: Option<Abi>,
         pub fn_token: Fn,
         pub paren_token: Paren,
         pub inputs: Punctuated<BareFnArg, Comma>,
    -    pub variadic: Option<Variadic>,
    +    pub variadic: Option<Variadic>,
         pub output: ReturnType,
    -}
    Expand description

    A bare function type: fn(usize) -> bool.

    +}
    Expand description

    A bare function type: fn(usize) -> bool.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §lifetimes: Option<BoundLifetimes>§unsafety: Option<Unsafe>§abi: Option<Abi>§fn_token: Fn§paren_token: Paren§inputs: Punctuated<BareFnArg, Comma>§variadic: Option<Variadic>§output: ReturnType

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §lifetimes: Option<BoundLifetimes>§unsafety: Option<Unsafe>§abi: Option<Abi>§fn_token: Fn§paren_token: Paren§inputs: Punctuated<BareFnArg, Comma>§variadic: Option<Variadic>§output: ReturnType

    Trait Implementations§

    source§

    impl Clone for TypeBareFn

    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 Debug for TypeBareFn

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeBareFn> for Type

    source§

    fn from(e: TypeBareFn) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeBareFn

    source§

    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
    source§

    impl Parse for TypeBareFn

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeBareFn> for TypeBareFn

    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.
    source§

    impl ToTokens for TypeBareFn

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeBareFn

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeGenerics.html b/syn/struct.TypeGenerics.html index 0b72ab7..d3e65bc 100644 --- a/syn/struct.TypeGenerics.html +++ b/syn/struct.TypeGenerics.html @@ -1,14 +1,25 @@ -TypeGenerics in syn - Rust

    Struct syn::TypeGenerics

    source ·
    pub struct TypeGenerics<'a>(_);
    Expand description

    Returned by Generics::split_for_impl.

    +TypeGenerics in syn - Rust

    Struct syn::TypeGenerics

    source ·
    pub struct TypeGenerics<'a>(/* private fields */);
    Expand description

    Returned by Generics::split_for_impl.

    This type is available only if Syn is built with the "derive" or "full" feature and the "printing" feature.

    -

    Implementations§

    Turn a type’s generics like <X, Y> into a turbofish like ::<X, Y>.

    +

    Implementations§

    source§

    impl<'a> TypeGenerics<'a>

    source

    pub fn as_turbofish(&self) -> Turbofish<'_>

    Turn a type’s generics like <X, Y> into a turbofish like ::<X, Y>.

    This method is available only if Syn is built with the "derive" or "full" feature and the "printing" feature.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for TypeGenerics<'a>

    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<'a> Debug for TypeGenerics<'a>

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for TypeGenerics<'a>

    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<'a> PartialEq<TypeGenerics<'a>> for TypeGenerics<'a>

    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.
    source§

    impl<'a> ToTokens for TypeGenerics<'a>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl<'a> Eq for TypeGenerics<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for TypeGenerics<'a>

    §

    impl<'a> !Send for TypeGenerics<'a>

    §

    impl<'a> !Sync for TypeGenerics<'a>

    §

    impl<'a> Unpin for TypeGenerics<'a>

    §

    impl<'a> UnwindSafe for TypeGenerics<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeGroup.html b/syn/struct.TypeGroup.html index 32ba7f2..703a33b 100644 --- a/syn/struct.TypeGroup.html +++ b/syn/struct.TypeGroup.html @@ -1,14 +1,26 @@ -TypeGroup in syn - Rust

    Struct syn::TypeGroup

    source ·
    pub struct TypeGroup {
    +TypeGroup in syn - Rust

    Struct syn::TypeGroup

    source ·
    pub struct TypeGroup {
         pub group_token: Group,
    -    pub elem: Box<Type>,
    -}
    Expand description

    A type contained within invisible delimiters.

    + pub elem: Box<Type>, +}
    Expand description

    A type contained within invisible delimiters.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §group_token: Group§elem: Box<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §group_token: Group§elem: Box<Type>

    Trait Implementations§

    source§

    impl Clone for TypeGroup

    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 Debug for TypeGroup

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeGroup> for Type

    source§

    fn from(e: TypeGroup) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeGroup

    source§

    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
    source§

    impl Parse for TypeGroup

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeGroup> for TypeGroup

    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.
    source§

    impl ToTokens for TypeGroup

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeGroup

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeImplTrait.html b/syn/struct.TypeImplTrait.html index 9c1b2d9..5450fa6 100644 --- a/syn/struct.TypeImplTrait.html +++ b/syn/struct.TypeImplTrait.html @@ -1,15 +1,27 @@ -TypeImplTrait in syn - Rust

    Struct syn::TypeImplTrait

    source ·
    pub struct TypeImplTrait {
    +TypeImplTrait in syn - Rust

    Struct syn::TypeImplTrait

    source ·
    pub struct TypeImplTrait {
         pub impl_token: Impl,
         pub bounds: Punctuated<TypeParamBound, Add>,
    -}
    Expand description

    An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or +}

    Expand description

    An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or a lifetime.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §impl_token: Impl§bounds: Punctuated<TypeParamBound, Add>

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §impl_token: Impl§bounds: Punctuated<TypeParamBound, Add>

    Implementations§

    Trait Implementations§

    source§

    impl Clone for TypeImplTrait

    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 Debug for TypeImplTrait

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeImplTrait> for Type

    source§

    fn from(e: TypeImplTrait) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeImplTrait

    source§

    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
    source§

    impl Parse for TypeImplTrait

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeImplTrait> for TypeImplTrait

    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.
    source§

    impl ToTokens for TypeImplTrait

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeImplTrait

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeInfer.html b/syn/struct.TypeInfer.html index 5cf7b68..0e56842 100644 --- a/syn/struct.TypeInfer.html +++ b/syn/struct.TypeInfer.html @@ -1,13 +1,25 @@ -TypeInfer in syn - Rust

    Struct syn::TypeInfer

    source ·
    pub struct TypeInfer {
    +TypeInfer in syn - Rust

    Struct syn::TypeInfer

    source ·
    pub struct TypeInfer {
         pub underscore_token: Underscore,
    -}
    Expand description

    Indication that a type should be inferred by the compiler: _.

    +}
    Expand description

    Indication that a type should be inferred by the compiler: _.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §underscore_token: Underscore

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §underscore_token: Underscore

    Trait Implementations§

    source§

    impl Clone for TypeInfer

    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 Debug for TypeInfer

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeInfer> for Type

    source§

    fn from(e: TypeInfer) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeInfer

    source§

    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
    source§

    impl Parse for TypeInfer

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeInfer> for TypeInfer

    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.
    source§

    impl ToTokens for TypeInfer

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeInfer

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeMacro.html b/syn/struct.TypeMacro.html index 64fa597..38dca30 100644 --- a/syn/struct.TypeMacro.html +++ b/syn/struct.TypeMacro.html @@ -1,13 +1,25 @@ -TypeMacro in syn - Rust

    Struct syn::TypeMacro

    source ·
    pub struct TypeMacro {
    +TypeMacro in syn - Rust

    Struct syn::TypeMacro

    source ·
    pub struct TypeMacro {
         pub mac: Macro,
    -}
    Expand description

    A macro in the type position.

    +}
    Expand description

    A macro in the type position.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §mac: Macro

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §mac: Macro

    Trait Implementations§

    source§

    impl Clone for TypeMacro

    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 Debug for TypeMacro

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeMacro> for Type

    source§

    fn from(e: TypeMacro) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeMacro

    source§

    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
    source§

    impl Parse for TypeMacro

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeMacro> for TypeMacro

    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.
    source§

    impl ToTokens for TypeMacro

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeMacro

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeNever.html b/syn/struct.TypeNever.html index 714f789..a61c29a 100644 --- a/syn/struct.TypeNever.html +++ b/syn/struct.TypeNever.html @@ -1,13 +1,25 @@ -TypeNever in syn - Rust

    Struct syn::TypeNever

    source ·
    pub struct TypeNever {
    +TypeNever in syn - Rust

    Struct syn::TypeNever

    source ·
    pub struct TypeNever {
         pub bang_token: Bang,
    -}
    Expand description

    The never type: !.

    +}
    Expand description

    The never type: !.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §bang_token: Bang

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §bang_token: Bang

    Trait Implementations§

    source§

    impl Clone for TypeNever

    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 Debug for TypeNever

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeNever> for Type

    source§

    fn from(e: TypeNever) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeNever

    source§

    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
    source§

    impl Parse for TypeNever

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeNever> for TypeNever

    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.
    source§

    impl ToTokens for TypeNever

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeNever

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeParam.html b/syn/struct.TypeParam.html index bcea7d2..a44b58f 100644 --- a/syn/struct.TypeParam.html +++ b/syn/struct.TypeParam.html @@ -1,18 +1,30 @@ -TypeParam in syn - Rust

    Struct syn::TypeParam

    source ·
    pub struct TypeParam {
    -    pub attrs: Vec<Attribute>,
    +TypeParam in syn - Rust

    Struct syn::TypeParam

    source ·
    pub struct TypeParam {
    +    pub attrs: Vec<Attribute>,
         pub ident: Ident,
    -    pub colon_token: Option<Colon>,
    +    pub colon_token: Option<Colon>,
         pub bounds: Punctuated<TypeParamBound, Add>,
    -    pub eq_token: Option<Eq>,
    -    pub default: Option<Type>,
    -}
    Expand description

    A generic type parameter: T: Into<String>.

    + pub eq_token: Option<Eq>, + pub default: Option<Type>, +}
    Expand description

    A generic type parameter: T: Into<String>.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§ident: Ident§colon_token: Option<Colon>§bounds: Punctuated<TypeParamBound, Add>§eq_token: Option<Eq>§default: Option<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§ident: Ident§colon_token: Option<Colon>§bounds: Punctuated<TypeParamBound, Add>§eq_token: Option<Eq>§default: Option<Type>

    Trait Implementations§

    source§

    impl Clone for TypeParam

    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 Debug for TypeParam

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<Ident> for TypeParam

    source§

    fn from(ident: Ident) -> Self

    Converts to this type from the input type.
    source§

    impl From<TypeParam> for GenericParam

    source§

    fn from(e: TypeParam) -> GenericParam

    Converts to this type from the input type.
    source§

    impl Hash for TypeParam

    source§

    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
    source§

    impl Parse for TypeParam

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeParam> for TypeParam

    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.
    source§

    impl ToTokens for TypeParam

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeParam

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeParen.html b/syn/struct.TypeParen.html index 36e0d62..f641b3b 100644 --- a/syn/struct.TypeParen.html +++ b/syn/struct.TypeParen.html @@ -1,14 +1,26 @@ -TypeParen in syn - Rust

    Struct syn::TypeParen

    source ·
    pub struct TypeParen {
    +TypeParen in syn - Rust

    Struct syn::TypeParen

    source ·
    pub struct TypeParen {
         pub paren_token: Paren,
    -    pub elem: Box<Type>,
    -}
    Expand description

    A parenthesized type equivalent to the inner type.

    + pub elem: Box<Type>, +}
    Expand description

    A parenthesized type equivalent to the inner type.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §paren_token: Paren§elem: Box<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §paren_token: Paren§elem: Box<Type>

    Trait Implementations§

    source§

    impl Clone for TypeParen

    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 Debug for TypeParen

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeParen> for Type

    source§

    fn from(e: TypeParen) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeParen

    source§

    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
    source§

    impl Parse for TypeParen

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeParen> for TypeParen

    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.
    source§

    impl ToTokens for TypeParen

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeParen

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypePath.html b/syn/struct.TypePath.html index ce317e0..dfb77db 100644 --- a/syn/struct.TypePath.html +++ b/syn/struct.TypePath.html @@ -1,15 +1,27 @@ -TypePath in syn - Rust

    Struct syn::TypePath

    source ·
    pub struct TypePath {
    -    pub qself: Option<QSelf>,
    +TypePath in syn - Rust

    Struct syn::TypePath

    source ·
    pub struct TypePath {
    +    pub qself: Option<QSelf>,
         pub path: Path,
    -}
    Expand description

    A path like std::slice::Iter, optionally qualified with a +}

    Expand description

    A path like std::slice::Iter, optionally qualified with a self-type as in <Vec<T> as SomeTrait>::Associated.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §qself: Option<QSelf>§path: Path

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §qself: Option<QSelf>§path: Path

    Trait Implementations§

    source§

    impl Clone for TypePath

    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 Debug for TypePath

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypePath> for Type

    source§

    fn from(e: TypePath) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypePath

    source§

    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
    source§

    impl Parse for TypePath

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypePath> for TypePath

    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.
    source§

    impl ToTokens for TypePath

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypePath

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypePtr.html b/syn/struct.TypePtr.html index 5ab23f3..472a509 100644 --- a/syn/struct.TypePtr.html +++ b/syn/struct.TypePtr.html @@ -1,16 +1,28 @@ -TypePtr in syn - Rust

    Struct syn::TypePtr

    source ·
    pub struct TypePtr {
    +TypePtr in syn - Rust

    Struct syn::TypePtr

    source ·
    pub struct TypePtr {
         pub star_token: Star,
    -    pub const_token: Option<Const>,
    -    pub mutability: Option<Mut>,
    -    pub elem: Box<Type>,
    -}
    Expand description

    A raw pointer type: *const T or *mut T.

    + pub const_token: Option<Const>, + pub mutability: Option<Mut>, + pub elem: Box<Type>, +}
    Expand description

    A raw pointer type: *const T or *mut T.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §star_token: Star§const_token: Option<Const>§mutability: Option<Mut>§elem: Box<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §star_token: Star§const_token: Option<Const>§mutability: Option<Mut>§elem: Box<Type>

    Trait Implementations§

    source§

    impl Clone for TypePtr

    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 Debug for TypePtr

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypePtr> for Type

    source§

    fn from(e: TypePtr) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypePtr

    source§

    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
    source§

    impl Parse for TypePtr

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypePtr> for TypePtr

    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.
    source§

    impl ToTokens for TypePtr

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypePtr

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeReference.html b/syn/struct.TypeReference.html index 378bb37..ec9fa90 100644 --- a/syn/struct.TypeReference.html +++ b/syn/struct.TypeReference.html @@ -1,16 +1,28 @@ -TypeReference in syn - Rust

    Struct syn::TypeReference

    source ·
    pub struct TypeReference {
    +TypeReference in syn - Rust

    Struct syn::TypeReference

    source ·
    pub struct TypeReference {
         pub and_token: And,
    -    pub lifetime: Option<Lifetime>,
    -    pub mutability: Option<Mut>,
    -    pub elem: Box<Type>,
    -}
    Expand description

    A reference type: &'a T or &'a mut T.

    + pub lifetime: Option<Lifetime>, + pub mutability: Option<Mut>, + pub elem: Box<Type>, +}
    Expand description

    A reference type: &'a T or &'a mut T.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §and_token: And§lifetime: Option<Lifetime>§mutability: Option<Mut>§elem: Box<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §and_token: And§lifetime: Option<Lifetime>§mutability: Option<Mut>§elem: Box<Type>

    Trait Implementations§

    source§

    impl Clone for TypeReference

    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 Debug for TypeReference

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeReference> for Type

    source§

    fn from(e: TypeReference) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeReference

    source§

    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
    source§

    impl Parse for TypeReference

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeReference> for TypeReference

    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.
    source§

    impl ToTokens for TypeReference

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeReference

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeSlice.html b/syn/struct.TypeSlice.html index e7a1a2f..dc630aa 100644 --- a/syn/struct.TypeSlice.html +++ b/syn/struct.TypeSlice.html @@ -1,14 +1,26 @@ -TypeSlice in syn - Rust

    Struct syn::TypeSlice

    source ·
    pub struct TypeSlice {
    +TypeSlice in syn - Rust

    Struct syn::TypeSlice

    source ·
    pub struct TypeSlice {
         pub bracket_token: Bracket,
    -    pub elem: Box<Type>,
    -}
    Expand description

    A dynamically sized slice type: [T].

    + pub elem: Box<Type>, +}
    Expand description

    A dynamically sized slice type: [T].

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §bracket_token: Bracket§elem: Box<Type>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §bracket_token: Bracket§elem: Box<Type>

    Trait Implementations§

    source§

    impl Clone for TypeSlice

    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 Debug for TypeSlice

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeSlice> for Type

    source§

    fn from(e: TypeSlice) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeSlice

    source§

    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
    source§

    impl Parse for TypeSlice

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeSlice> for TypeSlice

    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.
    source§

    impl ToTokens for TypeSlice

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeSlice

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeTraitObject.html b/syn/struct.TypeTraitObject.html index 8fcf5f3..a569441 100644 --- a/syn/struct.TypeTraitObject.html +++ b/syn/struct.TypeTraitObject.html @@ -1,15 +1,27 @@ -TypeTraitObject in syn - Rust

    Struct syn::TypeTraitObject

    source ·
    pub struct TypeTraitObject {
    -    pub dyn_token: Option<Dyn>,
    +TypeTraitObject in syn - Rust

    Struct syn::TypeTraitObject

    source ·
    pub struct TypeTraitObject {
    +    pub dyn_token: Option<Dyn>,
         pub bounds: Punctuated<TypeParamBound, Add>,
    -}
    Expand description

    A trait object type dyn Bound1 + Bound2 + Bound3 where Bound is a +}

    Expand description

    A trait object type dyn Bound1 + Bound2 + Bound3 where Bound is a trait or a lifetime.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §dyn_token: Option<Dyn>§bounds: Punctuated<TypeParamBound, Add>

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §dyn_token: Option<Dyn>§bounds: Punctuated<TypeParamBound, Add>

    Implementations§

    Trait Implementations§

    source§

    impl Clone for TypeTraitObject

    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 Debug for TypeTraitObject

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeTraitObject> for Type

    source§

    fn from(e: TypeTraitObject) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeTraitObject

    source§

    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
    source§

    impl Parse for TypeTraitObject

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeTraitObject> for TypeTraitObject

    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.
    source§

    impl ToTokens for TypeTraitObject

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeTraitObject

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.TypeTuple.html b/syn/struct.TypeTuple.html index 23b7d79..b789c08 100644 --- a/syn/struct.TypeTuple.html +++ b/syn/struct.TypeTuple.html @@ -1,14 +1,26 @@ -TypeTuple in syn - Rust

    Struct syn::TypeTuple

    source ·
    pub struct TypeTuple {
    +TypeTuple in syn - Rust

    Struct syn::TypeTuple

    source ·
    pub struct TypeTuple {
         pub paren_token: Paren,
         pub elems: Punctuated<Type, Comma>,
    -}
    Expand description

    A tuple type: (A, B, C, String).

    +}
    Expand description

    A tuple type: (A, B, C, String).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §paren_token: Paren§elems: Punctuated<Type, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §paren_token: Paren§elems: Punctuated<Type, Comma>

    Trait Implementations§

    source§

    impl Clone for TypeTuple

    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 Debug for TypeTuple

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<TypeTuple> for Type

    source§

    fn from(e: TypeTuple) -> Type

    Converts to this type from the input type.
    source§

    impl Hash for TypeTuple

    source§

    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
    source§

    impl Parse for TypeTuple

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<TypeTuple> for TypeTuple

    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.
    source§

    impl ToTokens for TypeTuple

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for TypeTuple

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Variadic.html b/syn/struct.Variadic.html index d89c10b..7fffcce 100644 --- a/syn/struct.Variadic.html +++ b/syn/struct.Variadic.html @@ -1,7 +1,7 @@ -Variadic in syn - Rust

    Struct syn::Variadic

    source ·
    pub struct Variadic {
    -    pub attrs: Vec<Attribute>,
    +Variadic in syn - Rust

    Struct syn::Variadic

    source ·
    pub struct Variadic {
    +    pub attrs: Vec<Attribute>,
         pub dots: Dot3,
    -}
    Expand description

    The variadic argument of a foreign function.

    +}
    Expand description

    The variadic argument of a foreign function.

    extern "C" {
         fn printf(format: *const c_char, ...) -> c_int;
    @@ -9,11 +9,23 @@
     }

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>§dots: Dot3

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: Vec<Attribute>§dots: Dot3

    Trait Implementations§

    source§

    impl Clone for Variadic

    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 Debug for Variadic

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Variadic

    source§

    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
    source§

    impl PartialEq<Variadic> for Variadic

    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.
    source§

    impl ToTokens for Variadic

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Variadic

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.Variant.html b/syn/struct.Variant.html index f09c79d..fb0e9ee 100644 --- a/syn/struct.Variant.html +++ b/syn/struct.Variant.html @@ -1,20 +1,32 @@ -Variant in syn - Rust

    Struct syn::Variant

    source ·
    pub struct Variant {
    -    pub attrs: Vec<Attribute>,
    +Variant in syn - Rust

    Struct syn::Variant

    source ·
    pub struct Variant {
    +    pub attrs: Vec<Attribute>,
         pub ident: Ident,
         pub fields: Fields,
    -    pub discriminant: Option<(Eq, Expr)>,
    -}
    Expand description

    An enum variant.

    + pub discriminant: Option<(Eq, Expr)>, +}
    Expand description

    An enum variant.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §attrs: Vec<Attribute>

    Attributes tagged on the variant.

    +

    Fields§

    §attrs: Vec<Attribute>

    Attributes tagged on the variant.

    §ident: Ident

    Name of the variant.

    §fields: Fields

    Content stored in the variant.

    -
    §discriminant: Option<(Eq, Expr)>

    Explicit discriminant: Variant = 1

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +
    §discriminant: Option<(Eq, Expr)>

    Explicit discriminant: Variant = 1

    +

    Trait Implementations§

    source§

    impl Clone for Variant

    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 Debug for Variant

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for Variant

    source§

    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
    source§

    impl Parse for Variant

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Variant> for Variant

    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.
    source§

    impl ToTokens for Variant

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for Variant

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.VisCrate.html b/syn/struct.VisCrate.html index 8cdbb61..7ecb679 100644 --- a/syn/struct.VisCrate.html +++ b/syn/struct.VisCrate.html @@ -1,13 +1,25 @@ -VisCrate in syn - Rust

    Struct syn::VisCrate

    source ·
    pub struct VisCrate {
    +VisCrate in syn - Rust

    Struct syn::VisCrate

    source ·
    pub struct VisCrate {
         pub crate_token: Crate,
    -}
    Expand description

    A crate-level visibility: crate.

    +}
    Expand description

    A crate-level visibility: crate.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §crate_token: Crate

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §crate_token: Crate

    Trait Implementations§

    source§

    impl Clone for VisCrate

    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 Debug for VisCrate

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<VisCrate> for Visibility

    source§

    fn from(e: VisCrate) -> Visibility

    Converts to this type from the input type.
    source§

    impl Hash for VisCrate

    source§

    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
    source§

    impl PartialEq<VisCrate> for VisCrate

    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.
    source§

    impl ToTokens for VisCrate

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for VisCrate

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.VisPublic.html b/syn/struct.VisPublic.html index 8e806fa..e7d0c85 100644 --- a/syn/struct.VisPublic.html +++ b/syn/struct.VisPublic.html @@ -1,13 +1,25 @@ -VisPublic in syn - Rust

    Struct syn::VisPublic

    source ·
    pub struct VisPublic {
    +VisPublic in syn - Rust

    Struct syn::VisPublic

    source ·
    pub struct VisPublic {
         pub pub_token: Pub,
    -}
    Expand description

    A public visibility level: pub.

    +}
    Expand description

    A public visibility level: pub.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §pub_token: Pub

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §pub_token: Pub

    Trait Implementations§

    source§

    impl Clone for VisPublic

    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 Debug for VisPublic

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<VisPublic> for Visibility

    source§

    fn from(e: VisPublic) -> Visibility

    Converts to this type from the input type.
    source§

    impl Hash for VisPublic

    source§

    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
    source§

    impl PartialEq<VisPublic> for VisPublic

    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.
    source§

    impl ToTokens for VisPublic

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for VisPublic

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.VisRestricted.html b/syn/struct.VisRestricted.html index 4d13f6b..19633e4 100644 --- a/syn/struct.VisRestricted.html +++ b/syn/struct.VisRestricted.html @@ -1,17 +1,29 @@ -VisRestricted in syn - Rust

    Struct syn::VisRestricted

    source ·
    pub struct VisRestricted {
    +VisRestricted in syn - Rust

    Struct syn::VisRestricted

    source ·
    pub struct VisRestricted {
         pub pub_token: Pub,
         pub paren_token: Paren,
    -    pub in_token: Option<In>,
    -    pub path: Box<Path>,
    -}
    Expand description

    A visibility level restricted to some path: pub(self) or + pub in_token: Option<In>, + pub path: Box<Path>, +}

    Expand description

    A visibility level restricted to some path: pub(self) or pub(super) or pub(crate) or pub(in some::module).

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §pub_token: Pub§paren_token: Paren§in_token: Option<In>§path: Box<Path>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §pub_token: Pub§paren_token: Paren§in_token: Option<In>§path: Box<Path>

    Trait Implementations§

    source§

    impl Clone for VisRestricted

    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 Debug for VisRestricted

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<VisRestricted> for Visibility

    source§

    fn from(e: VisRestricted) -> Visibility

    Converts to this type from the input type.
    source§

    impl Hash for VisRestricted

    source§

    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
    source§

    impl PartialEq<VisRestricted> for VisRestricted

    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.
    source§

    impl ToTokens for VisRestricted

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for VisRestricted

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/struct.WhereClause.html b/syn/struct.WhereClause.html index 89d2c4d..5680886 100644 --- a/syn/struct.WhereClause.html +++ b/syn/struct.WhereClause.html @@ -1,14 +1,26 @@ -WhereClause in syn - Rust

    Struct syn::WhereClause

    source ·
    pub struct WhereClause {
    +WhereClause in syn - Rust

    Struct syn::WhereClause

    source ·
    pub struct WhereClause {
         pub where_token: Where,
         pub predicates: Punctuated<WherePredicate, Comma>,
    -}
    Expand description

    A where clause in a definition: where T: Deserialize<'de>, D: 'static.

    +}
    Expand description

    A where clause in a definition: where T: Deserialize<'de>, D: 'static.

    This type is available only if Syn is built with the "derive" or "full" feature.

    -

    Fields§

    §where_token: Where§predicates: Punctuated<WherePredicate, Comma>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §where_token: Where§predicates: Punctuated<WherePredicate, Comma>

    Trait Implementations§

    source§

    impl Clone for WhereClause

    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 Debug for WhereClause

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for WhereClause

    source§

    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
    source§

    impl Parse for WhereClause

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<WhereClause> for WhereClause

    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.
    source§

    impl ToTokens for WhereClause

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Eq for WhereClause

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/index.html b/syn/token/index.html index b72a1b8..f58f2f0 100644 --- a/syn/token/index.html +++ b/syn/token/index.html @@ -1,6 +1,6 @@ -syn::token - Rust

    Module syn::token

    source ·
    Expand description

    Tokens representing Rust punctuation, keywords, and delimiters.

    +syn::token - Rust

    Module syn::token

    source ·
    Expand description

    Tokens representing Rust punctuation, keywords, and delimiters.

    The type names in this module can be difficult to keep straight, so we -prefer to use the Token! macro instead. This is a type-macro that +prefer to use the Token! macro instead. This is a type-macro that expands to the token type of the given token.

    Example

    The ItemStatic syntax tree node is defined like this.

    @@ -18,9 +18,9 @@ expands to the token type of the given token.

    pub semi_token: Token![;], }

    Parsing

    -

    Keywords and punctuation can be parsed through the ParseStream::parse -method. Delimiter tokens are parsed using the parenthesized!, -bracketed! and braced! macros.

    +

    Keywords and punctuation can be parsed through the ParseStream::parse +method. Delimiter tokens are parsed using the parenthesized!, +bracketed! and braced! macros.

    use syn::{Attribute, Result};
     use syn::parse::{Parse, ParseStream};
    @@ -46,10 +46,10 @@ method. Delimiter tokens are parsed using the Peekinginput.peek(Token![...])

    +

    Peekinginput.peek(Token![...])

  • -

    Parsinginput.parse::<Token![...]>()?

    +

    Parsinginput.parse::<Token![...]>()?

  • Printingquote!( ... #the_token ... )

    @@ -61,4 +61,4 @@ method. Delimiter tokens are parsed using the Structs
    abstract
    as
    async
    auto
    await
    become
    box
    {...}
    [...]
    break
    const
    continue
    crate
    default
    do
    ...
    dyn
    else
    enum
    extern
    final
    fn
    for
    >=
    None-delimited group
    if
    impl
    in
    <=
    let
    loop
    macro
    match
    mod
    move
    mut
    !=
    override
    (...)
    priv
    pub
    ref
    return
    <<
    >>
    static
    struct
    super
    trait
    try
    type
    typeof
    union
    unsafe
    unsized
    use
    virtual
    where
    while
    yield

    Traits

    Marker trait for types that represent single tokens.
  • \ No newline at end of file +

    Structs

    Traits

    • Marker trait for types that represent single tokens.
    \ No newline at end of file diff --git a/syn/token/sidebar-items.js b/syn/token/sidebar-items.js index 93224c2..0f01ab7 100644 --- a/syn/token/sidebar-items.js +++ b/syn/token/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":[["Abstract","`abstract`"],["Add","`+`"],["AddEq","`+=`"],["And","`&`"],["AndAnd","`&&`"],["AndEq","`&=`"],["As","`as`"],["Async","`async`"],["At","`@`"],["Auto","`auto`"],["Await","`await`"],["Bang","`!`"],["Become","`become`"],["Box","`box`"],["Brace","`{...}`"],["Bracket","`[...]`"],["Break","`break`"],["Caret","`^`"],["CaretEq","`^=`"],["Colon","`:`"],["Colon2","`::`"],["Comma","`,`"],["Const","`const`"],["Continue","`continue`"],["Crate","`crate`"],["Default","`default`"],["Div","`/`"],["DivEq","`/=`"],["Do","`do`"],["Dollar","`$`"],["Dot","`.`"],["Dot2","`..`"],["Dot3","`...`"],["DotDotEq","`..=`"],["Dyn","`dyn`"],["Else","`else`"],["Enum","`enum`"],["Eq","`=`"],["EqEq","`==`"],["Extern","`extern`"],["FatArrow","`=>`"],["Final","`final`"],["Fn","`fn`"],["For","`for`"],["Ge","`>=`"],["Group","None-delimited group"],["Gt","`>`"],["If","`if`"],["Impl","`impl`"],["In","`in`"],["LArrow","`<-`"],["Le","`<=`"],["Let","`let`"],["Loop","`loop`"],["Lt","`<`"],["Macro","`macro`"],["Match","`match`"],["Mod","`mod`"],["Move","`move`"],["MulEq","`*=`"],["Mut","`mut`"],["Ne","`!=`"],["Or","`|`"],["OrEq","`|=`"],["OrOr","`||`"],["Override","`override`"],["Paren","`(...)`"],["Pound","`#`"],["Priv","`priv`"],["Pub","`pub`"],["Question","`?`"],["RArrow","`->`"],["Ref","`ref`"],["Rem","`%`"],["RemEq","`%=`"],["Return","`return`"],["SelfType","`Self`"],["SelfValue","`self`"],["Semi","`;`"],["Shl","`<<`"],["ShlEq","`<<=`"],["Shr","`>>`"],["ShrEq","`>>=`"],["Star","`*`"],["Static","`static`"],["Struct","`struct`"],["Sub","`-`"],["SubEq","`-=`"],["Super","`super`"],["Tilde","`~`"],["Trait","`trait`"],["Try","`try`"],["Type","`type`"],["Typeof","`typeof`"],["Underscore","`_`"],["Union","`union`"],["Unsafe","`unsafe`"],["Unsized","`unsized`"],["Use","`use`"],["Virtual","`virtual`"],["Where","`where`"],["While","`while`"],["Yield","`yield`"]],"trait":[["Token","Marker trait for types that represent single tokens."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["Abstract","Add","AddEq","And","AndAnd","AndEq","As","Async","At","Auto","Await","Bang","Become","Box","Brace","Bracket","Break","Caret","CaretEq","Colon","Colon2","Comma","Const","Continue","Crate","Default","Div","DivEq","Do","Dollar","Dot","Dot2","Dot3","DotDotEq","Dyn","Else","Enum","Eq","EqEq","Extern","FatArrow","Final","Fn","For","Ge","Group","Gt","If","Impl","In","LArrow","Le","Let","Loop","Lt","Macro","Match","Mod","Move","MulEq","Mut","Ne","Or","OrEq","OrOr","Override","Paren","Pound","Priv","Pub","Question","RArrow","Ref","Rem","RemEq","Return","SelfType","SelfValue","Semi","Shl","ShlEq","Shr","ShrEq","Star","Static","Struct","Sub","SubEq","Super","Tilde","Trait","Try","Type","Typeof","Underscore","Union","Unsafe","Unsized","Use","Virtual","Where","While","Yield"],"trait":["Token"]}; \ No newline at end of file diff --git a/syn/token/struct.Abstract.html b/syn/token/struct.Abstract.html index c4257d1..5f53f20 100644 --- a/syn/token/struct.Abstract.html +++ b/syn/token/struct.Abstract.html @@ -1,13 +1,24 @@ -Abstract in syn::token - Rust

    Struct syn::token::Abstract

    source ·
    pub struct Abstract {
    +Abstract in syn::token - Rust

    Struct syn::token::Abstract

    source ·
    pub struct Abstract {
         pub span: Span,
    -}
    Expand description

    abstract

    +}
    Expand description

    abstract

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Abstract

    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 Debug for Abstract

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Abstract

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Abstract

    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 Parse for Abstract

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Abstract> for Abstract

    source§

    fn eq(&self, _other: &Abstract) -> 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 ToTokens for Abstract

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Abstract

    source§

    impl Eq for Abstract

    source§

    impl Token for Abstract

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Add.html b/syn/token/struct.Add.html index 93e9ea4..be82370 100644 --- a/syn/token/struct.Add.html +++ b/syn/token/struct.Add.html @@ -1,13 +1,24 @@ -Add in syn::token - Rust

    Struct syn::token::Add

    source ·
    #[repr(C)]
    pub struct Add { - pub spans: [Span; 1], -}
    Expand description

    +

    +Add in syn::token - Rust

    Struct syn::token::Add

    source ·
    #[repr(C)]
    pub struct Add { + pub spans: [Span; 1], +}
    Expand description

    +

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Add

    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 Debug for Add

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Add

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Add

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Add

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Add

    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 Parse for Add

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Add> for Add

    source§

    fn eq(&self, _other: &Add) -> 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 ToTokens for Add

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Add

    source§

    impl Eq for Add

    source§

    impl Token for Add

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Add

    §

    impl !Send for Add

    §

    impl !Sync for Add

    §

    impl Unpin for Add

    §

    impl UnwindSafe for Add

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.AddEq.html b/syn/token/struct.AddEq.html index 4b5a5ef..149f26c 100644 --- a/syn/token/struct.AddEq.html +++ b/syn/token/struct.AddEq.html @@ -1,13 +1,24 @@ -AddEq in syn::token - Rust

    Struct syn::token::AddEq

    source ·
    #[repr(C)]
    pub struct AddEq { - pub spans: [Span; 2], -}
    Expand description

    +=

    +AddEq in syn::token - Rust

    Struct syn::token::AddEq

    source ·
    #[repr(C)]
    pub struct AddEq { + pub spans: [Span; 2], +}
    Expand description

    +=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for AddEq

    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 Debug for AddEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for AddEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for AddEq

    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 Parse for AddEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<AddEq> for AddEq

    source§

    fn eq(&self, _other: &AddEq) -> 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 ToTokens for AddEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for AddEq

    source§

    impl Eq for AddEq

    source§

    impl Token for AddEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for AddEq

    §

    impl !Send for AddEq

    §

    impl !Sync for AddEq

    §

    impl Unpin for AddEq

    §

    impl UnwindSafe for AddEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.And.html b/syn/token/struct.And.html index f9c3652..e6a7fab 100644 --- a/syn/token/struct.And.html +++ b/syn/token/struct.And.html @@ -1,13 +1,24 @@ -And in syn::token - Rust

    Struct syn::token::And

    source ·
    #[repr(C)]
    pub struct And { - pub spans: [Span; 1], -}
    Expand description

    &

    +And in syn::token - Rust

    Struct syn::token::And

    source ·
    #[repr(C)]
    pub struct And { + pub spans: [Span; 1], +}
    Expand description

    &

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for And

    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 Debug for And

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for And

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for And

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for And

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for And

    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 Parse for And

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<And> for And

    source§

    fn eq(&self, _other: &And) -> 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 ToTokens for And

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for And

    source§

    impl Eq for And

    source§

    impl Token for And

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for And

    §

    impl !Send for And

    §

    impl !Sync for And

    §

    impl Unpin for And

    §

    impl UnwindSafe for And

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.AndAnd.html b/syn/token/struct.AndAnd.html index 9722370..5dcf9d0 100644 --- a/syn/token/struct.AndAnd.html +++ b/syn/token/struct.AndAnd.html @@ -1,13 +1,24 @@ -AndAnd in syn::token - Rust

    Struct syn::token::AndAnd

    source ·
    #[repr(C)]
    pub struct AndAnd { - pub spans: [Span; 2], -}
    Expand description

    &&

    +AndAnd in syn::token - Rust

    Struct syn::token::AndAnd

    source ·
    #[repr(C)]
    pub struct AndAnd { + pub spans: [Span; 2], +}
    Expand description

    &&

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for AndAnd

    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 Debug for AndAnd

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for AndAnd

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for AndAnd

    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 Parse for AndAnd

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<AndAnd> for AndAnd

    source§

    fn eq(&self, _other: &AndAnd) -> 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 ToTokens for AndAnd

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for AndAnd

    source§

    impl Eq for AndAnd

    source§

    impl Token for AndAnd

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for AndAnd

    §

    impl !Send for AndAnd

    §

    impl !Sync for AndAnd

    §

    impl Unpin for AndAnd

    §

    impl UnwindSafe for AndAnd

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.AndEq.html b/syn/token/struct.AndEq.html index 9ae8665..d93608e 100644 --- a/syn/token/struct.AndEq.html +++ b/syn/token/struct.AndEq.html @@ -1,13 +1,24 @@ -AndEq in syn::token - Rust

    Struct syn::token::AndEq

    source ·
    #[repr(C)]
    pub struct AndEq { - pub spans: [Span; 2], -}
    Expand description

    &=

    +AndEq in syn::token - Rust

    Struct syn::token::AndEq

    source ·
    #[repr(C)]
    pub struct AndEq { + pub spans: [Span; 2], +}
    Expand description

    &=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for AndEq

    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 Debug for AndEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for AndEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for AndEq

    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 Parse for AndEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<AndEq> for AndEq

    source§

    fn eq(&self, _other: &AndEq) -> 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 ToTokens for AndEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for AndEq

    source§

    impl Eq for AndEq

    source§

    impl Token for AndEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for AndEq

    §

    impl !Send for AndEq

    §

    impl !Sync for AndEq

    §

    impl Unpin for AndEq

    §

    impl UnwindSafe for AndEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.As.html b/syn/token/struct.As.html index df84c97..3365c04 100644 --- a/syn/token/struct.As.html +++ b/syn/token/struct.As.html @@ -1,13 +1,24 @@ -As in syn::token - Rust

    Struct syn::token::As

    source ·
    pub struct As {
    +As in syn::token - Rust

    Struct syn::token::As

    source ·
    pub struct As {
         pub span: Span,
    -}
    Expand description

    as

    +}
    Expand description

    as

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for As

    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 Debug for As

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for As

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for As

    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 Parse for As

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<As> for As

    source§

    fn eq(&self, _other: &As) -> 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 ToTokens for As

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for As

    source§

    impl Eq for As

    source§

    impl Token for As

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for As

    §

    impl !Send for As

    §

    impl !Sync for As

    §

    impl Unpin for As

    §

    impl UnwindSafe for As

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Async.html b/syn/token/struct.Async.html index 81a7901..16cae41 100644 --- a/syn/token/struct.Async.html +++ b/syn/token/struct.Async.html @@ -1,13 +1,24 @@ -Async in syn::token - Rust

    Struct syn::token::Async

    source ·
    pub struct Async {
    +Async in syn::token - Rust

    Struct syn::token::Async

    source ·
    pub struct Async {
         pub span: Span,
    -}
    Expand description

    async

    +}
    Expand description

    async

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Async

    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 Debug for Async

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Async

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Async

    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 Parse for Async

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Async> for Async

    source§

    fn eq(&self, _other: &Async) -> 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 ToTokens for Async

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Async

    source§

    impl Eq for Async

    source§

    impl Token for Async

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Async

    §

    impl !Send for Async

    §

    impl !Sync for Async

    §

    impl Unpin for Async

    §

    impl UnwindSafe for Async

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.At.html b/syn/token/struct.At.html index 97eddc8..745b575 100644 --- a/syn/token/struct.At.html +++ b/syn/token/struct.At.html @@ -1,13 +1,24 @@ -At in syn::token - Rust

    Struct syn::token::At

    source ·
    #[repr(C)]
    pub struct At { - pub spans: [Span; 1], -}
    Expand description

    @

    +At in syn::token - Rust

    Struct syn::token::At

    source ·
    #[repr(C)]
    pub struct At { + pub spans: [Span; 1], +}
    Expand description

    @

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for At

    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 Debug for At

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for At

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for At

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for At

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for At

    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 Parse for At

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<At> for At

    source§

    fn eq(&self, _other: &At) -> 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 ToTokens for At

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for At

    source§

    impl Eq for At

    source§

    impl Token for At

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for At

    §

    impl !Send for At

    §

    impl !Sync for At

    §

    impl Unpin for At

    §

    impl UnwindSafe for At

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Auto.html b/syn/token/struct.Auto.html index b66a5df..8cf3447 100644 --- a/syn/token/struct.Auto.html +++ b/syn/token/struct.Auto.html @@ -1,13 +1,24 @@ -Auto in syn::token - Rust

    Struct syn::token::Auto

    source ·
    pub struct Auto {
    +Auto in syn::token - Rust

    Struct syn::token::Auto

    source ·
    pub struct Auto {
         pub span: Span,
    -}
    Expand description

    auto

    +}
    Expand description

    auto

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Auto

    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 Debug for Auto

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Auto

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Auto

    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 Parse for Auto

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Auto> for Auto

    source§

    fn eq(&self, _other: &Auto) -> 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 ToTokens for Auto

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Auto

    source§

    impl Eq for Auto

    source§

    impl Token for Auto

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Auto

    §

    impl !Send for Auto

    §

    impl !Sync for Auto

    §

    impl Unpin for Auto

    §

    impl UnwindSafe for Auto

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Await.html b/syn/token/struct.Await.html index 74e5fb5..70aa957 100644 --- a/syn/token/struct.Await.html +++ b/syn/token/struct.Await.html @@ -1,13 +1,24 @@ -Await in syn::token - Rust

    Struct syn::token::Await

    source ·
    pub struct Await {
    +Await in syn::token - Rust

    Struct syn::token::Await

    source ·
    pub struct Await {
         pub span: Span,
    -}
    Expand description

    await

    +}
    Expand description

    await

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Await

    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 Debug for Await

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Await

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Await

    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 Parse for Await

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Await> for Await

    source§

    fn eq(&self, _other: &Await) -> 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 ToTokens for Await

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Await

    source§

    impl Eq for Await

    source§

    impl Token for Await

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Await

    §

    impl !Send for Await

    §

    impl !Sync for Await

    §

    impl Unpin for Await

    §

    impl UnwindSafe for Await

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Bang.html b/syn/token/struct.Bang.html index ccd2725..29f586f 100644 --- a/syn/token/struct.Bang.html +++ b/syn/token/struct.Bang.html @@ -1,13 +1,24 @@ -Bang in syn::token - Rust

    Struct syn::token::Bang

    source ·
    #[repr(C)]
    pub struct Bang { - pub spans: [Span; 1], -}
    Expand description

    !

    +Bang in syn::token - Rust

    Struct syn::token::Bang

    source ·
    #[repr(C)]
    pub struct Bang { + pub spans: [Span; 1], +}
    Expand description

    !

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Bang

    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 Debug for Bang

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Bang

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Bang

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Bang

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Bang

    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 Parse for Bang

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Bang> for Bang

    source§

    fn eq(&self, _other: &Bang) -> 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 ToTokens for Bang

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Bang

    source§

    impl Eq for Bang

    source§

    impl Token for Bang

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Bang

    §

    impl !Send for Bang

    §

    impl !Sync for Bang

    §

    impl Unpin for Bang

    §

    impl UnwindSafe for Bang

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Become.html b/syn/token/struct.Become.html index 9a18f5c..7852339 100644 --- a/syn/token/struct.Become.html +++ b/syn/token/struct.Become.html @@ -1,13 +1,24 @@ -Become in syn::token - Rust

    Struct syn::token::Become

    source ·
    pub struct Become {
    +Become in syn::token - Rust

    Struct syn::token::Become

    source ·
    pub struct Become {
         pub span: Span,
    -}
    Expand description

    become

    +}
    Expand description

    become

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Become

    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 Debug for Become

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Become

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Become

    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 Parse for Become

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Become> for Become

    source§

    fn eq(&self, _other: &Become) -> 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 ToTokens for Become

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Become

    source§

    impl Eq for Become

    source§

    impl Token for Become

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Become

    §

    impl !Send for Become

    §

    impl !Sync for Become

    §

    impl Unpin for Become

    §

    impl UnwindSafe for Become

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Box.html b/syn/token/struct.Box.html index e2be430..ad98548 100644 --- a/syn/token/struct.Box.html +++ b/syn/token/struct.Box.html @@ -1,13 +1,24 @@ -Box in syn::token - Rust

    Struct syn::token::Box

    source ·
    pub struct Box {
    +Box in syn::token - Rust

    Struct syn::token::Box

    source ·
    pub struct Box {
         pub span: Span,
    -}
    Expand description

    box

    +}
    Expand description

    box

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Box

    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 Debug for Box

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Box

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Box

    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 Parse for Box

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Box> for Box

    source§

    fn eq(&self, _other: &Box) -> 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 ToTokens for Box

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Box

    source§

    impl Eq for Box

    source§

    impl Token for Box

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Box

    §

    impl !Send for Box

    §

    impl !Sync for Box

    §

    impl Unpin for Box

    §

    impl UnwindSafe for Box

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Brace.html b/syn/token/struct.Brace.html index 055fcb1..6a7341f 100644 --- a/syn/token/struct.Brace.html +++ b/syn/token/struct.Brace.html @@ -1,10 +1,20 @@ -Brace in syn::token - Rust

    Struct syn::token::Brace

    source ·
    pub struct Brace {
    +Brace in syn::token - Rust

    Struct syn::token::Brace

    source ·
    pub struct Brace {
         pub span: Span,
    -}
    Expand description

    {...}

    -

    Fields§

    §span: Span

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +}
    Expand description

    {...}

    +

    Fields§

    §span: Span

    Implementations§

    source§

    impl Brace

    source

    pub fn surround<F>(&self, tokens: &mut TokenStream, f: F)where + F: FnOnce(&mut TokenStream),

    Trait Implementations§

    source§

    impl Clone for Brace

    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 Debug for Brace

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Brace

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Brace

    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 PartialEq<Brace> for Brace

    source§

    fn eq(&self, _other: &Brace) -> 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 Copy for Brace

    source§

    impl Eq for Brace

    source§

    impl Token for Brace

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Brace

    §

    impl !Send for Brace

    §

    impl !Sync for Brace

    §

    impl Unpin for Brace

    §

    impl UnwindSafe for Brace

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Bracket.html b/syn/token/struct.Bracket.html index 68bb0a2..b714e32 100644 --- a/syn/token/struct.Bracket.html +++ b/syn/token/struct.Bracket.html @@ -1,10 +1,20 @@ -Bracket in syn::token - Rust

    Struct syn::token::Bracket

    source ·
    pub struct Bracket {
    +Bracket in syn::token - Rust

    Struct syn::token::Bracket

    source ·
    pub struct Bracket {
         pub span: Span,
    -}
    Expand description

    [...]

    -

    Fields§

    §span: Span

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +}
    Expand description

    [...]

    +

    Fields§

    §span: Span

    Implementations§

    source§

    impl Bracket

    source

    pub fn surround<F>(&self, tokens: &mut TokenStream, f: F)where + F: FnOnce(&mut TokenStream),

    Trait Implementations§

    source§

    impl Clone for Bracket

    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 Debug for Bracket

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Bracket

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Bracket

    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 PartialEq<Bracket> for Bracket

    source§

    fn eq(&self, _other: &Bracket) -> 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 Copy for Bracket

    source§

    impl Eq for Bracket

    source§

    impl Token for Bracket

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Break.html b/syn/token/struct.Break.html index cf37dfa..f6316fd 100644 --- a/syn/token/struct.Break.html +++ b/syn/token/struct.Break.html @@ -1,13 +1,24 @@ -Break in syn::token - Rust

    Struct syn::token::Break

    source ·
    pub struct Break {
    +Break in syn::token - Rust

    Struct syn::token::Break

    source ·
    pub struct Break {
         pub span: Span,
    -}
    Expand description

    break

    +}
    Expand description

    break

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Break

    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 Debug for Break

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Break

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Break

    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 Parse for Break

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Break> for Break

    source§

    fn eq(&self, _other: &Break) -> 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 ToTokens for Break

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Break

    source§

    impl Eq for Break

    source§

    impl Token for Break

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Break

    §

    impl !Send for Break

    §

    impl !Sync for Break

    §

    impl Unpin for Break

    §

    impl UnwindSafe for Break

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Caret.html b/syn/token/struct.Caret.html index 0b61243..a07b436 100644 --- a/syn/token/struct.Caret.html +++ b/syn/token/struct.Caret.html @@ -1,13 +1,24 @@ -Caret in syn::token - Rust

    Struct syn::token::Caret

    source ·
    #[repr(C)]
    pub struct Caret { - pub spans: [Span; 1], -}
    Expand description

    ^

    +Caret in syn::token - Rust

    Struct syn::token::Caret

    source ·
    #[repr(C)]
    pub struct Caret { + pub spans: [Span; 1], +}
    Expand description

    ^

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Caret

    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 Debug for Caret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Caret

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Caret

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Caret

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Caret

    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 Parse for Caret

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Caret> for Caret

    source§

    fn eq(&self, _other: &Caret) -> 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 ToTokens for Caret

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Caret

    source§

    impl Eq for Caret

    source§

    impl Token for Caret

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Caret

    §

    impl !Send for Caret

    §

    impl !Sync for Caret

    §

    impl Unpin for Caret

    §

    impl UnwindSafe for Caret

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.CaretEq.html b/syn/token/struct.CaretEq.html index 0ad34b4..70290ca 100644 --- a/syn/token/struct.CaretEq.html +++ b/syn/token/struct.CaretEq.html @@ -1,13 +1,24 @@ -CaretEq in syn::token - Rust

    Struct syn::token::CaretEq

    source ·
    #[repr(C)]
    pub struct CaretEq { - pub spans: [Span; 2], -}
    Expand description

    ^=

    +CaretEq in syn::token - Rust

    Struct syn::token::CaretEq

    source ·
    #[repr(C)]
    pub struct CaretEq { + pub spans: [Span; 2], +}
    Expand description

    ^=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for CaretEq

    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 Debug for CaretEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for CaretEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for CaretEq

    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 Parse for CaretEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<CaretEq> for CaretEq

    source§

    fn eq(&self, _other: &CaretEq) -> 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 ToTokens for CaretEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for CaretEq

    source§

    impl Eq for CaretEq

    source§

    impl Token for CaretEq

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Colon.html b/syn/token/struct.Colon.html index b7b49b9..fca56cb 100644 --- a/syn/token/struct.Colon.html +++ b/syn/token/struct.Colon.html @@ -1,13 +1,24 @@ -Colon in syn::token - Rust

    Struct syn::token::Colon

    source ·
    #[repr(C)]
    pub struct Colon { - pub spans: [Span; 1], -}
    Expand description

    :

    +Colon in syn::token - Rust

    Struct syn::token::Colon

    source ·
    #[repr(C)]
    pub struct Colon { + pub spans: [Span; 1], +}
    Expand description

    :

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Colon

    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 Debug for Colon

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Colon

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Colon

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Colon

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Colon

    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 Parse for Colon

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Colon> for Colon

    source§

    fn eq(&self, _other: &Colon) -> 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 ToTokens for Colon

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Colon

    source§

    impl Eq for Colon

    source§

    impl Token for Colon

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Colon

    §

    impl !Send for Colon

    §

    impl !Sync for Colon

    §

    impl Unpin for Colon

    §

    impl UnwindSafe for Colon

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Colon2.html b/syn/token/struct.Colon2.html index e20fb50..287dfb9 100644 --- a/syn/token/struct.Colon2.html +++ b/syn/token/struct.Colon2.html @@ -1,13 +1,24 @@ -Colon2 in syn::token - Rust

    Struct syn::token::Colon2

    source ·
    #[repr(C)]
    pub struct Colon2 { - pub spans: [Span; 2], -}
    Expand description

    ::

    +Colon2 in syn::token - Rust

    Struct syn::token::Colon2

    source ·
    #[repr(C)]
    pub struct Colon2 { + pub spans: [Span; 2], +}
    Expand description

    ::

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Colon2

    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 Debug for Colon2

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Colon2

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Colon2

    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 Parse for Colon2

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Colon2> for Colon2

    source§

    fn eq(&self, _other: &Colon2) -> 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 ToTokens for Colon2

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Colon2

    source§

    impl Eq for Colon2

    source§

    impl Token for Colon2

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Colon2

    §

    impl !Send for Colon2

    §

    impl !Sync for Colon2

    §

    impl Unpin for Colon2

    §

    impl UnwindSafe for Colon2

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Comma.html b/syn/token/struct.Comma.html index b99ab62..8b3932f 100644 --- a/syn/token/struct.Comma.html +++ b/syn/token/struct.Comma.html @@ -1,13 +1,24 @@ -Comma in syn::token - Rust

    Struct syn::token::Comma

    source ·
    #[repr(C)]
    pub struct Comma { - pub spans: [Span; 1], -}
    Expand description

    ,

    +Comma in syn::token - Rust

    Struct syn::token::Comma

    source ·
    #[repr(C)]
    pub struct Comma { + pub spans: [Span; 1], +}
    Expand description

    ,

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Comma

    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 Debug for Comma

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Comma

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Comma

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Comma

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Comma

    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 Parse for Comma

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Comma> for Comma

    source§

    fn eq(&self, _other: &Comma) -> 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 ToTokens for Comma

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Comma

    source§

    impl Eq for Comma

    source§

    impl Token for Comma

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Comma

    §

    impl !Send for Comma

    §

    impl !Sync for Comma

    §

    impl Unpin for Comma

    §

    impl UnwindSafe for Comma

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Const.html b/syn/token/struct.Const.html index 14602f1..61c53f4 100644 --- a/syn/token/struct.Const.html +++ b/syn/token/struct.Const.html @@ -1,13 +1,24 @@ -Const in syn::token - Rust

    Struct syn::token::Const

    source ·
    pub struct Const {
    +Const in syn::token - Rust

    Struct syn::token::Const

    source ·
    pub struct Const {
         pub span: Span,
    -}
    Expand description

    const

    +}
    Expand description

    const

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Const

    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 Debug for Const

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Const

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Const

    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 Parse for Const

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Const> for Const

    source§

    fn eq(&self, _other: &Const) -> 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 ToTokens for Const

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Const

    source§

    impl Eq for Const

    source§

    impl Token for Const

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Const

    §

    impl !Send for Const

    §

    impl !Sync for Const

    §

    impl Unpin for Const

    §

    impl UnwindSafe for Const

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Continue.html b/syn/token/struct.Continue.html index 05cf2cb..50c92b0 100644 --- a/syn/token/struct.Continue.html +++ b/syn/token/struct.Continue.html @@ -1,13 +1,24 @@ -Continue in syn::token - Rust

    Struct syn::token::Continue

    source ·
    pub struct Continue {
    +Continue in syn::token - Rust

    Struct syn::token::Continue

    source ·
    pub struct Continue {
         pub span: Span,
    -}
    Expand description

    continue

    +}
    Expand description

    continue

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Continue

    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 Debug for Continue

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Continue

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Continue

    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 Parse for Continue

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Continue> for Continue

    source§

    fn eq(&self, _other: &Continue) -> 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 ToTokens for Continue

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Continue

    source§

    impl Eq for Continue

    source§

    impl Token for Continue

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Crate.html b/syn/token/struct.Crate.html index a28dc1b..6d40dc2 100644 --- a/syn/token/struct.Crate.html +++ b/syn/token/struct.Crate.html @@ -1,13 +1,24 @@ -Crate in syn::token - Rust

    Struct syn::token::Crate

    source ·
    pub struct Crate {
    +Crate in syn::token - Rust

    Struct syn::token::Crate

    source ·
    pub struct Crate {
         pub span: Span,
    -}
    Expand description

    crate

    +}
    Expand description

    crate

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Crate

    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 Debug for Crate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Crate

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl From<Crate> for Ident

    source§

    fn from(token: Crate) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for Crate

    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 Parse for Crate

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Crate> for Crate

    source§

    fn eq(&self, _other: &Crate) -> 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 ToTokens for Crate

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Crate

    source§

    impl Eq for Crate

    source§

    impl Token for Crate

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Crate

    §

    impl !Send for Crate

    §

    impl !Sync for Crate

    §

    impl Unpin for Crate

    §

    impl UnwindSafe for Crate

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Default.html b/syn/token/struct.Default.html index 83033b5..56e85f5 100644 --- a/syn/token/struct.Default.html +++ b/syn/token/struct.Default.html @@ -1,13 +1,24 @@ -Default in syn::token - Rust

    Struct syn::token::Default

    source ·
    pub struct Default {
    +Default in syn::token - Rust

    Struct syn::token::Default

    source ·
    pub struct Default {
         pub span: Span,
    -}
    Expand description

    default

    +}
    Expand description

    default

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Default

    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 Debug for Default

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Default

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Default

    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 Parse for Default

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Default> for Default

    source§

    fn eq(&self, _other: &Default) -> 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 ToTokens for Default

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Default

    source§

    impl Eq for Default

    source§

    impl Token for Default

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Div.html b/syn/token/struct.Div.html index aad9b7e..0c97f10 100644 --- a/syn/token/struct.Div.html +++ b/syn/token/struct.Div.html @@ -1,13 +1,24 @@ -Div in syn::token - Rust

    Struct syn::token::Div

    source ·
    #[repr(C)]
    pub struct Div { - pub spans: [Span; 1], -}
    Expand description

    /

    +Div in syn::token - Rust

    Struct syn::token::Div

    source ·
    #[repr(C)]
    pub struct Div { + pub spans: [Span; 1], +}
    Expand description

    /

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Div

    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 Debug for Div

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Div

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Div

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Div

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Div

    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 Parse for Div

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Div> for Div

    source§

    fn eq(&self, _other: &Div) -> 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 ToTokens for Div

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Div

    source§

    impl Eq for Div

    source§

    impl Token for Div

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Div

    §

    impl !Send for Div

    §

    impl !Sync for Div

    §

    impl Unpin for Div

    §

    impl UnwindSafe for Div

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.DivEq.html b/syn/token/struct.DivEq.html index 91feb9b..3bdb6a5 100644 --- a/syn/token/struct.DivEq.html +++ b/syn/token/struct.DivEq.html @@ -1,13 +1,24 @@ -DivEq in syn::token - Rust

    Struct syn::token::DivEq

    source ·
    #[repr(C)]
    pub struct DivEq { - pub spans: [Span; 2], -}
    Expand description

    /=

    +DivEq in syn::token - Rust

    Struct syn::token::DivEq

    source ·
    #[repr(C)]
    pub struct DivEq { + pub spans: [Span; 2], +}
    Expand description

    /=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for DivEq

    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 Debug for DivEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for DivEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for DivEq

    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 Parse for DivEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<DivEq> for DivEq

    source§

    fn eq(&self, _other: &DivEq) -> 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 ToTokens for DivEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for DivEq

    source§

    impl Eq for DivEq

    source§

    impl Token for DivEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for DivEq

    §

    impl !Send for DivEq

    §

    impl !Sync for DivEq

    §

    impl Unpin for DivEq

    §

    impl UnwindSafe for DivEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Do.html b/syn/token/struct.Do.html index a3f17e7..d833749 100644 --- a/syn/token/struct.Do.html +++ b/syn/token/struct.Do.html @@ -1,13 +1,24 @@ -Do in syn::token - Rust

    Struct syn::token::Do

    source ·
    pub struct Do {
    +Do in syn::token - Rust

    Struct syn::token::Do

    source ·
    pub struct Do {
         pub span: Span,
    -}
    Expand description

    do

    +}
    Expand description

    do

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Do

    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 Debug for Do

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Do

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Do

    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 Parse for Do

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Do> for Do

    source§

    fn eq(&self, _other: &Do) -> 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 ToTokens for Do

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Do

    source§

    impl Eq for Do

    source§

    impl Token for Do

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Do

    §

    impl !Send for Do

    §

    impl !Sync for Do

    §

    impl Unpin for Do

    §

    impl UnwindSafe for Do

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Dollar.html b/syn/token/struct.Dollar.html index 581d1de..ff81f75 100644 --- a/syn/token/struct.Dollar.html +++ b/syn/token/struct.Dollar.html @@ -1,13 +1,24 @@ -Dollar in syn::token - Rust

    Struct syn::token::Dollar

    source ·
    #[repr(C)]
    pub struct Dollar { - pub spans: [Span; 1], -}
    Expand description

    $

    +Dollar in syn::token - Rust

    Struct syn::token::Dollar

    source ·
    #[repr(C)]
    pub struct Dollar { + pub spans: [Span; 1], +}
    Expand description

    $

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Dollar

    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 Debug for Dollar

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dollar

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Dollar

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Dollar

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Dollar

    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 Parse for Dollar

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Dollar> for Dollar

    source§

    fn eq(&self, _other: &Dollar) -> 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 ToTokens for Dollar

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Dollar

    source§

    impl Eq for Dollar

    source§

    impl Token for Dollar

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dollar

    §

    impl !Send for Dollar

    §

    impl !Sync for Dollar

    §

    impl Unpin for Dollar

    §

    impl UnwindSafe for Dollar

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Dot.html b/syn/token/struct.Dot.html index c73277d..cc547f9 100644 --- a/syn/token/struct.Dot.html +++ b/syn/token/struct.Dot.html @@ -1,13 +1,24 @@ -Dot in syn::token - Rust

    Struct syn::token::Dot

    source ·
    #[repr(C)]
    pub struct Dot { - pub spans: [Span; 1], -}
    Expand description

    .

    +Dot in syn::token - Rust

    Struct syn::token::Dot

    source ·
    #[repr(C)]
    pub struct Dot { + pub spans: [Span; 1], +}
    Expand description

    .

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Dot

    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 Debug for Dot

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dot

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Dot

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Dot

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Dot

    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 Parse for Dot

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Dot> for Dot

    source§

    fn eq(&self, _other: &Dot) -> 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 ToTokens for Dot

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Dot

    source§

    impl Eq for Dot

    source§

    impl Token for Dot

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dot

    §

    impl !Send for Dot

    §

    impl !Sync for Dot

    §

    impl Unpin for Dot

    §

    impl UnwindSafe for Dot

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Dot2.html b/syn/token/struct.Dot2.html index f6168cf..07d8159 100644 --- a/syn/token/struct.Dot2.html +++ b/syn/token/struct.Dot2.html @@ -1,13 +1,24 @@ -Dot2 in syn::token - Rust

    Struct syn::token::Dot2

    source ·
    #[repr(C)]
    pub struct Dot2 { - pub spans: [Span; 2], -}
    Expand description

    ..

    +Dot2 in syn::token - Rust

    Struct syn::token::Dot2

    source ·
    #[repr(C)]
    pub struct Dot2 { + pub spans: [Span; 2], +}
    Expand description

    ..

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Dot2

    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 Debug for Dot2

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dot2

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Dot2

    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 Parse for Dot2

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Dot2> for Dot2

    source§

    fn eq(&self, _other: &Dot2) -> 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 ToTokens for Dot2

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Dot2

    source§

    impl Eq for Dot2

    source§

    impl Token for Dot2

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dot2

    §

    impl !Send for Dot2

    §

    impl !Sync for Dot2

    §

    impl Unpin for Dot2

    §

    impl UnwindSafe for Dot2

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Dot3.html b/syn/token/struct.Dot3.html index 272029b..68ad642 100644 --- a/syn/token/struct.Dot3.html +++ b/syn/token/struct.Dot3.html @@ -1,13 +1,24 @@ -Dot3 in syn::token - Rust

    Struct syn::token::Dot3

    source ·
    #[repr(C)]
    pub struct Dot3 { - pub spans: [Span; 3], -}
    Expand description

    ...

    +Dot3 in syn::token - Rust

    Struct syn::token::Dot3

    source ·
    #[repr(C)]
    pub struct Dot3 { + pub spans: [Span; 3], +}
    Expand description

    ...

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    source§

    impl Clone for Dot3

    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 Debug for Dot3

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dot3

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Dot3

    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 Parse for Dot3

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Dot3> for Dot3

    source§

    fn eq(&self, _other: &Dot3) -> 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 ToTokens for Dot3

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Dot3

    source§

    impl Eq for Dot3

    source§

    impl Token for Dot3

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dot3

    §

    impl !Send for Dot3

    §

    impl !Sync for Dot3

    §

    impl Unpin for Dot3

    §

    impl UnwindSafe for Dot3

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.DotDotEq.html b/syn/token/struct.DotDotEq.html index fe540fa..5172a00 100644 --- a/syn/token/struct.DotDotEq.html +++ b/syn/token/struct.DotDotEq.html @@ -1,13 +1,24 @@ -DotDotEq in syn::token - Rust

    Struct syn::token::DotDotEq

    source ·
    #[repr(C)]
    pub struct DotDotEq { - pub spans: [Span; 3], -}
    Expand description

    ..=

    +DotDotEq in syn::token - Rust

    Struct syn::token::DotDotEq

    source ·
    #[repr(C)]
    pub struct DotDotEq { + pub spans: [Span; 3], +}
    Expand description

    ..=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    source§

    impl Clone for DotDotEq

    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 Debug for DotDotEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for DotDotEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for DotDotEq

    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 Parse for DotDotEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<DotDotEq> for DotDotEq

    source§

    fn eq(&self, _other: &DotDotEq) -> 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 ToTokens for DotDotEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for DotDotEq

    source§

    impl Eq for DotDotEq

    source§

    impl Token for DotDotEq

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Dyn.html b/syn/token/struct.Dyn.html index 0197866..cdd7e72 100644 --- a/syn/token/struct.Dyn.html +++ b/syn/token/struct.Dyn.html @@ -1,13 +1,24 @@ -Dyn in syn::token - Rust

    Struct syn::token::Dyn

    source ·
    pub struct Dyn {
    +Dyn in syn::token - Rust

    Struct syn::token::Dyn

    source ·
    pub struct Dyn {
         pub span: Span,
    -}
    Expand description

    dyn

    +}
    Expand description

    dyn

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Dyn

    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 Debug for Dyn

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Dyn

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Dyn

    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 Parse for Dyn

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Dyn> for Dyn

    source§

    fn eq(&self, _other: &Dyn) -> 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 ToTokens for Dyn

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Dyn

    source§

    impl Eq for Dyn

    source§

    impl Token for Dyn

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Dyn

    §

    impl !Send for Dyn

    §

    impl !Sync for Dyn

    §

    impl Unpin for Dyn

    §

    impl UnwindSafe for Dyn

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Else.html b/syn/token/struct.Else.html index ec555f7..3d7efae 100644 --- a/syn/token/struct.Else.html +++ b/syn/token/struct.Else.html @@ -1,13 +1,24 @@ -Else in syn::token - Rust

    Struct syn::token::Else

    source ·
    pub struct Else {
    +Else in syn::token - Rust

    Struct syn::token::Else

    source ·
    pub struct Else {
         pub span: Span,
    -}
    Expand description

    else

    +}
    Expand description

    else

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Else

    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 Debug for Else

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Else

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Else

    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 Parse for Else

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Else> for Else

    source§

    fn eq(&self, _other: &Else) -> 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 ToTokens for Else

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Else

    source§

    impl Eq for Else

    source§

    impl Token for Else

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Else

    §

    impl !Send for Else

    §

    impl !Sync for Else

    §

    impl Unpin for Else

    §

    impl UnwindSafe for Else

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Enum.html b/syn/token/struct.Enum.html index 21c8bb6..6d70536 100644 --- a/syn/token/struct.Enum.html +++ b/syn/token/struct.Enum.html @@ -1,13 +1,24 @@ -Enum in syn::token - Rust

    Struct syn::token::Enum

    source ·
    pub struct Enum {
    +Enum in syn::token - Rust

    Struct syn::token::Enum

    source ·
    pub struct Enum {
         pub span: Span,
    -}
    Expand description

    enum

    +}
    Expand description

    enum

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Enum

    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 Debug for Enum

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Enum

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Enum

    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 Parse for Enum

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Enum> for Enum

    source§

    fn eq(&self, _other: &Enum) -> 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 ToTokens for Enum

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Enum

    source§

    impl Eq for Enum

    source§

    impl Token for Enum

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Enum

    §

    impl !Send for Enum

    §

    impl !Sync for Enum

    §

    impl Unpin for Enum

    §

    impl UnwindSafe for Enum

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Eq.html b/syn/token/struct.Eq.html index cac0525..eaffb0f 100644 --- a/syn/token/struct.Eq.html +++ b/syn/token/struct.Eq.html @@ -1,13 +1,24 @@ -Eq in syn::token - Rust

    Struct syn::token::Eq

    source ·
    #[repr(C)]
    pub struct Eq { - pub spans: [Span; 1], -}
    Expand description

    =

    +Eq in syn::token - Rust

    Struct syn::token::Eq

    source ·
    #[repr(C)]
    pub struct Eq { + pub spans: [Span; 1], +}
    Expand description

    =

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Eq

    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 Debug for Eq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Eq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Eq

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Eq

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Eq

    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 Parse for Eq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Eq> for Eq

    source§

    fn eq(&self, _other: &Eq) -> 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 ToTokens for Eq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Eq

    source§

    impl Eq for Eq

    source§

    impl Token for Eq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Eq

    §

    impl !Send for Eq

    §

    impl !Sync for Eq

    §

    impl Unpin for Eq

    §

    impl UnwindSafe for Eq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.EqEq.html b/syn/token/struct.EqEq.html index ab59d81..037c9a1 100644 --- a/syn/token/struct.EqEq.html +++ b/syn/token/struct.EqEq.html @@ -1,13 +1,24 @@ -EqEq in syn::token - Rust

    Struct syn::token::EqEq

    source ·
    #[repr(C)]
    pub struct EqEq { - pub spans: [Span; 2], -}
    Expand description

    ==

    +EqEq in syn::token - Rust

    Struct syn::token::EqEq

    source ·
    #[repr(C)]
    pub struct EqEq { + pub spans: [Span; 2], +}
    Expand description

    ==

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for EqEq

    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 Debug for EqEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for EqEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for EqEq

    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 Parse for EqEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<EqEq> for EqEq

    source§

    fn eq(&self, _other: &EqEq) -> 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 ToTokens for EqEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for EqEq

    source§

    impl Eq for EqEq

    source§

    impl Token for EqEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for EqEq

    §

    impl !Send for EqEq

    §

    impl !Sync for EqEq

    §

    impl Unpin for EqEq

    §

    impl UnwindSafe for EqEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Extern.html b/syn/token/struct.Extern.html index d0fb7ea..0849978 100644 --- a/syn/token/struct.Extern.html +++ b/syn/token/struct.Extern.html @@ -1,13 +1,24 @@ -Extern in syn::token - Rust

    Struct syn::token::Extern

    source ·
    pub struct Extern {
    +Extern in syn::token - Rust

    Struct syn::token::Extern

    source ·
    pub struct Extern {
         pub span: Span,
    -}
    Expand description

    extern

    +}
    Expand description

    extern

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Extern

    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 Debug for Extern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Extern

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl From<Extern> for Ident

    source§

    fn from(token: Extern) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for Extern

    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 Parse for Extern

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Extern> for Extern

    source§

    fn eq(&self, _other: &Extern) -> 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 ToTokens for Extern

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Extern

    source§

    impl Eq for Extern

    source§

    impl Token for Extern

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Extern

    §

    impl !Send for Extern

    §

    impl !Sync for Extern

    §

    impl Unpin for Extern

    §

    impl UnwindSafe for Extern

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.FatArrow.html b/syn/token/struct.FatArrow.html index 4a3779a..ec2b85b 100644 --- a/syn/token/struct.FatArrow.html +++ b/syn/token/struct.FatArrow.html @@ -1,13 +1,24 @@ -FatArrow in syn::token - Rust

    Struct syn::token::FatArrow

    source ·
    #[repr(C)]
    pub struct FatArrow { - pub spans: [Span; 2], -}
    Expand description

    =>

    +FatArrow in syn::token - Rust

    Struct syn::token::FatArrow

    source ·
    #[repr(C)]
    pub struct FatArrow { + pub spans: [Span; 2], +}
    Expand description

    =>

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for FatArrow

    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 Debug for FatArrow

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for FatArrow

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for FatArrow

    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 Parse for FatArrow

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<FatArrow> for FatArrow

    source§

    fn eq(&self, _other: &FatArrow) -> 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 ToTokens for FatArrow

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for FatArrow

    source§

    impl Eq for FatArrow

    source§

    impl Token for FatArrow

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Final.html b/syn/token/struct.Final.html index 12b0317..a54605e 100644 --- a/syn/token/struct.Final.html +++ b/syn/token/struct.Final.html @@ -1,13 +1,24 @@ -Final in syn::token - Rust

    Struct syn::token::Final

    source ·
    pub struct Final {
    +Final in syn::token - Rust

    Struct syn::token::Final

    source ·
    pub struct Final {
         pub span: Span,
    -}
    Expand description

    final

    +}
    Expand description

    final

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Final

    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 Debug for Final

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Final

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Final

    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 Parse for Final

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Final> for Final

    source§

    fn eq(&self, _other: &Final) -> 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 ToTokens for Final

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Final

    source§

    impl Eq for Final

    source§

    impl Token for Final

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Final

    §

    impl !Send for Final

    §

    impl !Sync for Final

    §

    impl Unpin for Final

    §

    impl UnwindSafe for Final

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Fn.html b/syn/token/struct.Fn.html index 3e42d24..f241794 100644 --- a/syn/token/struct.Fn.html +++ b/syn/token/struct.Fn.html @@ -1,13 +1,24 @@ -Fn in syn::token - Rust

    Struct syn::token::Fn

    source ·
    pub struct Fn {
    +Fn in syn::token - Rust

    Struct syn::token::Fn

    source ·
    pub struct Fn {
         pub span: Span,
    -}
    Expand description

    fn

    +}
    Expand description

    fn

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Fn

    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 Debug for Fn

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Fn

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Fn

    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 Parse for Fn

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Fn> for Fn

    source§

    fn eq(&self, _other: &Fn) -> 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 ToTokens for Fn

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Fn

    source§

    impl Eq for Fn

    source§

    impl Token for Fn

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Fn

    §

    impl !Send for Fn

    §

    impl !Sync for Fn

    §

    impl Unpin for Fn

    §

    impl UnwindSafe for Fn

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.For.html b/syn/token/struct.For.html index bcf3883..ce76017 100644 --- a/syn/token/struct.For.html +++ b/syn/token/struct.For.html @@ -1,13 +1,24 @@ -For in syn::token - Rust

    Struct syn::token::For

    source ·
    pub struct For {
    +For in syn::token - Rust

    Struct syn::token::For

    source ·
    pub struct For {
         pub span: Span,
    -}
    Expand description

    for

    +}
    Expand description

    for

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for For

    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 Debug for For

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for For

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for For

    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 Parse for For

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<For> for For

    source§

    fn eq(&self, _other: &For) -> 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 ToTokens for For

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for For

    source§

    impl Eq for For

    source§

    impl Token for For

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for For

    §

    impl !Send for For

    §

    impl !Sync for For

    §

    impl Unpin for For

    §

    impl UnwindSafe for For

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Ge.html b/syn/token/struct.Ge.html index 79612b1..82a0c6f 100644 --- a/syn/token/struct.Ge.html +++ b/syn/token/struct.Ge.html @@ -1,13 +1,24 @@ -Ge in syn::token - Rust

    Struct syn::token::Ge

    source ·
    #[repr(C)]
    pub struct Ge { - pub spans: [Span; 2], -}
    Expand description

    >=

    +Ge in syn::token - Rust

    Struct syn::token::Ge

    source ·
    #[repr(C)]
    pub struct Ge { + pub spans: [Span; 2], +}
    Expand description

    >=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Ge

    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 Debug for Ge

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Ge

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Ge

    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 Parse for Ge

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Ge> for Ge

    source§

    fn eq(&self, _other: &Ge) -> 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 ToTokens for Ge

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Ge

    source§

    impl Eq for Ge

    source§

    impl Token for Ge

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ge

    §

    impl !Send for Ge

    §

    impl !Sync for Ge

    §

    impl Unpin for Ge

    §

    impl UnwindSafe for Ge

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Group.html b/syn/token/struct.Group.html index c2ba529..e90b649 100644 --- a/syn/token/struct.Group.html +++ b/syn/token/struct.Group.html @@ -1,10 +1,20 @@ -Group in syn::token - Rust

    Struct syn::token::Group

    source ·
    pub struct Group {
    +Group in syn::token - Rust

    Struct syn::token::Group

    source ·
    pub struct Group {
         pub span: Span,
    -}
    Expand description

    None-delimited group

    -

    Fields§

    §span: Span

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +}
    Expand description

    None-delimited group

    +

    Fields§

    §span: Span

    Implementations§

    source§

    impl Group

    source

    pub fn surround<F>(&self, tokens: &mut TokenStream, f: F)where + F: FnOnce(&mut TokenStream),

    Trait Implementations§

    source§

    impl Clone for Group

    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 Debug for Group

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Group

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Group

    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 PartialEq<Group> for Group

    source§

    fn eq(&self, _other: &Group) -> 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 Copy for Group

    source§

    impl Eq for Group

    source§

    impl Token for Group

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Group

    §

    impl !Send for Group

    §

    impl !Sync for Group

    §

    impl Unpin for Group

    §

    impl UnwindSafe for Group

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Gt.html b/syn/token/struct.Gt.html index ef326b9..3e0ac20 100644 --- a/syn/token/struct.Gt.html +++ b/syn/token/struct.Gt.html @@ -1,13 +1,24 @@ -Gt in syn::token - Rust

    Struct syn::token::Gt

    source ·
    #[repr(C)]
    pub struct Gt { - pub spans: [Span; 1], -}
    Expand description

    >

    +Gt in syn::token - Rust

    Struct syn::token::Gt

    source ·
    #[repr(C)]
    pub struct Gt { + pub spans: [Span; 1], +}
    Expand description

    >

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Gt

    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 Debug for Gt

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Gt

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Gt

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Gt

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Gt

    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 Parse for Gt

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Gt> for Gt

    source§

    fn eq(&self, _other: &Gt) -> 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 ToTokens for Gt

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Gt

    source§

    impl Eq for Gt

    source§

    impl Token for Gt

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Gt

    §

    impl !Send for Gt

    §

    impl !Sync for Gt

    §

    impl Unpin for Gt

    §

    impl UnwindSafe for Gt

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.If.html b/syn/token/struct.If.html index aede9a0..dbabb40 100644 --- a/syn/token/struct.If.html +++ b/syn/token/struct.If.html @@ -1,13 +1,24 @@ -If in syn::token - Rust

    Struct syn::token::If

    source ·
    pub struct If {
    +If in syn::token - Rust

    Struct syn::token::If

    source ·
    pub struct If {
         pub span: Span,
    -}
    Expand description

    if

    +}
    Expand description

    if

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for If

    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 Debug for If

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for If

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for If

    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 Parse for If

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<If> for If

    source§

    fn eq(&self, _other: &If) -> 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 ToTokens for If

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for If

    source§

    impl Eq for If

    source§

    impl Token for If

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for If

    §

    impl !Send for If

    §

    impl !Sync for If

    §

    impl Unpin for If

    §

    impl UnwindSafe for If

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Impl.html b/syn/token/struct.Impl.html index bbb5a39..4b3e83a 100644 --- a/syn/token/struct.Impl.html +++ b/syn/token/struct.Impl.html @@ -1,13 +1,24 @@ -Impl in syn::token - Rust

    Struct syn::token::Impl

    source ·
    pub struct Impl {
    +Impl in syn::token - Rust

    Struct syn::token::Impl

    source ·
    pub struct Impl {
         pub span: Span,
    -}
    Expand description

    impl

    +}
    Expand description

    impl

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Impl

    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 Debug for Impl

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Impl

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Impl

    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 Parse for Impl

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Impl> for Impl

    source§

    fn eq(&self, _other: &Impl) -> 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 ToTokens for Impl

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Impl

    source§

    impl Eq for Impl

    source§

    impl Token for Impl

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Impl

    §

    impl !Send for Impl

    §

    impl !Sync for Impl

    §

    impl Unpin for Impl

    §

    impl UnwindSafe for Impl

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.In.html b/syn/token/struct.In.html index 287b150..7516114 100644 --- a/syn/token/struct.In.html +++ b/syn/token/struct.In.html @@ -1,13 +1,24 @@ -In in syn::token - Rust

    Struct syn::token::In

    source ·
    pub struct In {
    +In in syn::token - Rust

    Struct syn::token::In

    source ·
    pub struct In {
         pub span: Span,
    -}
    Expand description

    in

    +}
    Expand description

    in

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for In

    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 Debug for In

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for In

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for In

    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 Parse for In

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<In> for In

    source§

    fn eq(&self, _other: &In) -> 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 ToTokens for In

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for In

    source§

    impl Eq for In

    source§

    impl Token for In

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for In

    §

    impl !Send for In

    §

    impl !Sync for In

    §

    impl Unpin for In

    §

    impl UnwindSafe for In

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.LArrow.html b/syn/token/struct.LArrow.html index e17a9e1..e9b10c6 100644 --- a/syn/token/struct.LArrow.html +++ b/syn/token/struct.LArrow.html @@ -1,13 +1,24 @@ -LArrow in syn::token - Rust

    Struct syn::token::LArrow

    source ·
    #[repr(C)]
    pub struct LArrow { - pub spans: [Span; 2], -}
    Expand description

    <-

    +LArrow in syn::token - Rust

    Struct syn::token::LArrow

    source ·
    #[repr(C)]
    pub struct LArrow { + pub spans: [Span; 2], +}
    Expand description

    <-

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for LArrow

    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 Debug for LArrow

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for LArrow

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for LArrow

    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 Parse for LArrow

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<LArrow> for LArrow

    source§

    fn eq(&self, _other: &LArrow) -> 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 ToTokens for LArrow

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for LArrow

    source§

    impl Eq for LArrow

    source§

    impl Token for LArrow

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for LArrow

    §

    impl !Send for LArrow

    §

    impl !Sync for LArrow

    §

    impl Unpin for LArrow

    §

    impl UnwindSafe for LArrow

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Le.html b/syn/token/struct.Le.html index 042c837..07f5b63 100644 --- a/syn/token/struct.Le.html +++ b/syn/token/struct.Le.html @@ -1,13 +1,24 @@ -Le in syn::token - Rust

    Struct syn::token::Le

    source ·
    #[repr(C)]
    pub struct Le { - pub spans: [Span; 2], -}
    Expand description

    <=

    +Le in syn::token - Rust

    Struct syn::token::Le

    source ·
    #[repr(C)]
    pub struct Le { + pub spans: [Span; 2], +}
    Expand description

    <=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Le

    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 Debug for Le

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Le

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Le

    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 Parse for Le

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Le> for Le

    source§

    fn eq(&self, _other: &Le) -> 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 ToTokens for Le

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Le

    source§

    impl Eq for Le

    source§

    impl Token for Le

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Le

    §

    impl !Send for Le

    §

    impl !Sync for Le

    §

    impl Unpin for Le

    §

    impl UnwindSafe for Le

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Let.html b/syn/token/struct.Let.html index c511f41..981f627 100644 --- a/syn/token/struct.Let.html +++ b/syn/token/struct.Let.html @@ -1,13 +1,24 @@ -Let in syn::token - Rust

    Struct syn::token::Let

    source ·
    pub struct Let {
    +Let in syn::token - Rust

    Struct syn::token::Let

    source ·
    pub struct Let {
         pub span: Span,
    -}
    Expand description

    let

    +}
    Expand description

    let

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Let

    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 Debug for Let

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Let

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Let

    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 Parse for Let

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Let> for Let

    source§

    fn eq(&self, _other: &Let) -> 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 ToTokens for Let

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Let

    source§

    impl Eq for Let

    source§

    impl Token for Let

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Let

    §

    impl !Send for Let

    §

    impl !Sync for Let

    §

    impl Unpin for Let

    §

    impl UnwindSafe for Let

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Loop.html b/syn/token/struct.Loop.html index 60d6a21..782ee19 100644 --- a/syn/token/struct.Loop.html +++ b/syn/token/struct.Loop.html @@ -1,13 +1,24 @@ -Loop in syn::token - Rust

    Struct syn::token::Loop

    source ·
    pub struct Loop {
    +Loop in syn::token - Rust

    Struct syn::token::Loop

    source ·
    pub struct Loop {
         pub span: Span,
    -}
    Expand description

    loop

    +}
    Expand description

    loop

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Loop

    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 Debug for Loop

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Loop

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Loop

    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 Parse for Loop

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Loop> for Loop

    source§

    fn eq(&self, _other: &Loop) -> 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 ToTokens for Loop

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Loop

    source§

    impl Eq for Loop

    source§

    impl Token for Loop

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Loop

    §

    impl !Send for Loop

    §

    impl !Sync for Loop

    §

    impl Unpin for Loop

    §

    impl UnwindSafe for Loop

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Lt.html b/syn/token/struct.Lt.html index 36a891d..45d0c8a 100644 --- a/syn/token/struct.Lt.html +++ b/syn/token/struct.Lt.html @@ -1,13 +1,24 @@ -Lt in syn::token - Rust

    Struct syn::token::Lt

    source ·
    #[repr(C)]
    pub struct Lt { - pub spans: [Span; 1], -}
    Expand description

    <

    +Lt in syn::token - Rust

    Struct syn::token::Lt

    source ·
    #[repr(C)]
    pub struct Lt { + pub spans: [Span; 1], +}
    Expand description

    <

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Lt

    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 Debug for Lt

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Lt

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Lt

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Lt

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Lt

    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 Parse for Lt

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Lt> for Lt

    source§

    fn eq(&self, _other: &Lt) -> 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 ToTokens for Lt

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Lt

    source§

    impl Eq for Lt

    source§

    impl Token for Lt

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Lt

    §

    impl !Send for Lt

    §

    impl !Sync for Lt

    §

    impl Unpin for Lt

    §

    impl UnwindSafe for Lt

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Macro.html b/syn/token/struct.Macro.html index b54299e..9ca3c81 100644 --- a/syn/token/struct.Macro.html +++ b/syn/token/struct.Macro.html @@ -1,13 +1,24 @@ -Macro in syn::token - Rust

    Struct syn::token::Macro

    source ·
    pub struct Macro {
    +Macro in syn::token - Rust

    Struct syn::token::Macro

    source ·
    pub struct Macro {
         pub span: Span,
    -}
    Expand description

    macro

    +}
    Expand description

    macro

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Macro

    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 Debug for Macro

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Macro

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Macro

    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 Parse for Macro

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Macro> for Macro

    source§

    fn eq(&self, _other: &Macro) -> 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 ToTokens for Macro

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Macro

    source§

    impl Eq for Macro

    source§

    impl Token for Macro

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Macro

    §

    impl !Send for Macro

    §

    impl !Sync for Macro

    §

    impl Unpin for Macro

    §

    impl UnwindSafe for Macro

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Match.html b/syn/token/struct.Match.html index fcdd27c..5f47979 100644 --- a/syn/token/struct.Match.html +++ b/syn/token/struct.Match.html @@ -1,13 +1,24 @@ -Match in syn::token - Rust

    Struct syn::token::Match

    source ·
    pub struct Match {
    +Match in syn::token - Rust

    Struct syn::token::Match

    source ·
    pub struct Match {
         pub span: Span,
    -}
    Expand description

    match

    +}
    Expand description

    match

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Match

    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 Debug for Match

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Match

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Match

    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 Parse for Match

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Match> for Match

    source§

    fn eq(&self, _other: &Match) -> 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 ToTokens for Match

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Match

    source§

    impl Eq for Match

    source§

    impl Token for Match

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Match

    §

    impl !Send for Match

    §

    impl !Sync for Match

    §

    impl Unpin for Match

    §

    impl UnwindSafe for Match

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Mod.html b/syn/token/struct.Mod.html index 24afc84..d1f82b2 100644 --- a/syn/token/struct.Mod.html +++ b/syn/token/struct.Mod.html @@ -1,13 +1,24 @@ -Mod in syn::token - Rust

    Struct syn::token::Mod

    source ·
    pub struct Mod {
    +Mod in syn::token - Rust

    Struct syn::token::Mod

    source ·
    pub struct Mod {
         pub span: Span,
    -}
    Expand description

    mod

    +}
    Expand description

    mod

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Mod

    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 Debug for Mod

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Mod

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Mod

    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 Parse for Mod

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Mod> for Mod

    source§

    fn eq(&self, _other: &Mod) -> 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 ToTokens for Mod

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Mod

    source§

    impl Eq for Mod

    source§

    impl Token for Mod

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Mod

    §

    impl !Send for Mod

    §

    impl !Sync for Mod

    §

    impl Unpin for Mod

    §

    impl UnwindSafe for Mod

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Move.html b/syn/token/struct.Move.html index 9673e62..9aa4a2b 100644 --- a/syn/token/struct.Move.html +++ b/syn/token/struct.Move.html @@ -1,13 +1,24 @@ -Move in syn::token - Rust

    Struct syn::token::Move

    source ·
    pub struct Move {
    +Move in syn::token - Rust

    Struct syn::token::Move

    source ·
    pub struct Move {
         pub span: Span,
    -}
    Expand description

    move

    +}
    Expand description

    move

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Move

    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 Debug for Move

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Move

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Move

    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 Parse for Move

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Move> for Move

    source§

    fn eq(&self, _other: &Move) -> 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 ToTokens for Move

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Move

    source§

    impl Eq for Move

    source§

    impl Token for Move

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Move

    §

    impl !Send for Move

    §

    impl !Sync for Move

    §

    impl Unpin for Move

    §

    impl UnwindSafe for Move

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.MulEq.html b/syn/token/struct.MulEq.html index 9332a7c..badf1f0 100644 --- a/syn/token/struct.MulEq.html +++ b/syn/token/struct.MulEq.html @@ -1,13 +1,24 @@ -MulEq in syn::token - Rust

    Struct syn::token::MulEq

    source ·
    #[repr(C)]
    pub struct MulEq { - pub spans: [Span; 2], -}
    Expand description

    *=

    +MulEq in syn::token - Rust

    Struct syn::token::MulEq

    source ·
    #[repr(C)]
    pub struct MulEq { + pub spans: [Span; 2], +}
    Expand description

    *=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for MulEq

    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 Debug for MulEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MulEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for MulEq

    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 Parse for MulEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<MulEq> for MulEq

    source§

    fn eq(&self, _other: &MulEq) -> 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 ToTokens for MulEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for MulEq

    source§

    impl Eq for MulEq

    source§

    impl Token for MulEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for MulEq

    §

    impl !Send for MulEq

    §

    impl !Sync for MulEq

    §

    impl Unpin for MulEq

    §

    impl UnwindSafe for MulEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Mut.html b/syn/token/struct.Mut.html index 065b3f0..17cd18d 100644 --- a/syn/token/struct.Mut.html +++ b/syn/token/struct.Mut.html @@ -1,13 +1,24 @@ -Mut in syn::token - Rust

    Struct syn::token::Mut

    source ·
    pub struct Mut {
    +Mut in syn::token - Rust

    Struct syn::token::Mut

    source ·
    pub struct Mut {
         pub span: Span,
    -}
    Expand description

    mut

    +}
    Expand description

    mut

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Mut

    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 Debug for Mut

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Mut

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Mut

    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 Parse for Mut

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Mut> for Mut

    source§

    fn eq(&self, _other: &Mut) -> 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 ToTokens for Mut

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Mut

    source§

    impl Eq for Mut

    source§

    impl Token for Mut

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Mut

    §

    impl !Send for Mut

    §

    impl !Sync for Mut

    §

    impl Unpin for Mut

    §

    impl UnwindSafe for Mut

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Ne.html b/syn/token/struct.Ne.html index d31ce76..e314df2 100644 --- a/syn/token/struct.Ne.html +++ b/syn/token/struct.Ne.html @@ -1,13 +1,24 @@ -Ne in syn::token - Rust

    Struct syn::token::Ne

    source ·
    #[repr(C)]
    pub struct Ne { - pub spans: [Span; 2], -}
    Expand description

    !=

    +Ne in syn::token - Rust

    Struct syn::token::Ne

    source ·
    #[repr(C)]
    pub struct Ne { + pub spans: [Span; 2], +}
    Expand description

    !=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Ne

    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 Debug for Ne

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Ne

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Ne

    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 Parse for Ne

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Ne> for Ne

    source§

    fn eq(&self, _other: &Ne) -> 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 ToTokens for Ne

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Ne

    source§

    impl Eq for Ne

    source§

    impl Token for Ne

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ne

    §

    impl !Send for Ne

    §

    impl !Sync for Ne

    §

    impl Unpin for Ne

    §

    impl UnwindSafe for Ne

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Or.html b/syn/token/struct.Or.html index fda9f4c..5ff6e33 100644 --- a/syn/token/struct.Or.html +++ b/syn/token/struct.Or.html @@ -1,13 +1,24 @@ -Or in syn::token - Rust

    Struct syn::token::Or

    source ·
    #[repr(C)]
    pub struct Or { - pub spans: [Span; 1], -}
    Expand description

    |

    +Or in syn::token - Rust

    Struct syn::token::Or

    source ·
    #[repr(C)]
    pub struct Or { + pub spans: [Span; 1], +}
    Expand description

    |

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Or

    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 Debug for Or

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Or

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Or

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Or

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Or

    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 Parse for Or

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Or> for Or

    source§

    fn eq(&self, _other: &Or) -> 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 ToTokens for Or

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Or

    source§

    impl Eq for Or

    source§

    impl Token for Or

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Or

    §

    impl !Send for Or

    §

    impl !Sync for Or

    §

    impl Unpin for Or

    §

    impl UnwindSafe for Or

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.OrEq.html b/syn/token/struct.OrEq.html index a70567a..1171812 100644 --- a/syn/token/struct.OrEq.html +++ b/syn/token/struct.OrEq.html @@ -1,13 +1,24 @@ -OrEq in syn::token - Rust

    Struct syn::token::OrEq

    source ·
    #[repr(C)]
    pub struct OrEq { - pub spans: [Span; 2], -}
    Expand description

    |=

    +OrEq in syn::token - Rust

    Struct syn::token::OrEq

    source ·
    #[repr(C)]
    pub struct OrEq { + pub spans: [Span; 2], +}
    Expand description

    |=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for OrEq

    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 Debug for OrEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for OrEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for OrEq

    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 Parse for OrEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<OrEq> for OrEq

    source§

    fn eq(&self, _other: &OrEq) -> 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 ToTokens for OrEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for OrEq

    source§

    impl Eq for OrEq

    source§

    impl Token for OrEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for OrEq

    §

    impl !Send for OrEq

    §

    impl !Sync for OrEq

    §

    impl Unpin for OrEq

    §

    impl UnwindSafe for OrEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.OrOr.html b/syn/token/struct.OrOr.html index cf67001..cfb1252 100644 --- a/syn/token/struct.OrOr.html +++ b/syn/token/struct.OrOr.html @@ -1,13 +1,24 @@ -OrOr in syn::token - Rust

    Struct syn::token::OrOr

    source ·
    #[repr(C)]
    pub struct OrOr { - pub spans: [Span; 2], -}
    Expand description

    ||

    +OrOr in syn::token - Rust

    Struct syn::token::OrOr

    source ·
    #[repr(C)]
    pub struct OrOr { + pub spans: [Span; 2], +}
    Expand description

    ||

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for OrOr

    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 Debug for OrOr

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for OrOr

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for OrOr

    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 Parse for OrOr

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<OrOr> for OrOr

    source§

    fn eq(&self, _other: &OrOr) -> 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 ToTokens for OrOr

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for OrOr

    source§

    impl Eq for OrOr

    source§

    impl Token for OrOr

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for OrOr

    §

    impl !Send for OrOr

    §

    impl !Sync for OrOr

    §

    impl Unpin for OrOr

    §

    impl UnwindSafe for OrOr

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Override.html b/syn/token/struct.Override.html index a96e5ff..15dc4ad 100644 --- a/syn/token/struct.Override.html +++ b/syn/token/struct.Override.html @@ -1,13 +1,24 @@ -Override in syn::token - Rust

    Struct syn::token::Override

    source ·
    pub struct Override {
    +Override in syn::token - Rust

    Struct syn::token::Override

    source ·
    pub struct Override {
         pub span: Span,
    -}
    Expand description

    override

    +}
    Expand description

    override

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Override

    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 Debug for Override

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Override

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Override

    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 Parse for Override

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Override> for Override

    source§

    fn eq(&self, _other: &Override) -> 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 ToTokens for Override

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Override

    source§

    impl Eq for Override

    source§

    impl Token for Override

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Paren.html b/syn/token/struct.Paren.html index 6e7b3ad..20e01d7 100644 --- a/syn/token/struct.Paren.html +++ b/syn/token/struct.Paren.html @@ -1,10 +1,20 @@ -Paren in syn::token - Rust

    Struct syn::token::Paren

    source ·
    pub struct Paren {
    +Paren in syn::token - Rust

    Struct syn::token::Paren

    source ·
    pub struct Paren {
         pub span: Span,
    -}
    Expand description

    (...)

    -

    Fields§

    §span: Span

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +}
    Expand description

    (...)

    +

    Fields§

    §span: Span

    Implementations§

    source§

    impl Paren

    source

    pub fn surround<F>(&self, tokens: &mut TokenStream, f: F)where + F: FnOnce(&mut TokenStream),

    Trait Implementations§

    source§

    impl Clone for Paren

    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 Debug for Paren

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Paren

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Paren

    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 PartialEq<Paren> for Paren

    source§

    fn eq(&self, _other: &Paren) -> 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 Copy for Paren

    source§

    impl Eq for Paren

    source§

    impl Token for Paren

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Paren

    §

    impl !Send for Paren

    §

    impl !Sync for Paren

    §

    impl Unpin for Paren

    §

    impl UnwindSafe for Paren

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Pound.html b/syn/token/struct.Pound.html index 872d594..9035e8a 100644 --- a/syn/token/struct.Pound.html +++ b/syn/token/struct.Pound.html @@ -1,13 +1,24 @@ -Pound in syn::token - Rust

    Struct syn::token::Pound

    source ·
    #[repr(C)]
    pub struct Pound { - pub spans: [Span; 1], -}
    Expand description

    #

    +Pound in syn::token - Rust

    Struct syn::token::Pound

    source ·
    #[repr(C)]
    pub struct Pound { + pub spans: [Span; 1], +}
    Expand description

    #

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Pound

    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 Debug for Pound

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Pound

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Pound

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Pound

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Pound

    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 Parse for Pound

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Pound> for Pound

    source§

    fn eq(&self, _other: &Pound) -> 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 ToTokens for Pound

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Pound

    source§

    impl Eq for Pound

    source§

    impl Token for Pound

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Pound

    §

    impl !Send for Pound

    §

    impl !Sync for Pound

    §

    impl Unpin for Pound

    §

    impl UnwindSafe for Pound

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Priv.html b/syn/token/struct.Priv.html index bc6cc23..7b26e6c 100644 --- a/syn/token/struct.Priv.html +++ b/syn/token/struct.Priv.html @@ -1,13 +1,24 @@ -Priv in syn::token - Rust

    Struct syn::token::Priv

    source ·
    pub struct Priv {
    +Priv in syn::token - Rust

    Struct syn::token::Priv

    source ·
    pub struct Priv {
         pub span: Span,
    -}
    Expand description

    priv

    +}
    Expand description

    priv

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Priv

    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 Debug for Priv

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Priv

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Priv

    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 Parse for Priv

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Priv> for Priv

    source§

    fn eq(&self, _other: &Priv) -> 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 ToTokens for Priv

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Priv

    source§

    impl Eq for Priv

    source§

    impl Token for Priv

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Priv

    §

    impl !Send for Priv

    §

    impl !Sync for Priv

    §

    impl Unpin for Priv

    §

    impl UnwindSafe for Priv

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Pub.html b/syn/token/struct.Pub.html index 553cb6b..d3f4fad 100644 --- a/syn/token/struct.Pub.html +++ b/syn/token/struct.Pub.html @@ -1,13 +1,24 @@ -Pub in syn::token - Rust

    Struct syn::token::Pub

    source ·
    pub struct Pub {
    +Pub in syn::token - Rust

    Struct syn::token::Pub

    source ·
    pub struct Pub {
         pub span: Span,
    -}
    Expand description

    pub

    +}
    Expand description

    pub

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Pub

    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 Debug for Pub

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Pub

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Pub

    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 Parse for Pub

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Pub> for Pub

    source§

    fn eq(&self, _other: &Pub) -> 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 ToTokens for Pub

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Pub

    source§

    impl Eq for Pub

    source§

    impl Token for Pub

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Pub

    §

    impl !Send for Pub

    §

    impl !Sync for Pub

    §

    impl Unpin for Pub

    §

    impl UnwindSafe for Pub

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Question.html b/syn/token/struct.Question.html index 2671798..ee486f2 100644 --- a/syn/token/struct.Question.html +++ b/syn/token/struct.Question.html @@ -1,13 +1,24 @@ -Question in syn::token - Rust

    Struct syn::token::Question

    source ·
    #[repr(C)]
    pub struct Question { - pub spans: [Span; 1], -}
    Expand description

    ?

    +Question in syn::token - Rust

    Struct syn::token::Question

    source ·
    #[repr(C)]
    pub struct Question { + pub spans: [Span; 1], +}
    Expand description

    ?

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Question

    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 Debug for Question

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Question

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Question

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Question

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Question

    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 Parse for Question

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Question> for Question

    source§

    fn eq(&self, _other: &Question) -> 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 ToTokens for Question

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Question

    source§

    impl Eq for Question

    source§

    impl Token for Question

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.RArrow.html b/syn/token/struct.RArrow.html index 2c3abc9..17e59c7 100644 --- a/syn/token/struct.RArrow.html +++ b/syn/token/struct.RArrow.html @@ -1,13 +1,24 @@ -RArrow in syn::token - Rust

    Struct syn::token::RArrow

    source ·
    #[repr(C)]
    pub struct RArrow { - pub spans: [Span; 2], -}
    Expand description

    ->

    +RArrow in syn::token - Rust

    Struct syn::token::RArrow

    source ·
    #[repr(C)]
    pub struct RArrow { + pub spans: [Span; 2], +}
    Expand description

    ->

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for RArrow

    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 Debug for RArrow

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for RArrow

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for RArrow

    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 Parse for RArrow

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<RArrow> for RArrow

    source§

    fn eq(&self, _other: &RArrow) -> 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 ToTokens for RArrow

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for RArrow

    source§

    impl Eq for RArrow

    source§

    impl Token for RArrow

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for RArrow

    §

    impl !Send for RArrow

    §

    impl !Sync for RArrow

    §

    impl Unpin for RArrow

    §

    impl UnwindSafe for RArrow

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Ref.html b/syn/token/struct.Ref.html index 3b66642..8518b91 100644 --- a/syn/token/struct.Ref.html +++ b/syn/token/struct.Ref.html @@ -1,13 +1,24 @@ -Ref in syn::token - Rust

    Struct syn::token::Ref

    source ·
    pub struct Ref {
    +Ref in syn::token - Rust

    Struct syn::token::Ref

    source ·
    pub struct Ref {
         pub span: Span,
    -}
    Expand description

    ref

    +}
    Expand description

    ref

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Ref

    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 Debug for Ref

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Ref

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Ref

    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 Parse for Ref

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Ref> for Ref

    source§

    fn eq(&self, _other: &Ref) -> 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 ToTokens for Ref

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Ref

    source§

    impl Eq for Ref

    source§

    impl Token for Ref

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Ref

    §

    impl !Send for Ref

    §

    impl !Sync for Ref

    §

    impl Unpin for Ref

    §

    impl UnwindSafe for Ref

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Rem.html b/syn/token/struct.Rem.html index cb4c99e..0dff133 100644 --- a/syn/token/struct.Rem.html +++ b/syn/token/struct.Rem.html @@ -1,13 +1,24 @@ -Rem in syn::token - Rust

    Struct syn::token::Rem

    source ·
    #[repr(C)]
    pub struct Rem { - pub spans: [Span; 1], -}
    Expand description

    %

    +Rem in syn::token - Rust

    Struct syn::token::Rem

    source ·
    #[repr(C)]
    pub struct Rem { + pub spans: [Span; 1], +}
    Expand description

    %

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Rem

    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 Debug for Rem

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Rem

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Rem

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Rem

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Rem

    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 Parse for Rem

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Rem> for Rem

    source§

    fn eq(&self, _other: &Rem) -> 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 ToTokens for Rem

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Rem

    source§

    impl Eq for Rem

    source§

    impl Token for Rem

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Rem

    §

    impl !Send for Rem

    §

    impl !Sync for Rem

    §

    impl Unpin for Rem

    §

    impl UnwindSafe for Rem

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.RemEq.html b/syn/token/struct.RemEq.html index 0f1b231..5f1368c 100644 --- a/syn/token/struct.RemEq.html +++ b/syn/token/struct.RemEq.html @@ -1,13 +1,24 @@ -RemEq in syn::token - Rust

    Struct syn::token::RemEq

    source ·
    #[repr(C)]
    pub struct RemEq { - pub spans: [Span; 2], -}
    Expand description

    %=

    +RemEq in syn::token - Rust

    Struct syn::token::RemEq

    source ·
    #[repr(C)]
    pub struct RemEq { + pub spans: [Span; 2], +}
    Expand description

    %=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for RemEq

    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 Debug for RemEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for RemEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for RemEq

    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 Parse for RemEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<RemEq> for RemEq

    source§

    fn eq(&self, _other: &RemEq) -> 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 ToTokens for RemEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for RemEq

    source§

    impl Eq for RemEq

    source§

    impl Token for RemEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for RemEq

    §

    impl !Send for RemEq

    §

    impl !Sync for RemEq

    §

    impl Unpin for RemEq

    §

    impl UnwindSafe for RemEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Return.html b/syn/token/struct.Return.html index 8279acf..aa9bc8a 100644 --- a/syn/token/struct.Return.html +++ b/syn/token/struct.Return.html @@ -1,13 +1,24 @@ -Return in syn::token - Rust

    Struct syn::token::Return

    source ·
    pub struct Return {
    +Return in syn::token - Rust

    Struct syn::token::Return

    source ·
    pub struct Return {
         pub span: Span,
    -}
    Expand description

    return

    +}
    Expand description

    return

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Return

    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 Debug for Return

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Return

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Return

    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 Parse for Return

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Return> for Return

    source§

    fn eq(&self, _other: &Return) -> 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 ToTokens for Return

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Return

    source§

    impl Eq for Return

    source§

    impl Token for Return

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Return

    §

    impl !Send for Return

    §

    impl !Sync for Return

    §

    impl Unpin for Return

    §

    impl UnwindSafe for Return

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.SelfType.html b/syn/token/struct.SelfType.html index 0a0f90e..60c096e 100644 --- a/syn/token/struct.SelfType.html +++ b/syn/token/struct.SelfType.html @@ -1,13 +1,24 @@ -SelfType in syn::token - Rust

    Struct syn::token::SelfType

    source ·
    pub struct SelfType {
    +SelfType in syn::token - Rust

    Struct syn::token::SelfType

    source ·
    pub struct SelfType {
         pub span: Span,
    -}
    Expand description

    Self

    +}
    Expand description

    Self

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for SelfType

    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 Debug for SelfType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for SelfType

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl From<SelfType> for Ident

    source§

    fn from(token: SelfType) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for SelfType

    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 Parse for SelfType

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<SelfType> for SelfType

    source§

    fn eq(&self, _other: &SelfType) -> 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 ToTokens for SelfType

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for SelfType

    source§

    impl Eq for SelfType

    source§

    impl Token for SelfType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.SelfValue.html b/syn/token/struct.SelfValue.html index 5430916..29209a5 100644 --- a/syn/token/struct.SelfValue.html +++ b/syn/token/struct.SelfValue.html @@ -1,13 +1,24 @@ -SelfValue in syn::token - Rust

    Struct syn::token::SelfValue

    source ·
    pub struct SelfValue {
    +SelfValue in syn::token - Rust

    Struct syn::token::SelfValue

    source ·
    pub struct SelfValue {
         pub span: Span,
    -}
    Expand description

    self

    +}
    Expand description

    self

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for SelfValue

    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 Debug for SelfValue

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for SelfValue

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl From<SelfValue> for Ident

    source§

    fn from(token: SelfValue) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for SelfValue

    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 Parse for SelfValue

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<SelfValue> for SelfValue

    source§

    fn eq(&self, _other: &SelfValue) -> 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 ToTokens for SelfValue

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for SelfValue

    source§

    impl Eq for SelfValue

    source§

    impl Token for SelfValue

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Semi.html b/syn/token/struct.Semi.html index 6a88b6f..376a342 100644 --- a/syn/token/struct.Semi.html +++ b/syn/token/struct.Semi.html @@ -1,13 +1,24 @@ -Semi in syn::token - Rust

    Struct syn::token::Semi

    source ·
    #[repr(C)]
    pub struct Semi { - pub spans: [Span; 1], -}
    Expand description

    ;

    +Semi in syn::token - Rust

    Struct syn::token::Semi

    source ·
    #[repr(C)]
    pub struct Semi { + pub spans: [Span; 1], +}
    Expand description

    ;

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Semi

    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 Debug for Semi

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Semi

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Semi

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Semi

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Semi

    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 Parse for Semi

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Semi> for Semi

    source§

    fn eq(&self, _other: &Semi) -> 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 ToTokens for Semi

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Semi

    source§

    impl Eq for Semi

    source§

    impl Token for Semi

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Semi

    §

    impl !Send for Semi

    §

    impl !Sync for Semi

    §

    impl Unpin for Semi

    §

    impl UnwindSafe for Semi

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Shl.html b/syn/token/struct.Shl.html index 782cdb3..5100627 100644 --- a/syn/token/struct.Shl.html +++ b/syn/token/struct.Shl.html @@ -1,13 +1,24 @@ -Shl in syn::token - Rust

    Struct syn::token::Shl

    source ·
    #[repr(C)]
    pub struct Shl { - pub spans: [Span; 2], -}
    Expand description

    <<

    +Shl in syn::token - Rust

    Struct syn::token::Shl

    source ·
    #[repr(C)]
    pub struct Shl { + pub spans: [Span; 2], +}
    Expand description

    <<

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Shl

    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 Debug for Shl

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Shl

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Shl

    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 Parse for Shl

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Shl> for Shl

    source§

    fn eq(&self, _other: &Shl) -> 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 ToTokens for Shl

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Shl

    source§

    impl Eq for Shl

    source§

    impl Token for Shl

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Shl

    §

    impl !Send for Shl

    §

    impl !Sync for Shl

    §

    impl Unpin for Shl

    §

    impl UnwindSafe for Shl

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.ShlEq.html b/syn/token/struct.ShlEq.html index 2c12226..6d98d88 100644 --- a/syn/token/struct.ShlEq.html +++ b/syn/token/struct.ShlEq.html @@ -1,13 +1,24 @@ -ShlEq in syn::token - Rust

    Struct syn::token::ShlEq

    source ·
    #[repr(C)]
    pub struct ShlEq { - pub spans: [Span; 3], -}
    Expand description

    <<=

    +ShlEq in syn::token - Rust

    Struct syn::token::ShlEq

    source ·
    #[repr(C)]
    pub struct ShlEq { + pub spans: [Span; 3], +}
    Expand description

    <<=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    source§

    impl Clone for ShlEq

    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 Debug for ShlEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ShlEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for ShlEq

    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 Parse for ShlEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ShlEq> for ShlEq

    source§

    fn eq(&self, _other: &ShlEq) -> 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 ToTokens for ShlEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for ShlEq

    source§

    impl Eq for ShlEq

    source§

    impl Token for ShlEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for ShlEq

    §

    impl !Send for ShlEq

    §

    impl !Sync for ShlEq

    §

    impl Unpin for ShlEq

    §

    impl UnwindSafe for ShlEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Shr.html b/syn/token/struct.Shr.html index 903aa5e..e9d41e8 100644 --- a/syn/token/struct.Shr.html +++ b/syn/token/struct.Shr.html @@ -1,13 +1,24 @@ -Shr in syn::token - Rust

    Struct syn::token::Shr

    source ·
    #[repr(C)]
    pub struct Shr { - pub spans: [Span; 2], -}
    Expand description

    >>

    +Shr in syn::token - Rust

    Struct syn::token::Shr

    source ·
    #[repr(C)]
    pub struct Shr { + pub spans: [Span; 2], +}
    Expand description

    >>

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for Shr

    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 Debug for Shr

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Shr

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Shr

    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 Parse for Shr

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Shr> for Shr

    source§

    fn eq(&self, _other: &Shr) -> 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 ToTokens for Shr

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Shr

    source§

    impl Eq for Shr

    source§

    impl Token for Shr

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Shr

    §

    impl !Send for Shr

    §

    impl !Sync for Shr

    §

    impl Unpin for Shr

    §

    impl UnwindSafe for Shr

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.ShrEq.html b/syn/token/struct.ShrEq.html index 3a415d4..deaa370 100644 --- a/syn/token/struct.ShrEq.html +++ b/syn/token/struct.ShrEq.html @@ -1,13 +1,24 @@ -ShrEq in syn::token - Rust

    Struct syn::token::ShrEq

    source ·
    #[repr(C)]
    pub struct ShrEq { - pub spans: [Span; 3], -}
    Expand description

    >>=

    +ShrEq in syn::token - Rust

    Struct syn::token::ShrEq

    source ·
    #[repr(C)]
    pub struct ShrEq { + pub spans: [Span; 3], +}
    Expand description

    >>=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 3]

    Trait Implementations§

    source§

    impl Clone for ShrEq

    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 Debug for ShrEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ShrEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for ShrEq

    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 Parse for ShrEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<ShrEq> for ShrEq

    source§

    fn eq(&self, _other: &ShrEq) -> 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 ToTokens for ShrEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for ShrEq

    source§

    impl Eq for ShrEq

    source§

    impl Token for ShrEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for ShrEq

    §

    impl !Send for ShrEq

    §

    impl !Sync for ShrEq

    §

    impl Unpin for ShrEq

    §

    impl UnwindSafe for ShrEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Star.html b/syn/token/struct.Star.html index cb70e3a..72fcd86 100644 --- a/syn/token/struct.Star.html +++ b/syn/token/struct.Star.html @@ -1,13 +1,24 @@ -Star in syn::token - Rust

    Struct syn::token::Star

    source ·
    #[repr(C)]
    pub struct Star { - pub spans: [Span; 1], -}
    Expand description

    *

    +Star in syn::token - Rust

    Struct syn::token::Star

    source ·
    #[repr(C)]
    pub struct Star { + pub spans: [Span; 1], +}
    Expand description

    *

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Star

    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 Debug for Star

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Star

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Star

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Star

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Star

    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 Parse for Star

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Star> for Star

    source§

    fn eq(&self, _other: &Star) -> 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 ToTokens for Star

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Star

    source§

    impl Eq for Star

    source§

    impl Token for Star

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Star

    §

    impl !Send for Star

    §

    impl !Sync for Star

    §

    impl Unpin for Star

    §

    impl UnwindSafe for Star

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Static.html b/syn/token/struct.Static.html index 4ec03e4..dab86fd 100644 --- a/syn/token/struct.Static.html +++ b/syn/token/struct.Static.html @@ -1,13 +1,24 @@ -Static in syn::token - Rust

    Struct syn::token::Static

    source ·
    pub struct Static {
    +Static in syn::token - Rust

    Struct syn::token::Static

    source ·
    pub struct Static {
         pub span: Span,
    -}
    Expand description

    static

    +}
    Expand description

    static

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Static

    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 Debug for Static

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Static

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Static

    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 Parse for Static

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Static> for Static

    source§

    fn eq(&self, _other: &Static) -> 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 ToTokens for Static

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Static

    source§

    impl Eq for Static

    source§

    impl Token for Static

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Static

    §

    impl !Send for Static

    §

    impl !Sync for Static

    §

    impl Unpin for Static

    §

    impl UnwindSafe for Static

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Struct.html b/syn/token/struct.Struct.html index ccf84d8..54f23f6 100644 --- a/syn/token/struct.Struct.html +++ b/syn/token/struct.Struct.html @@ -1,13 +1,24 @@ -Struct in syn::token - Rust

    Struct syn::token::Struct

    source ·
    pub struct Struct {
    +Struct in syn::token - Rust

    Struct syn::token::Struct

    source ·
    pub struct Struct {
         pub span: Span,
    -}
    Expand description

    struct

    +}
    Expand description

    struct

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Struct

    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 Debug for Struct

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Struct

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Struct

    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 Parse for Struct

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Struct> for Struct

    source§

    fn eq(&self, _other: &Struct) -> 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 ToTokens for Struct

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Struct

    source§

    impl Eq for Struct

    source§

    impl Token for Struct

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Struct

    §

    impl !Send for Struct

    §

    impl !Sync for Struct

    §

    impl Unpin for Struct

    §

    impl UnwindSafe for Struct

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Sub.html b/syn/token/struct.Sub.html index 2ad3f24..724723e 100644 --- a/syn/token/struct.Sub.html +++ b/syn/token/struct.Sub.html @@ -1,13 +1,24 @@ -Sub in syn::token - Rust

    Struct syn::token::Sub

    source ·
    #[repr(C)]
    pub struct Sub { - pub spans: [Span; 1], -}
    Expand description

    -

    +Sub in syn::token - Rust

    Struct syn::token::Sub

    source ·
    #[repr(C)]
    pub struct Sub { + pub spans: [Span; 1], +}
    Expand description

    -

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Sub

    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 Debug for Sub

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Sub

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Sub

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Sub

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Sub

    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 Parse for Sub

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Sub> for Sub

    source§

    fn eq(&self, _other: &Sub) -> 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 ToTokens for Sub

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Sub

    source§

    impl Eq for Sub

    source§

    impl Token for Sub

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Sub

    §

    impl !Send for Sub

    §

    impl !Sync for Sub

    §

    impl Unpin for Sub

    §

    impl UnwindSafe for Sub

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.SubEq.html b/syn/token/struct.SubEq.html index 23712b9..dd4276a 100644 --- a/syn/token/struct.SubEq.html +++ b/syn/token/struct.SubEq.html @@ -1,13 +1,24 @@ -SubEq in syn::token - Rust

    Struct syn::token::SubEq

    source ·
    #[repr(C)]
    pub struct SubEq { - pub spans: [Span; 2], -}
    Expand description

    -=

    +SubEq in syn::token - Rust

    Struct syn::token::SubEq

    source ·
    #[repr(C)]
    pub struct SubEq { + pub spans: [Span; 2], +}
    Expand description

    -=

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 2]

    Trait Implementations§

    source§

    impl Clone for SubEq

    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 Debug for SubEq

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for SubEq

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for SubEq

    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 Parse for SubEq

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<SubEq> for SubEq

    source§

    fn eq(&self, _other: &SubEq) -> 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 ToTokens for SubEq

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for SubEq

    source§

    impl Eq for SubEq

    source§

    impl Token for SubEq

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for SubEq

    §

    impl !Send for SubEq

    §

    impl !Sync for SubEq

    §

    impl Unpin for SubEq

    §

    impl UnwindSafe for SubEq

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Super.html b/syn/token/struct.Super.html index ed3700c..a9a38d0 100644 --- a/syn/token/struct.Super.html +++ b/syn/token/struct.Super.html @@ -1,13 +1,24 @@ -Super in syn::token - Rust

    Struct syn::token::Super

    source ·
    pub struct Super {
    +Super in syn::token - Rust

    Struct syn::token::Super

    source ·
    pub struct Super {
         pub span: Span,
    -}
    Expand description

    super

    +}
    Expand description

    super

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Super

    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 Debug for Super

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Super

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl From<Super> for Ident

    source§

    fn from(token: Super) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for Super

    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 Parse for Super

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Super> for Super

    source§

    fn eq(&self, _other: &Super) -> 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 ToTokens for Super

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Super

    source§

    impl Eq for Super

    source§

    impl Token for Super

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Super

    §

    impl !Send for Super

    §

    impl !Sync for Super

    §

    impl Unpin for Super

    §

    impl UnwindSafe for Super

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Tilde.html b/syn/token/struct.Tilde.html index 72b9f83..9abdd2b 100644 --- a/syn/token/struct.Tilde.html +++ b/syn/token/struct.Tilde.html @@ -1,13 +1,24 @@ -Tilde in syn::token - Rust

    Struct syn::token::Tilde

    source ·
    #[repr(C)]
    pub struct Tilde { - pub spans: [Span; 1], -}
    Expand description

    ~

    +Tilde in syn::token - Rust

    Struct syn::token::Tilde

    source ·
    #[repr(C)]
    pub struct Tilde { + pub spans: [Span; 1], +}
    Expand description

    ~

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Tilde

    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 Debug for Tilde

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Tilde

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Tilde

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Tilde

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl Hash for Tilde

    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 Parse for Tilde

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Tilde> for Tilde

    source§

    fn eq(&self, _other: &Tilde) -> 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 ToTokens for Tilde

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Tilde

    source§

    impl Eq for Tilde

    source§

    impl Token for Tilde

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Tilde

    §

    impl !Send for Tilde

    §

    impl !Sync for Tilde

    §

    impl Unpin for Tilde

    §

    impl UnwindSafe for Tilde

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Trait.html b/syn/token/struct.Trait.html index 81d806c..38e8db4 100644 --- a/syn/token/struct.Trait.html +++ b/syn/token/struct.Trait.html @@ -1,13 +1,24 @@ -Trait in syn::token - Rust

    Struct syn::token::Trait

    source ·
    pub struct Trait {
    +Trait in syn::token - Rust

    Struct syn::token::Trait

    source ·
    pub struct Trait {
         pub span: Span,
    -}
    Expand description

    trait

    +}
    Expand description

    trait

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Trait

    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 Debug for Trait

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Trait

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Trait

    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 Parse for Trait

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Trait> for Trait

    source§

    fn eq(&self, _other: &Trait) -> 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 ToTokens for Trait

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Trait

    source§

    impl Eq for Trait

    source§

    impl Token for Trait

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Trait

    §

    impl !Send for Trait

    §

    impl !Sync for Trait

    §

    impl Unpin for Trait

    §

    impl UnwindSafe for Trait

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Try.html b/syn/token/struct.Try.html index 9df20c0..883cf12 100644 --- a/syn/token/struct.Try.html +++ b/syn/token/struct.Try.html @@ -1,13 +1,24 @@ -Try in syn::token - Rust

    Struct syn::token::Try

    source ·
    pub struct Try {
    +Try in syn::token - Rust

    Struct syn::token::Try

    source ·
    pub struct Try {
         pub span: Span,
    -}
    Expand description

    try

    +}
    Expand description

    try

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Try

    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 Debug for Try

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Try

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Try

    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 Parse for Try

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Try> for Try

    source§

    fn eq(&self, _other: &Try) -> 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 ToTokens for Try

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Try

    source§

    impl Eq for Try

    source§

    impl Token for Try

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Try

    §

    impl !Send for Try

    §

    impl !Sync for Try

    §

    impl Unpin for Try

    §

    impl UnwindSafe for Try

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Type.html b/syn/token/struct.Type.html index 0c826cd..c43c0e8 100644 --- a/syn/token/struct.Type.html +++ b/syn/token/struct.Type.html @@ -1,13 +1,24 @@ -Type in syn::token - Rust

    Struct syn::token::Type

    source ·
    pub struct Type {
    +Type in syn::token - Rust

    Struct syn::token::Type

    source ·
    pub struct Type {
         pub span: Span,
    -}
    Expand description

    type

    +}
    Expand description

    type

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Type

    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 Debug for Type

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Type

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Type

    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 Parse for Type

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Type> for Type

    source§

    fn eq(&self, _other: &Type) -> 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 ToTokens for Type

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Type

    source§

    impl Eq for Type

    source§

    impl Token for Type

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Type

    §

    impl !Send for Type

    §

    impl !Sync for Type

    §

    impl Unpin for Type

    §

    impl UnwindSafe for Type

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Typeof.html b/syn/token/struct.Typeof.html index a1a64c0..6a9179c 100644 --- a/syn/token/struct.Typeof.html +++ b/syn/token/struct.Typeof.html @@ -1,13 +1,24 @@ -Typeof in syn::token - Rust

    Struct syn::token::Typeof

    source ·
    pub struct Typeof {
    +Typeof in syn::token - Rust

    Struct syn::token::Typeof

    source ·
    pub struct Typeof {
         pub span: Span,
    -}
    Expand description

    typeof

    +}
    Expand description

    typeof

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Typeof

    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 Debug for Typeof

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Typeof

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Typeof

    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 Parse for Typeof

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Typeof> for Typeof

    source§

    fn eq(&self, _other: &Typeof) -> 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 ToTokens for Typeof

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Typeof

    source§

    impl Eq for Typeof

    source§

    impl Token for Typeof

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Typeof

    §

    impl !Send for Typeof

    §

    impl !Sync for Typeof

    §

    impl Unpin for Typeof

    §

    impl UnwindSafe for Typeof

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Underscore.html b/syn/token/struct.Underscore.html index 3f9197a..63351ba 100644 --- a/syn/token/struct.Underscore.html +++ b/syn/token/struct.Underscore.html @@ -1,13 +1,24 @@ -Underscore in syn::token - Rust

    Struct syn::token::Underscore

    source ·
    #[repr(C)]
    pub struct Underscore { - pub spans: [Span; 1], -}
    Expand description

    _

    +Underscore in syn::token - Rust

    Struct syn::token::Underscore

    source ·
    #[repr(C)]
    pub struct Underscore { + pub spans: [Span; 1], +}
    Expand description

    _

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    The resulting type after dereferencing.
    Dereferences the value.
    Mutably dereferences the value.
    Converts to this type from the input type.
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §spans: [Span; 1]

    Trait Implementations§

    source§

    impl Clone for Underscore

    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 Debug for Underscore

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Underscore

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deref for Underscore

    §

    type Target = WithSpan

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for Underscore

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.
    source§

    impl From<Underscore> for Ident

    source§

    fn from(token: Underscore) -> Ident

    Converts to this type from the input type.
    source§

    impl Hash for Underscore

    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 Parse for Underscore

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Underscore> for Underscore

    source§

    fn eq(&self, _other: &Underscore) -> 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 ToTokens for Underscore

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Underscore

    source§

    impl Eq for Underscore

    source§

    impl Token for Underscore

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Union.html b/syn/token/struct.Union.html index ae7aaf6..e29b594 100644 --- a/syn/token/struct.Union.html +++ b/syn/token/struct.Union.html @@ -1,13 +1,24 @@ -Union in syn::token - Rust

    Struct syn::token::Union

    source ·
    pub struct Union {
    +Union in syn::token - Rust

    Struct syn::token::Union

    source ·
    pub struct Union {
         pub span: Span,
    -}
    Expand description

    union

    +}
    Expand description

    union

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Union

    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 Debug for Union

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Union

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Union

    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 Parse for Union

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Union> for Union

    source§

    fn eq(&self, _other: &Union) -> 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 ToTokens for Union

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Union

    source§

    impl Eq for Union

    source§

    impl Token for Union

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Union

    §

    impl !Send for Union

    §

    impl !Sync for Union

    §

    impl Unpin for Union

    §

    impl UnwindSafe for Union

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Unsafe.html b/syn/token/struct.Unsafe.html index 7a855de..bba6605 100644 --- a/syn/token/struct.Unsafe.html +++ b/syn/token/struct.Unsafe.html @@ -1,13 +1,24 @@ -Unsafe in syn::token - Rust

    Struct syn::token::Unsafe

    source ·
    pub struct Unsafe {
    +Unsafe in syn::token - Rust

    Struct syn::token::Unsafe

    source ·
    pub struct Unsafe {
         pub span: Span,
    -}
    Expand description

    unsafe

    +}
    Expand description

    unsafe

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Unsafe

    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 Debug for Unsafe

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Unsafe

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Unsafe

    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 Parse for Unsafe

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Unsafe> for Unsafe

    source§

    fn eq(&self, _other: &Unsafe) -> 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 ToTokens for Unsafe

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Unsafe

    source§

    impl Eq for Unsafe

    source§

    impl Token for Unsafe

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Unsafe

    §

    impl !Send for Unsafe

    §

    impl !Sync for Unsafe

    §

    impl Unpin for Unsafe

    §

    impl UnwindSafe for Unsafe

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Unsized.html b/syn/token/struct.Unsized.html index a3a98e4..0bdcc6e 100644 --- a/syn/token/struct.Unsized.html +++ b/syn/token/struct.Unsized.html @@ -1,13 +1,24 @@ -Unsized in syn::token - Rust

    Struct syn::token::Unsized

    source ·
    pub struct Unsized {
    +Unsized in syn::token - Rust

    Struct syn::token::Unsized

    source ·
    pub struct Unsized {
         pub span: Span,
    -}
    Expand description

    unsized

    +}
    Expand description

    unsized

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Unsized

    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 Debug for Unsized

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Unsized

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Unsized

    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 Parse for Unsized

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Unsized> for Unsized

    source§

    fn eq(&self, _other: &Unsized) -> 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 ToTokens for Unsized

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Unsized

    source§

    impl Eq for Unsized

    source§

    impl Token for Unsized

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Use.html b/syn/token/struct.Use.html index a45d47f..fa1b373 100644 --- a/syn/token/struct.Use.html +++ b/syn/token/struct.Use.html @@ -1,13 +1,24 @@ -Use in syn::token - Rust

    Struct syn::token::Use

    source ·
    pub struct Use {
    +Use in syn::token - Rust

    Struct syn::token::Use

    source ·
    pub struct Use {
         pub span: Span,
    -}
    Expand description

    use

    +}
    Expand description

    use

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Use

    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 Debug for Use

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Use

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Use

    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 Parse for Use

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Use> for Use

    source§

    fn eq(&self, _other: &Use) -> 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 ToTokens for Use

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Use

    source§

    impl Eq for Use

    source§

    impl Token for Use

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Use

    §

    impl !Send for Use

    §

    impl !Sync for Use

    §

    impl Unpin for Use

    §

    impl UnwindSafe for Use

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Virtual.html b/syn/token/struct.Virtual.html index efca549..abbe2ac 100644 --- a/syn/token/struct.Virtual.html +++ b/syn/token/struct.Virtual.html @@ -1,13 +1,24 @@ -Virtual in syn::token - Rust

    Struct syn::token::Virtual

    source ·
    pub struct Virtual {
    +Virtual in syn::token - Rust

    Struct syn::token::Virtual

    source ·
    pub struct Virtual {
         pub span: Span,
    -}
    Expand description

    virtual

    +}
    Expand description

    virtual

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Virtual

    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 Debug for Virtual

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Virtual

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Virtual

    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 Parse for Virtual

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Virtual> for Virtual

    source§

    fn eq(&self, _other: &Virtual) -> 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 ToTokens for Virtual

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Virtual

    source§

    impl Eq for Virtual

    source§

    impl Token for Virtual

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Where.html b/syn/token/struct.Where.html index 3eeb8db..2252ae5 100644 --- a/syn/token/struct.Where.html +++ b/syn/token/struct.Where.html @@ -1,13 +1,24 @@ -Where in syn::token - Rust

    Struct syn::token::Where

    source ·
    pub struct Where {
    +Where in syn::token - Rust

    Struct syn::token::Where

    source ·
    pub struct Where {
         pub span: Span,
    -}
    Expand description

    where

    +}
    Expand description

    where

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Where

    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 Debug for Where

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Where

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Where

    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 Parse for Where

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Where> for Where

    source§

    fn eq(&self, _other: &Where) -> 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 ToTokens for Where

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Where

    source§

    impl Eq for Where

    source§

    impl Token for Where

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Where

    §

    impl !Send for Where

    §

    impl !Sync for Where

    §

    impl Unpin for Where

    §

    impl UnwindSafe for Where

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.While.html b/syn/token/struct.While.html index 2bbdaea..a914f97 100644 --- a/syn/token/struct.While.html +++ b/syn/token/struct.While.html @@ -1,13 +1,24 @@ -While in syn::token - Rust

    Struct syn::token::While

    source ·
    pub struct While {
    +While in syn::token - Rust

    Struct syn::token::While

    source ·
    pub struct While {
         pub span: Span,
    -}
    Expand description

    while

    +}
    Expand description

    while

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for While

    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 Debug for While

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for While

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for While

    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 Parse for While

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<While> for While

    source§

    fn eq(&self, _other: &While) -> 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 ToTokens for While

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for While

    source§

    impl Eq for While

    source§

    impl Token for While

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for While

    §

    impl !Send for While

    §

    impl !Sync for While

    §

    impl Unpin for While

    §

    impl UnwindSafe for While

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/struct.Yield.html b/syn/token/struct.Yield.html index d977722..dc746ad 100644 --- a/syn/token/struct.Yield.html +++ b/syn/token/struct.Yield.html @@ -1,13 +1,24 @@ -Yield in syn::token - Rust

    Struct syn::token::Yield

    source ·
    pub struct Yield {
    +Yield in syn::token - Rust

    Struct syn::token::Yield

    source ·
    pub struct Yield {
         pub span: Span,
    -}
    Expand description

    yield

    +}
    Expand description

    yield

    Don’t try to remember the name of this type — use the -Token! macro instead.

    -

    Fields§

    §span: Span

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +Token! macro instead.

    +

    Fields§

    §span: Span

    Trait Implementations§

    source§

    impl Clone for Yield

    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 Debug for Yield

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Yield

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Hash for Yield

    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 Parse for Yield

    source§

    fn parse(input: ParseStream<'_>) -> Result<Self>

    source§

    impl PartialEq<Yield> for Yield

    source§

    fn eq(&self, _other: &Yield) -> 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 ToTokens for Yield

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for Yield

    source§

    impl Eq for Yield

    source§

    impl Token for Yield

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Yield

    §

    impl !Send for Yield

    §

    impl !Sync for Yield

    §

    impl Unpin for Yield

    §

    impl UnwindSafe for Yield

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/syn/token/trait.Token.html b/syn/token/trait.Token.html index a43af59..f1369af 100644 --- a/syn/token/trait.Token.html +++ b/syn/token/trait.Token.html @@ -1,3 +1,3 @@ -Token in syn::token - Rust

    Trait syn::token::Token

    source ·
    pub trait Token: Sealed { }
    Expand description

    Marker trait for types that represent single tokens.

    +Token in syn::token - Rust

    Trait syn::token::Token

    source ·
    pub trait Token: Sealed { }
    Expand description

    Marker trait for types that represent single tokens.

    This trait is sealed and cannot be implemented for types outside of Syn.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Implementations on Foreign Types§

    source§

    impl Token for Group

    source§

    impl Token for Literal

    source§

    impl Token for TokenTree

    source§

    impl Token for Punct

    Implementors§

    source§

    impl Token for Lit

    source§

    impl Token for Ident

    source§

    impl Token for Lifetime

    source§

    impl Token for LitBool

    source§

    impl Token for LitByte

    source§

    impl Token for LitByteStr

    source§

    impl Token for LitChar

    source§

    impl Token for LitFloat

    source§

    impl Token for LitInt

    source§

    impl Token for LitStr

    source§

    impl Token for Abstract

    source§

    impl Token for Add

    source§

    impl Token for AddEq

    source§

    impl Token for And

    source§

    impl Token for AndAnd

    source§

    impl Token for AndEq

    source§

    impl Token for As

    source§

    impl Token for Async

    source§

    impl Token for At

    source§

    impl Token for Auto

    source§

    impl Token for Await

    source§

    impl Token for Bang

    source§

    impl Token for Become

    source§

    impl Token for Box

    source§

    impl Token for Brace

    source§

    impl Token for Bracket

    source§

    impl Token for Break

    source§

    impl Token for Caret

    source§

    impl Token for CaretEq

    source§

    impl Token for Colon2

    source§

    impl Token for Colon

    source§

    impl Token for Comma

    source§

    impl Token for Const

    source§

    impl Token for Continue

    source§

    impl Token for Crate

    source§

    impl Token for Default

    source§

    impl Token for Div

    source§

    impl Token for DivEq

    source§

    impl Token for Do

    source§

    impl Token for Dollar

    source§

    impl Token for Dot2

    source§

    impl Token for Dot3

    source§

    impl Token for Dot

    source§

    impl Token for DotDotEq

    source§

    impl Token for Dyn

    source§

    impl Token for Else

    source§

    impl Token for Enum

    source§

    impl Token for Eq

    source§

    impl Token for EqEq

    source§

    impl Token for Extern

    source§

    impl Token for FatArrow

    source§

    impl Token for Final

    source§

    impl Token for Fn

    source§

    impl Token for For

    source§

    impl Token for Ge

    source§

    impl Token for syn::token::Group

    source§

    impl Token for Gt

    source§

    impl Token for If

    source§

    impl Token for Impl

    source§

    impl Token for In

    source§

    impl Token for LArrow

    source§

    impl Token for Le

    source§

    impl Token for Let

    source§

    impl Token for Loop

    source§

    impl Token for Lt

    source§

    impl Token for Macro

    source§

    impl Token for Match

    source§

    impl Token for Mod

    source§

    impl Token for Move

    source§

    impl Token for MulEq

    source§

    impl Token for Mut

    source§

    impl Token for Ne

    source§

    impl Token for Or

    source§

    impl Token for OrEq

    source§

    impl Token for OrOr

    source§

    impl Token for Override

    source§

    impl Token for Paren

    source§

    impl Token for Pound

    source§

    impl Token for Priv

    source§

    impl Token for Pub

    source§

    impl Token for Question

    source§

    impl Token for RArrow

    source§

    impl Token for Ref

    source§

    impl Token for Rem

    source§

    impl Token for RemEq

    source§

    impl Token for Return

    source§

    impl Token for SelfType

    source§

    impl Token for SelfValue

    source§

    impl Token for Semi

    source§

    impl Token for Shl

    source§

    impl Token for ShlEq

    source§

    impl Token for Shr

    source§

    impl Token for ShrEq

    source§

    impl Token for Star

    source§

    impl Token for Static

    source§

    impl Token for Struct

    source§

    impl Token for Sub

    source§

    impl Token for SubEq

    source§

    impl Token for Super

    source§

    impl Token for Tilde

    source§

    impl Token for Trait

    source§

    impl Token for Try

    source§

    impl Token for Type

    source§

    impl Token for Typeof

    source§

    impl Token for Underscore

    source§

    impl Token for Union

    source§

    impl Token for Unsafe

    source§

    impl Token for Unsized

    source§

    impl Token for Use

    source§

    impl Token for Virtual

    source§

    impl Token for Where

    source§

    impl Token for While

    source§

    impl Token for Yield

    source§

    impl<T: CustomToken> Token for T

    \ No newline at end of file diff --git a/syn/type.AttributeArgs.html b/syn/type.AttributeArgs.html index b838d26..72248ea 100644 --- a/syn/type.AttributeArgs.html +++ b/syn/type.AttributeArgs.html @@ -1,4 +1,4 @@ -AttributeArgs in syn - Rust
    \ No newline at end of file +

    Aliased Type§

    struct AttributeArgs { /* private fields */ }

    Methods from Deref<Target = [T]>§

    source

    pub fn as_str(&self) -> &str

    🔬This is a nightly-only experimental API. (ascii_char)

    Views this slice of ASCII characters as a UTF-8 str.

    +
    source

    pub fn as_bytes(&self) -> &[u8]

    🔬This is a nightly-only experimental API. (ascii_char)

    Views this slice of ASCII characters as a slice of u8 bytes.

    +
    1.23.0 · source

    pub fn is_ascii(&self) -> bool

    Checks if all bytes in this slice are within the ASCII range.

    +
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    🔬This is a nightly-only experimental API. (ascii_char)

    If this slice is_ascii, returns it as a slice of +ASCII characters, otherwise returns None.

    +
    source

    pub unsafe fn as_ascii_unchecked(&self) -> &[AsciiChar]

    🔬This is a nightly-only experimental API. (ascii_char)

    Converts this slice of bytes into a slice of ASCII characters, +without checking whether they’re valid.

    +
    Safety
    +

    Every byte in the slice must be in 0..=127, or else this is UB.

    +
    1.23.0 · source

    pub fn eq_ignore_ascii_case(&self, other: &[u8]) -> bool

    Checks that two slices are an ASCII case-insensitive match.

    +

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), +but without allocating and copying temporaries.

    +
    1.60.0 · source

    pub fn escape_ascii(&self) -> EscapeAscii<'_>

    Returns an iterator that produces an escaped version of this slice, +treating it as an ASCII string.

    +
    Examples
    +
    
    +let s = b"0\t\r\n'\"\\\x9d";
    +let escaped = s.escape_ascii().to_string();
    +assert_eq!(escaped, "0\\t\\r\\n\\'\\\"\\\\\\x9d");
    +
    source

    pub fn trim_ascii_start(&self) -> &[u8]

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a byte slice with leading ASCII whitespace bytes removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(b" \t hello world\n".trim_ascii_start(), b"hello world\n");
    +assert_eq!(b"  ".trim_ascii_start(), b"");
    +assert_eq!(b"".trim_ascii_start(), b"");
    +
    source

    pub fn trim_ascii_end(&self) -> &[u8]

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a byte slice with trailing ASCII whitespace bytes removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(b"\r hello world\n ".trim_ascii_end(), b"\r hello world");
    +assert_eq!(b"  ".trim_ascii_end(), b"");
    +assert_eq!(b"".trim_ascii_end(), b"");
    +
    source

    pub fn trim_ascii(&self) -> &[u8]

    🔬This is a nightly-only experimental API. (byte_slice_trim_ascii)

    Returns a byte slice with leading and trailing ASCII whitespace bytes +removed.

    +

    ‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

    +
    Examples
    +
    #![feature(byte_slice_trim_ascii)]
    +
    +assert_eq!(b"\r hello world\n ".trim_ascii(), b"hello world");
    +assert_eq!(b"  ".trim_ascii(), b"");
    +assert_eq!(b"".trim_ascii(), b"");
    +
    source

    pub fn flatten(&self) -> &[T]

    🔬This is a nightly-only experimental API. (slice_flatten)

    Takes a &[[T; N]], and flattens it to a &[T].

    +
    Panics
    +

    This panics if the length of the resulting slice would overflow a usize.

    +

    This is only possible when flattening a slice of arrays of zero-sized +types, and thus tends to be irrelevant in practice. If +size_of::<T>() > 0, this will never panic.

    +
    Examples
    +
    #![feature(slice_flatten)]
    +
    +assert_eq!([[1, 2, 3], [4, 5, 6]].flatten(), &[1, 2, 3, 4, 5, 6]);
    +
    +assert_eq!(
    +    [[1, 2, 3], [4, 5, 6]].flatten(),
    +    [[1, 2], [3, 4], [5, 6]].flatten(),
    +);
    +
    +let slice_of_empty_arrays: &[[i32; 0]] = &[[], [], [], [], []];
    +assert!(slice_of_empty_arrays.flatten().is_empty());
    +
    +let empty_slice_of_arrays: &[[u32; 10]] = &[];
    +assert!(empty_slice_of_arrays.flatten().is_empty());
    +
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the slice.

    +
    Examples
    +
    let a = [1, 2, 3];
    +assert_eq!(a.len(), 3);
    +
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the slice has a length of 0.

    +
    Examples
    +
    let a = [1, 2, 3];
    +assert!(!a.is_empty());
    +
    1.0.0 · source

    pub fn first(&self) -> Option<&T>

    Returns the first element of the slice, or None if it is empty.

    +
    Examples
    +
    let v = [10, 40, 30];
    +assert_eq!(Some(&10), v.first());
    +
    +let w: &[i32] = &[];
    +assert_eq!(None, w.first());
    +
    1.5.0 · source

    pub fn split_first(&self) -> Option<(&T, &[T])>

    Returns the first and all the rest of the elements of the slice, or None if it is empty.

    +
    Examples
    +
    let x = &[0, 1, 2];
    +
    +if let Some((first, elements)) = x.split_first() {
    +    assert_eq!(first, &0);
    +    assert_eq!(elements, &[1, 2]);
    +}
    +
    1.5.0 · source

    pub fn split_last(&self) -> Option<(&T, &[T])>

    Returns the last and all the rest of the elements of the slice, or None if it is empty.

    +
    Examples
    +
    let x = &[0, 1, 2];
    +
    +if let Some((last, elements)) = x.split_last() {
    +    assert_eq!(last, &2);
    +    assert_eq!(elements, &[0, 1]);
    +}
    +
    1.0.0 · source

    pub fn last(&self) -> Option<&T>

    Returns the last element of the slice, or None if it is empty.

    +
    Examples
    +
    let v = [10, 40, 30];
    +assert_eq!(Some(&30), v.last());
    +
    +let w: &[i32] = &[];
    +assert_eq!(None, w.last());
    +
    source

    pub fn first_chunk<const N: usize>(&self) -> Option<&[T; N]>

    🔬This is a nightly-only experimental API. (slice_first_last_chunk)

    Returns the first N elements of the slice, or None if it has fewer than N elements.

    +
    Examples
    +
    #![feature(slice_first_last_chunk)]
    +
    +let u = [10, 40, 30];
    +assert_eq!(Some(&[10, 40]), u.first_chunk::<2>());
    +
    +let v: &[i32] = &[10];
    +assert_eq!(None, v.first_chunk::<2>());
    +
    +let w: &[i32] = &[];
    +assert_eq!(Some(&[]), w.first_chunk::<0>());
    +
    source

    pub fn split_first_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

    🔬This is a nightly-only experimental API. (slice_first_last_chunk)

    Returns the first N elements of the slice and the remainder, +or None if it has fewer than N elements.

    +
    Examples
    +
    #![feature(slice_first_last_chunk)]
    +
    +let x = &[0, 1, 2];
    +
    +if let Some((first, elements)) = x.split_first_chunk::<2>() {
    +    assert_eq!(first, &[0, 1]);
    +    assert_eq!(elements, &[2]);
    +}
    +
    source

    pub fn split_last_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

    🔬This is a nightly-only experimental API. (slice_first_last_chunk)

    Returns the last N elements of the slice and the remainder, +or None if it has fewer than N elements.

    +
    Examples
    +
    #![feature(slice_first_last_chunk)]
    +
    +let x = &[0, 1, 2];
    +
    +if let Some((last, elements)) = x.split_last_chunk::<2>() {
    +    assert_eq!(last, &[1, 2]);
    +    assert_eq!(elements, &[0]);
    +}
    +
    source

    pub fn last_chunk<const N: usize>(&self) -> Option<&[T; N]>

    🔬This is a nightly-only experimental API. (slice_first_last_chunk)

    Returns the last element of the slice, or None if it is empty.

    +
    Examples
    +
    #![feature(slice_first_last_chunk)]
    +
    +let u = [10, 40, 30];
    +assert_eq!(Some(&[40, 30]), u.last_chunk::<2>());
    +
    +let v: &[i32] = &[10];
    +assert_eq!(None, v.last_chunk::<2>());
    +
    +let w: &[i32] = &[];
    +assert_eq!(Some(&[]), w.last_chunk::<0>());
    +
    1.0.0 · source

    pub fn get<I>(&self, index: I) -> Option<&<I as SliceIndex<[T]>>::Output>where + I: SliceIndex<[T]>,

    Returns a reference to an element or subslice depending on the type of +index.

    +
      +
    • If given a position, returns a reference to the element at that +position or None if out of bounds.
    • +
    • If given a range, returns the subslice corresponding to that range, +or None if out of bounds.
    • +
    +
    Examples
    +
    let v = [10, 40, 30];
    +assert_eq!(Some(&40), v.get(1));
    +assert_eq!(Some(&[10, 40][..]), v.get(0..2));
    +assert_eq!(None, v.get(3));
    +assert_eq!(None, v.get(0..4));
    +
    1.0.0 · source

    pub unsafe fn get_unchecked<I>( + &self, + index: I +) -> &<I as SliceIndex<[T]>>::Outputwhere + I: SliceIndex<[T]>,

    Returns a reference to an element or subslice, without doing bounds +checking.

    +

    For a safe alternative see get.

    +
    Safety
    +

    Calling this method with an out-of-bounds index is undefined behavior +even if the resulting reference is not used.

    +
    Examples
    +
    let x = &[1, 2, 4];
    +
    +unsafe {
    +    assert_eq!(x.get_unchecked(1), &2);
    +}
    +
    1.0.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the slice’s buffer.

    +

    The caller must ensure that the slice outlives the pointer this +function returns, or else it will end up pointing to garbage.

    +

    The caller must also ensure that the memory the pointer (non-transitively) points to +is never written to (except inside an UnsafeCell) using this pointer or any pointer +derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    +

    Modifying the container referenced by this slice may cause its buffer +to be reallocated, which would also make any pointers to it invalid.

    +
    Examples
    +
    let x = &[1, 2, 4];
    +let x_ptr = x.as_ptr();
    +
    +unsafe {
    +    for i in 0..x.len() {
    +        assert_eq!(x.get_unchecked(i), &*x_ptr.add(i));
    +    }
    +}
    +
    1.48.0 · source

    pub fn as_ptr_range(&self) -> Range<*const T>

    Returns the two raw pointers spanning the slice.

    +

    The returned range is half-open, which means that the end pointer +points one past the last element of the slice. This way, an empty +slice is represented by two equal pointers, and the difference between +the two pointers represents the size of the slice.

    +

    See as_ptr for warnings on using these pointers. The end pointer +requires extra caution, as it does not point to a valid element in the +slice.

    +

    This function is useful for interacting with foreign interfaces which +use two pointers to refer to a range of elements in memory, as is +common in C++.

    +

    It can also be useful to check if a pointer to an element refers to an +element of this slice:

    + +
    let a = [1, 2, 3];
    +let x = &a[1] as *const _;
    +let y = &5 as *const _;
    +
    +assert!(a.as_ptr_range().contains(&x));
    +assert!(!a.as_ptr_range().contains(&y));
    +
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the slice.

    +

    The iterator yields all items from start to end.

    +
    Examples
    +
    let x = &[1, 2, 4];
    +let mut iterator = x.iter();
    +
    +assert_eq!(iterator.next(), Some(&1));
    +assert_eq!(iterator.next(), Some(&2));
    +assert_eq!(iterator.next(), Some(&4));
    +assert_eq!(iterator.next(), None);
    +
    1.0.0 · source

    pub fn windows(&self, size: usize) -> Windows<'_, T>

    Returns an iterator over all contiguous windows of length +size. The windows overlap. If the slice is shorter than +size, the iterator returns no values.

    +
    Panics
    +

    Panics if size is 0.

    +
    Examples
    +
    let slice = ['r', 'u', 's', 't'];
    +let mut iter = slice.windows(2);
    +assert_eq!(iter.next().unwrap(), &['r', 'u']);
    +assert_eq!(iter.next().unwrap(), &['u', 's']);
    +assert_eq!(iter.next().unwrap(), &['s', 't']);
    +assert!(iter.next().is_none());
    +

    If the slice is shorter than size:

    + +
    let slice = ['f', 'o', 'o'];
    +let mut iter = slice.windows(4);
    +assert!(iter.next().is_none());
    +

    There’s no windows_mut, as that existing would let safe code violate the +“only one &mut at a time to the same thing” rule. However, you can sometimes +use Cell::as_slice_of_cells in +conjunction with windows to accomplish something similar:

    + +
    use std::cell::Cell;
    +
    +let mut array = ['R', 'u', 's', 't', ' ', '2', '0', '1', '5'];
    +let slice = &mut array[..];
    +let slice_of_cells: &[Cell<char>] = Cell::from_mut(slice).as_slice_of_cells();
    +for w in slice_of_cells.windows(3) {
    +    Cell::swap(&w[0], &w[2]);
    +}
    +assert_eq!(array, ['s', 't', ' ', '2', '0', '1', '5', 'u', 'R']);
    +
    1.0.0 · source

    pub fn chunks(&self, chunk_size: usize) -> Chunks<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +beginning of the slice.

    +

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the +slice, then the last chunk will not have length chunk_size.

    +

    See chunks_exact for a variant of this iterator that returns chunks of always exactly +chunk_size elements, and rchunks for the same iterator but starting at the end of the +slice.

    +
    Panics
    +

    Panics if chunk_size is 0.

    +
    Examples
    +
    let slice = ['l', 'o', 'r', 'e', 'm'];
    +let mut iter = slice.chunks(2);
    +assert_eq!(iter.next().unwrap(), &['l', 'o']);
    +assert_eq!(iter.next().unwrap(), &['r', 'e']);
    +assert_eq!(iter.next().unwrap(), &['m']);
    +assert!(iter.next().is_none());
    +
    1.31.0 · source

    pub fn chunks_exact(&self, chunk_size: usize) -> ChunksExact<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +beginning of the slice.

    +

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the +slice, then the last up to chunk_size-1 elements will be omitted and can be retrieved +from the remainder function of the iterator.

    +

    Due to each chunk having exactly chunk_size elements, the compiler can often optimize the +resulting code better than in the case of chunks.

    +

    See chunks for a variant of this iterator that also returns the remainder as a smaller +chunk, and rchunks_exact for the same iterator but starting at the end of the slice.

    +
    Panics
    +

    Panics if chunk_size is 0.

    +
    Examples
    +
    let slice = ['l', 'o', 'r', 'e', 'm'];
    +let mut iter = slice.chunks_exact(2);
    +assert_eq!(iter.next().unwrap(), &['l', 'o']);
    +assert_eq!(iter.next().unwrap(), &['r', 'e']);
    +assert!(iter.next().is_none());
    +assert_eq!(iter.remainder(), &['m']);
    +
    source

    pub unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]]

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +assuming that there’s no remainder.

    +
    Safety
    +

    This may only be called when

    +
      +
    • The slice splits exactly into N-element chunks (aka self.len() % N == 0).
    • +
    • N != 0.
    • +
    +
    Examples
    +
    #![feature(slice_as_chunks)]
    +let slice: &[char] = &['l', 'o', 'r', 'e', 'm', '!'];
    +let chunks: &[[char; 1]] =
    +    // SAFETY: 1-element chunks never have remainder
    +    unsafe { slice.as_chunks_unchecked() };
    +assert_eq!(chunks, &[['l'], ['o'], ['r'], ['e'], ['m'], ['!']]);
    +let chunks: &[[char; 3]] =
    +    // SAFETY: The slice length (6) is a multiple of 3
    +    unsafe { slice.as_chunks_unchecked() };
    +assert_eq!(chunks, &[['l', 'o', 'r'], ['e', 'm', '!']]);
    +
    +// These would be unsound:
    +// let chunks: &[[_; 5]] = slice.as_chunks_unchecked() // The slice length is not a multiple of 5
    +// let chunks: &[[_; 0]] = slice.as_chunks_unchecked() // Zero-length chunks are never allowed
    +
    source

    pub fn as_chunks<const N: usize>(&self) -> (&[[T; N]], &[T])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +starting at the beginning of the slice, +and a remainder slice with length strictly less than N.

    +
    Panics
    +

    Panics if N is 0. This check will most probably get changed to a compile time +error before this method gets stabilized.

    +
    Examples
    +
    #![feature(slice_as_chunks)]
    +let slice = ['l', 'o', 'r', 'e', 'm'];
    +let (chunks, remainder) = slice.as_chunks();
    +assert_eq!(chunks, &[['l', 'o'], ['r', 'e']]);
    +assert_eq!(remainder, &['m']);
    +

    If you expect the slice to be an exact multiple, you can combine +let-else with an empty slice pattern:

    + +
    #![feature(slice_as_chunks)]
    +let slice = ['R', 'u', 's', 't'];
    +let (chunks, []) = slice.as_chunks::<2>() else {
    +    panic!("slice didn't have even length")
    +};
    +assert_eq!(chunks, &[['R', 'u'], ['s', 't']]);
    +
    source

    pub fn as_rchunks<const N: usize>(&self) -> (&[T], &[[T; N]])

    🔬This is a nightly-only experimental API. (slice_as_chunks)

    Splits the slice into a slice of N-element arrays, +starting at the end of the slice, +and a remainder slice with length strictly less than N.

    +
    Panics
    +

    Panics if N is 0. This check will most probably get changed to a compile time +error before this method gets stabilized.

    +
    Examples
    +
    #![feature(slice_as_chunks)]
    +let slice = ['l', 'o', 'r', 'e', 'm'];
    +let (remainder, chunks) = slice.as_rchunks();
    +assert_eq!(remainder, &['l']);
    +assert_eq!(chunks, &[['o', 'r'], ['e', 'm']]);
    +
    source

    pub fn array_chunks<const N: usize>(&self) -> ArrayChunks<'_, T, N>

    🔬This is a nightly-only experimental API. (array_chunks)

    Returns an iterator over N elements of the slice at a time, starting at the +beginning of the slice.

    +

    The chunks are array references and do not overlap. If N does not divide the +length of the slice, then the last up to N-1 elements will be omitted and can be +retrieved from the remainder function of the iterator.

    +

    This method is the const generic equivalent of chunks_exact.

    +
    Panics
    +

    Panics if N is 0. This check will most probably get changed to a compile time +error before this method gets stabilized.

    +
    Examples
    +
    #![feature(array_chunks)]
    +let slice = ['l', 'o', 'r', 'e', 'm'];
    +let mut iter = slice.array_chunks();
    +assert_eq!(iter.next().unwrap(), &['l', 'o']);
    +assert_eq!(iter.next().unwrap(), &['r', 'e']);
    +assert!(iter.next().is_none());
    +assert_eq!(iter.remainder(), &['m']);
    +
    source

    pub fn array_windows<const N: usize>(&self) -> ArrayWindows<'_, T, N>

    🔬This is a nightly-only experimental API. (array_windows)

    Returns an iterator over overlapping windows of N elements of a slice, +starting at the beginning of the slice.

    +

    This is the const generic equivalent of windows.

    +

    If N is greater than the size of the slice, it will return no windows.

    +
    Panics
    +

    Panics if N is 0. This check will most probably get changed to a compile time +error before this method gets stabilized.

    +
    Examples
    +
    #![feature(array_windows)]
    +let slice = [0, 1, 2, 3];
    +let mut iter = slice.array_windows();
    +assert_eq!(iter.next().unwrap(), &[0, 1]);
    +assert_eq!(iter.next().unwrap(), &[1, 2]);
    +assert_eq!(iter.next().unwrap(), &[2, 3]);
    +assert!(iter.next().is_none());
    +
    1.31.0 · source

    pub fn rchunks(&self, chunk_size: usize) -> RChunks<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the end +of the slice.

    +

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the +slice, then the last chunk will not have length chunk_size.

    +

    See rchunks_exact for a variant of this iterator that returns chunks of always exactly +chunk_size elements, and chunks for the same iterator but starting at the beginning +of the slice.

    +
    Panics
    +

    Panics if chunk_size is 0.

    +
    Examples
    +
    let slice = ['l', 'o', 'r', 'e', 'm'];
    +let mut iter = slice.rchunks(2);
    +assert_eq!(iter.next().unwrap(), &['e', 'm']);
    +assert_eq!(iter.next().unwrap(), &['o', 'r']);
    +assert_eq!(iter.next().unwrap(), &['l']);
    +assert!(iter.next().is_none());
    +
    1.31.0 · source

    pub fn rchunks_exact(&self, chunk_size: usize) -> RChunksExact<'_, T>

    Returns an iterator over chunk_size elements of the slice at a time, starting at the +end of the slice.

    +

    The chunks are slices and do not overlap. If chunk_size does not divide the length of the +slice, then the last up to chunk_size-1 elements will be omitted and can be retrieved +from the remainder function of the iterator.

    +

    Due to each chunk having exactly chunk_size elements, the compiler can often optimize the +resulting code better than in the case of rchunks.

    +

    See rchunks for a variant of this iterator that also returns the remainder as a smaller +chunk, and chunks_exact for the same iterator but starting at the beginning of the +slice.

    +
    Panics
    +

    Panics if chunk_size is 0.

    +
    Examples
    +
    let slice = ['l', 'o', 'r', 'e', 'm'];
    +let mut iter = slice.rchunks_exact(2);
    +assert_eq!(iter.next().unwrap(), &['e', 'm']);
    +assert_eq!(iter.next().unwrap(), &['o', 'r']);
    +assert!(iter.next().is_none());
    +assert_eq!(iter.remainder(), &['l']);
    +
    source

    pub fn group_by<F>(&self, pred: F) -> GroupBy<'_, T, F>where + F: FnMut(&T, &T) -> bool,

    🔬This is a nightly-only experimental API. (slice_group_by)

    Returns an iterator over the slice producing non-overlapping runs +of elements using the predicate to separate them.

    +

    The predicate is called on two elements following themselves, +it means the predicate is called on slice[0] and slice[1] +then on slice[1] and slice[2] and so on.

    +
    Examples
    +
    #![feature(slice_group_by)]
    +
    +let slice = &[1, 1, 1, 3, 3, 2, 2, 2];
    +
    +let mut iter = slice.group_by(|a, b| a == b);
    +
    +assert_eq!(iter.next(), Some(&[1, 1, 1][..]));
    +assert_eq!(iter.next(), Some(&[3, 3][..]));
    +assert_eq!(iter.next(), Some(&[2, 2, 2][..]));
    +assert_eq!(iter.next(), None);
    +

    This method can be used to extract the sorted subslices:

    + +
    #![feature(slice_group_by)]
    +
    +let slice = &[1, 1, 2, 3, 2, 3, 2, 3, 4];
    +
    +let mut iter = slice.group_by(|a, b| a <= b);
    +
    +assert_eq!(iter.next(), Some(&[1, 1, 2, 3][..]));
    +assert_eq!(iter.next(), Some(&[2, 3][..]));
    +assert_eq!(iter.next(), Some(&[2, 3, 4][..]));
    +assert_eq!(iter.next(), None);
    +
    1.0.0 · source

    pub fn split_at(&self, mid: usize) -> (&[T], &[T])

    Divides one slice into two at an index.

    +

    The first will contain all indices from [0, mid) (excluding +the index mid itself) and the second will contain all +indices from [mid, len) (excluding the index len itself).

    +
    Panics
    +

    Panics if mid > len.

    +
    Examples
    +
    let v = [1, 2, 3, 4, 5, 6];
    +
    +{
    +   let (left, right) = v.split_at(0);
    +   assert_eq!(left, []);
    +   assert_eq!(right, [1, 2, 3, 4, 5, 6]);
    +}
    +
    +{
    +    let (left, right) = v.split_at(2);
    +    assert_eq!(left, [1, 2]);
    +    assert_eq!(right, [3, 4, 5, 6]);
    +}
    +
    +{
    +    let (left, right) = v.split_at(6);
    +    assert_eq!(left, [1, 2, 3, 4, 5, 6]);
    +    assert_eq!(right, []);
    +}
    +
    source

    pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

    🔬This is a nightly-only experimental API. (slice_split_at_unchecked)

    Divides one slice into two at an index, without doing bounds checking.

    +

    The first will contain all indices from [0, mid) (excluding +the index mid itself) and the second will contain all +indices from [mid, len) (excluding the index len itself).

    +

    For a safe alternative see split_at.

    +
    Safety
    +

    Calling this method with an out-of-bounds index is undefined behavior +even if the resulting reference is not used. The caller has to ensure that +0 <= mid <= self.len().

    +
    Examples
    +
    #![feature(slice_split_at_unchecked)]
    +
    +let v = [1, 2, 3, 4, 5, 6];
    +
    +unsafe {
    +   let (left, right) = v.split_at_unchecked(0);
    +   assert_eq!(left, []);
    +   assert_eq!(right, [1, 2, 3, 4, 5, 6]);
    +}
    +
    +unsafe {
    +    let (left, right) = v.split_at_unchecked(2);
    +    assert_eq!(left, [1, 2]);
    +    assert_eq!(right, [3, 4, 5, 6]);
    +}
    +
    +unsafe {
    +    let (left, right) = v.split_at_unchecked(6);
    +    assert_eq!(left, [1, 2, 3, 4, 5, 6]);
    +    assert_eq!(right, []);
    +}
    +
    source

    pub fn split_array_ref<const N: usize>(&self) -> (&[T; N], &[T])

    🔬This is a nightly-only experimental API. (split_array)

    Divides one slice into an array and a remainder slice at an index.

    +

    The array will contain all indices from [0, N) (excluding +the index N itself) and the slice will contain all +indices from [N, len) (excluding the index len itself).

    +
    Panics
    +

    Panics if N > len.

    +
    Examples
    +
    #![feature(split_array)]
    +
    +let v = &[1, 2, 3, 4, 5, 6][..];
    +
    +{
    +   let (left, right) = v.split_array_ref::<0>();
    +   assert_eq!(left, &[]);
    +   assert_eq!(right, [1, 2, 3, 4, 5, 6]);
    +}
    +
    +{
    +    let (left, right) = v.split_array_ref::<2>();
    +    assert_eq!(left, &[1, 2]);
    +    assert_eq!(right, [3, 4, 5, 6]);
    +}
    +
    +{
    +    let (left, right) = v.split_array_ref::<6>();
    +    assert_eq!(left, &[1, 2, 3, 4, 5, 6]);
    +    assert_eq!(right, []);
    +}
    +
    source

    pub fn rsplit_array_ref<const N: usize>(&self) -> (&[T], &[T; N])

    🔬This is a nightly-only experimental API. (split_array)

    Divides one slice into an array and a remainder slice at an index from +the end.

    +

    The slice will contain all indices from [0, len - N) (excluding +the index len - N itself) and the array will contain all +indices from [len - N, len) (excluding the index len itself).

    +
    Panics
    +

    Panics if N > len.

    +
    Examples
    +
    #![feature(split_array)]
    +
    +let v = &[1, 2, 3, 4, 5, 6][..];
    +
    +{
    +   let (left, right) = v.rsplit_array_ref::<0>();
    +   assert_eq!(left, [1, 2, 3, 4, 5, 6]);
    +   assert_eq!(right, &[]);
    +}
    +
    +{
    +    let (left, right) = v.rsplit_array_ref::<2>();
    +    assert_eq!(left, [1, 2, 3, 4]);
    +    assert_eq!(right, &[5, 6]);
    +}
    +
    +{
    +    let (left, right) = v.rsplit_array_ref::<6>();
    +    assert_eq!(left, []);
    +    assert_eq!(right, &[1, 2, 3, 4, 5, 6]);
    +}
    +
    1.0.0 · source

    pub fn split<F>(&self, pred: F) -> Split<'_, T, F>where + F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match +pred. The matched element is not contained in the subslices.

    +
    Examples
    +
    let slice = [10, 40, 33, 20];
    +let mut iter = slice.split(|num| num % 3 == 0);
    +
    +assert_eq!(iter.next().unwrap(), &[10, 40]);
    +assert_eq!(iter.next().unwrap(), &[20]);
    +assert!(iter.next().is_none());
    +

    If the first element is matched, an empty slice will be the first item +returned by the iterator. Similarly, if the last element in the slice +is matched, an empty slice will be the last item returned by the +iterator:

    + +
    let slice = [10, 40, 33];
    +let mut iter = slice.split(|num| num % 3 == 0);
    +
    +assert_eq!(iter.next().unwrap(), &[10, 40]);
    +assert_eq!(iter.next().unwrap(), &[]);
    +assert!(iter.next().is_none());
    +

    If two matched elements are directly adjacent, an empty slice will be +present between them:

    + +
    let slice = [10, 6, 33, 20];
    +let mut iter = slice.split(|num| num % 3 == 0);
    +
    +assert_eq!(iter.next().unwrap(), &[10]);
    +assert_eq!(iter.next().unwrap(), &[]);
    +assert_eq!(iter.next().unwrap(), &[20]);
    +assert!(iter.next().is_none());
    +
    1.51.0 · source

    pub fn split_inclusive<F>(&self, pred: F) -> SplitInclusive<'_, T, F>where + F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match +pred. The matched element is contained in the end of the previous +subslice as a terminator.

    +
    Examples
    +
    let slice = [10, 40, 33, 20];
    +let mut iter = slice.split_inclusive(|num| num % 3 == 0);
    +
    +assert_eq!(iter.next().unwrap(), &[10, 40, 33]);
    +assert_eq!(iter.next().unwrap(), &[20]);
    +assert!(iter.next().is_none());
    +

    If the last element of the slice is matched, +that element will be considered the terminator of the preceding slice. +That slice will be the last item returned by the iterator.

    + +
    let slice = [3, 10, 40, 33];
    +let mut iter = slice.split_inclusive(|num| num % 3 == 0);
    +
    +assert_eq!(iter.next().unwrap(), &[3]);
    +assert_eq!(iter.next().unwrap(), &[10, 40, 33]);
    +assert!(iter.next().is_none());
    +
    1.27.0 · source

    pub fn rsplit<F>(&self, pred: F) -> RSplit<'_, T, F>where + F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match +pred, starting at the end of the slice and working backwards. +The matched element is not contained in the subslices.

    +
    Examples
    +
    let slice = [11, 22, 33, 0, 44, 55];
    +let mut iter = slice.rsplit(|num| *num == 0);
    +
    +assert_eq!(iter.next().unwrap(), &[44, 55]);
    +assert_eq!(iter.next().unwrap(), &[11, 22, 33]);
    +assert_eq!(iter.next(), None);
    +

    As with split(), if the first or last element is matched, an empty +slice will be the first (or last) item returned by the iterator.

    + +
    let v = &[0, 1, 1, 2, 3, 5, 8];
    +let mut it = v.rsplit(|n| *n % 2 == 0);
    +assert_eq!(it.next().unwrap(), &[]);
    +assert_eq!(it.next().unwrap(), &[3, 5]);
    +assert_eq!(it.next().unwrap(), &[1, 1]);
    +assert_eq!(it.next().unwrap(), &[]);
    +assert_eq!(it.next(), None);
    +
    1.0.0 · source

    pub fn splitn<F>(&self, n: usize, pred: F) -> SplitN<'_, T, F>where + F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match +pred, limited to returning at most n items. The matched element is +not contained in the subslices.

    +

    The last element returned, if any, will contain the remainder of the +slice.

    +
    Examples
    +

    Print the slice split once by numbers divisible by 3 (i.e., [10, 40], +[20, 60, 50]):

    + +
    let v = [10, 40, 30, 20, 60, 50];
    +
    +for group in v.splitn(2, |num| *num % 3 == 0) {
    +    println!("{group:?}");
    +}
    +
    1.0.0 · source

    pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F>where + F: FnMut(&T) -> bool,

    Returns an iterator over subslices separated by elements that match +pred limited to returning at most n items. This starts at the end of +the slice and works backwards. The matched element is not contained in +the subslices.

    +

    The last element returned, if any, will contain the remainder of the +slice.

    +
    Examples
    +

    Print the slice split once, starting from the end, by numbers divisible +by 3 (i.e., [50], [10, 40, 30, 20]):

    + +
    let v = [10, 40, 30, 20, 60, 50];
    +
    +for group in v.rsplitn(2, |num| *num % 3 == 0) {
    +    println!("{group:?}");
    +}
    +
    1.0.0 · source

    pub fn contains(&self, x: &T) -> boolwhere + T: PartialEq<T>,

    Returns true if the slice contains an element with the given value.

    +

    This operation is O(n).

    +

    Note that if you have a sorted slice, binary_search may be faster.

    +
    Examples
    +
    let v = [10, 40, 30];
    +assert!(v.contains(&30));
    +assert!(!v.contains(&50));
    +

    If you do not have a &T, but some other value that you can compare +with one (for example, String implements PartialEq<str>), you can +use iter().any:

    + +
    let v = [String::from("hello"), String::from("world")]; // slice of `String`
    +assert!(v.iter().any(|e| e == "hello")); // search with `&str`
    +assert!(!v.iter().any(|e| e == "hi"));
    +
    1.0.0 · source

    pub fn starts_with(&self, needle: &[T]) -> boolwhere + T: PartialEq<T>,

    Returns true if needle is a prefix of the slice.

    +
    Examples
    +
    let v = [10, 40, 30];
    +assert!(v.starts_with(&[10]));
    +assert!(v.starts_with(&[10, 40]));
    +assert!(!v.starts_with(&[50]));
    +assert!(!v.starts_with(&[10, 50]));
    +

    Always returns true if needle is an empty slice:

    + +
    let v = &[10, 40, 30];
    +assert!(v.starts_with(&[]));
    +let v: &[u8] = &[];
    +assert!(v.starts_with(&[]));
    +
    1.0.0 · source

    pub fn ends_with(&self, needle: &[T]) -> boolwhere + T: PartialEq<T>,

    Returns true if needle is a suffix of the slice.

    +
    Examples
    +
    let v = [10, 40, 30];
    +assert!(v.ends_with(&[30]));
    +assert!(v.ends_with(&[40, 30]));
    +assert!(!v.ends_with(&[50]));
    +assert!(!v.ends_with(&[50, 30]));
    +

    Always returns true if needle is an empty slice:

    + +
    let v = &[10, 40, 30];
    +assert!(v.ends_with(&[]));
    +let v: &[u8] = &[];
    +assert!(v.ends_with(&[]));
    +
    1.51.0 · source

    pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>where + P: SlicePattern<Item = T> + ?Sized, + T: PartialEq<T>,

    Returns a subslice with the prefix removed.

    +

    If the slice starts with prefix, returns the subslice after the prefix, wrapped in Some. +If prefix is empty, simply returns the original slice.

    +

    If the slice does not start with prefix, returns None.

    +
    Examples
    +
    let v = &[10, 40, 30];
    +assert_eq!(v.strip_prefix(&[10]), Some(&[40, 30][..]));
    +assert_eq!(v.strip_prefix(&[10, 40]), Some(&[30][..]));
    +assert_eq!(v.strip_prefix(&[50]), None);
    +assert_eq!(v.strip_prefix(&[10, 50]), None);
    +
    +let prefix : &str = "he";
    +assert_eq!(b"hello".strip_prefix(prefix.as_bytes()),
    +           Some(b"llo".as_ref()));
    +
    1.51.0 · source

    pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>where + P: SlicePattern<Item = T> + ?Sized, + T: PartialEq<T>,

    Returns a subslice with the suffix removed.

    +

    If the slice ends with suffix, returns the subslice before the suffix, wrapped in Some. +If suffix is empty, simply returns the original slice.

    +

    If the slice does not end with suffix, returns None.

    +
    Examples
    +
    let v = &[10, 40, 30];
    +assert_eq!(v.strip_suffix(&[30]), Some(&[10, 40][..]));
    +assert_eq!(v.strip_suffix(&[40, 30]), Some(&[10][..]));
    +assert_eq!(v.strip_suffix(&[50]), None);
    +assert_eq!(v.strip_suffix(&[50, 30]), None);
    +

    Binary searches this slice for a given element. +If the slice is not sorted, the returned result is unspecified and +meaningless.

    +

    If the value is found then Result::Ok is returned, containing the +index of the matching element. If there are multiple matches, then any +one of the matches could be returned. The index is chosen +deterministically, but is subject to change in future versions of Rust. +If the value is not found then Result::Err is returned, containing +the index where a matching element could be inserted while maintaining +sorted order.

    +

    See also binary_search_by, binary_search_by_key, and partition_point.

    +
    Examples
    +

    Looks up a series of four elements. The first is found, with a +uniquely determined position; the second and third are not +found; the fourth could match any position in [1, 4].

    + +
    let s = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
    +
    +assert_eq!(s.binary_search(&13),  Ok(9));
    +assert_eq!(s.binary_search(&4),   Err(7));
    +assert_eq!(s.binary_search(&100), Err(13));
    +let r = s.binary_search(&1);
    +assert!(match r { Ok(1..=4) => true, _ => false, });
    +

    If you want to find that whole range of matching items, rather than +an arbitrary matching one, that can be done using partition_point:

    + +
    let s = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
    +
    +let low = s.partition_point(|x| x < &1);
    +assert_eq!(low, 1);
    +let high = s.partition_point(|x| x <= &1);
    +assert_eq!(high, 5);
    +let r = s.binary_search(&1);
    +assert!((low..high).contains(&r.unwrap()));
    +
    +assert!(s[..low].iter().all(|&x| x < 1));
    +assert!(s[low..high].iter().all(|&x| x == 1));
    +assert!(s[high..].iter().all(|&x| x > 1));
    +
    +// For something not found, the "range" of equal items is empty
    +assert_eq!(s.partition_point(|x| x < &11), 9);
    +assert_eq!(s.partition_point(|x| x <= &11), 9);
    +assert_eq!(s.binary_search(&11), Err(9));
    +

    If you want to insert an item to a sorted vector, while maintaining +sort order, consider using partition_point:

    + +
    let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
    +let num = 42;
    +let idx = s.partition_point(|&x| x < num);
    +// The above is equivalent to `let idx = s.binary_search(&num).unwrap_or_else(|x| x);`
    +s.insert(idx, num);
    +assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
    +
    1.0.0 · source

    pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>where + F: FnMut(&'a T) -> Ordering,

    Binary searches this slice with a comparator function.

    +

    The comparator function should return an order code that indicates +whether its argument is Less, Equal or Greater the desired +target. +If the slice is not sorted or if the comparator function does not +implement an order consistent with the sort order of the underlying +slice, the returned result is unspecified and meaningless.

    +

    If the value is found then Result::Ok is returned, containing the +index of the matching element. If there are multiple matches, then any +one of the matches could be returned. The index is chosen +deterministically, but is subject to change in future versions of Rust. +If the value is not found then Result::Err is returned, containing +the index where a matching element could be inserted while maintaining +sorted order.

    +

    See also binary_search, binary_search_by_key, and partition_point.

    +
    Examples
    +

    Looks up a series of four elements. The first is found, with a +uniquely determined position; the second and third are not +found; the fourth could match any position in [1, 4].

    + +
    let s = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
    +
    +let seek = 13;
    +assert_eq!(s.binary_search_by(|probe| probe.cmp(&seek)), Ok(9));
    +let seek = 4;
    +assert_eq!(s.binary_search_by(|probe| probe.cmp(&seek)), Err(7));
    +let seek = 100;
    +assert_eq!(s.binary_search_by(|probe| probe.cmp(&seek)), Err(13));
    +let seek = 1;
    +let r = s.binary_search_by(|probe| probe.cmp(&seek));
    +assert!(match r { Ok(1..=4) => true, _ => false, });
    +
    1.10.0 · source

    pub fn binary_search_by_key<'a, B, F>( + &'a self, + b: &B, + f: F +) -> Result<usize, usize>where + F: FnMut(&'a T) -> B, + B: Ord,

    Binary searches this slice with a key extraction function.

    +

    Assumes that the slice is sorted by the key, for instance with +sort_by_key using the same key extraction function. +If the slice is not sorted by the key, the returned result is +unspecified and meaningless.

    +

    If the value is found then Result::Ok is returned, containing the +index of the matching element. If there are multiple matches, then any +one of the matches could be returned. The index is chosen +deterministically, but is subject to change in future versions of Rust. +If the value is not found then Result::Err is returned, containing +the index where a matching element could be inserted while maintaining +sorted order.

    +

    See also binary_search, binary_search_by, and partition_point.

    +
    Examples
    +

    Looks up a series of four elements in a slice of pairs sorted by +their second elements. The first is found, with a uniquely +determined position; the second and third are not found; the +fourth could match any position in [1, 4].

    + +
    let s = [(0, 0), (2, 1), (4, 1), (5, 1), (3, 1),
    +         (1, 2), (2, 3), (4, 5), (5, 8), (3, 13),
    +         (1, 21), (2, 34), (4, 55)];
    +
    +assert_eq!(s.binary_search_by_key(&13, |&(a, b)| b),  Ok(9));
    +assert_eq!(s.binary_search_by_key(&4, |&(a, b)| b),   Err(7));
    +assert_eq!(s.binary_search_by_key(&100, |&(a, b)| b), Err(13));
    +let r = s.binary_search_by_key(&1, |&(a, b)| b);
    +assert!(match r { Ok(1..=4) => true, _ => false, });
    +
    1.30.0 · source

    pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

    Transmute the slice to a slice of another type, ensuring alignment of the types is +maintained.

    +

    This method splits the slice into three distinct slices: prefix, correctly aligned middle +slice of a new type, and the suffix slice. How exactly the slice is split up is not +specified; the middle part may be smaller than necessary. However, if this fails to return a +maximal middle part, that is because code is running in a context where performance does not +matter, such as a sanitizer attempting to find alignment bugs. Regular code running +in a default (debug or release) execution will return a maximal middle part.

    +

    This method has no purpose when either input element T or output element U are +zero-sized and will return the original slice without splitting anything.

    +
    Safety
    +

    This method is essentially a transmute with respect to the elements in the returned +middle slice, so all the usual caveats pertaining to transmute::<T, U> also apply here.

    +
    Examples
    +

    Basic usage:

    + +
    unsafe {
    +    let bytes: [u8; 7] = [1, 2, 3, 4, 5, 6, 7];
    +    let (prefix, shorts, suffix) = bytes.align_to::<u16>();
    +    // less_efficient_algorithm_for_bytes(prefix);
    +    // more_efficient_algorithm_for_aligned_shorts(shorts);
    +    // less_efficient_algorithm_for_bytes(suffix);
    +}
    +
    source

    pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])where + Simd<T, LANES>: AsRef<[T; LANES]>, + T: SimdElement, + LaneCount<LANES>: SupportedLaneCount,

    🔬This is a nightly-only experimental API. (portable_simd)

    Split a slice into a prefix, a middle of aligned SIMD types, and a suffix.

    +

    This is a safe wrapper around slice::align_to, so has the same weak +postconditions as that method. You’re only assured that +self.len() == prefix.len() + middle.len() * LANES + suffix.len().

    +

    Notably, all of the following are possible:

    +
      +
    • prefix.len() >= LANES.
    • +
    • middle.is_empty() despite self.len() >= 3 * LANES.
    • +
    • suffix.len() >= LANES.
    • +
    +

    That said, this is a safe method, so if you’re only writing safe code, +then this can at most cause incorrect logic, not unsoundness.

    +
    Panics
    +

    This will panic if the size of the SIMD type is different from +LANES times that of the scalar.

    +

    At the time of writing, the trait restrictions on Simd<T, LANES> keeps +that from ever happening, as only power-of-two numbers of lanes are +supported. It’s possible that, in the future, those restrictions might +be lifted in a way that would make it possible to see panics from this +method for something like LANES == 3.

    +
    Examples
    +
    #![feature(portable_simd)]
    +use core::simd::SimdFloat;
    +
    +let short = &[1, 2, 3];
    +let (prefix, middle, suffix) = short.as_simd::<4>();
    +assert_eq!(middle, []); // Not enough elements for anything in the middle
    +
    +// They might be split in any possible way between prefix and suffix
    +let it = prefix.iter().chain(suffix).copied();
    +assert_eq!(it.collect::<Vec<_>>(), vec![1, 2, 3]);
    +
    +fn basic_simd_sum(x: &[f32]) -> f32 {
    +    use std::ops::Add;
    +    use std::simd::f32x4;
    +    let (prefix, middle, suffix) = x.as_simd();
    +    let sums = f32x4::from_array([
    +        prefix.iter().copied().sum(),
    +        0.0,
    +        0.0,
    +        suffix.iter().copied().sum(),
    +    ]);
    +    let sums = middle.iter().copied().fold(sums, f32x4::add);
    +    sums.reduce_sum()
    +}
    +
    +let numbers: Vec<f32> = (1..101).map(|x| x as _).collect();
    +assert_eq!(basic_simd_sum(&numbers[1..99]), 4949.0);
    +
    source

    pub fn is_sorted(&self) -> boolwhere + T: PartialOrd<T>,

    🔬This is a nightly-only experimental API. (is_sorted)

    Checks if the elements of this slice are sorted.

    +

    That is, for each element a and its following element b, a <= b must hold. If the +slice yields exactly zero or one element, true is returned.

    +

    Note that if Self::Item is only PartialOrd, but not Ord, the above definition +implies that this function returns false if any two consecutive items are not +comparable.

    +
    Examples
    +
    #![feature(is_sorted)]
    +let empty: [i32; 0] = [];
    +
    +assert!([1, 2, 2, 9].is_sorted());
    +assert!(![1, 3, 2, 4].is_sorted());
    +assert!([0].is_sorted());
    +assert!(empty.is_sorted());
    +assert!(![0.0, 1.0, f32::NAN].is_sorted());
    +
    source

    pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> boolwhere + F: FnMut(&'a T, &'a T) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)

    Checks if the elements of this slice are sorted using the given comparator function.

    +

    Instead of using PartialOrd::partial_cmp, this function uses the given compare +function to determine the ordering of two elements. Apart from that, it’s equivalent to +is_sorted; see its documentation for more information.

    +
    source

    pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> boolwhere + F: FnMut(&'a T) -> K, + K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)

    Checks if the elements of this slice are sorted using the given key extraction function.

    +

    Instead of comparing the slice’s elements directly, this function compares the keys of the +elements, as determined by f. Apart from that, it’s equivalent to is_sorted; see its +documentation for more information.

    +
    Examples
    +
    #![feature(is_sorted)]
    +
    +assert!(["c", "bb", "aaa"].is_sorted_by_key(|s| s.len()));
    +assert!(![-2i32, -1, 0, 3].is_sorted_by_key(|n| n.abs()));
    +
    1.52.0 · source

    pub fn partition_point<P>(&self, pred: P) -> usizewhere + P: FnMut(&T) -> bool,

    Returns the index of the partition point according to the given predicate +(the index of the first element of the second partition).

    +

    The slice is assumed to be partitioned according to the given predicate. +This means that all elements for which the predicate returns true are at the start of the slice +and all elements for which the predicate returns false are at the end. +For example, [7, 15, 3, 5, 4, 12, 6] is partitioned under the predicate x % 2 != 0 +(all odd numbers are at the start, all even at the end).

    +

    If this slice is not partitioned, the returned result is unspecified and meaningless, +as this method performs a kind of binary search.

    +

    See also binary_search, binary_search_by, and binary_search_by_key.

    +
    Examples
    +
    let v = [1, 2, 3, 3, 5, 6, 7];
    +let i = v.partition_point(|&x| x < 5);
    +
    +assert_eq!(i, 4);
    +assert!(v[..i].iter().all(|&x| x < 5));
    +assert!(v[i..].iter().all(|&x| !(x < 5)));
    +

    If all elements of the slice match the predicate, including if the slice +is empty, then the length of the slice will be returned:

    + +
    let a = [2, 4, 8];
    +assert_eq!(a.partition_point(|x| x < &100), a.len());
    +let a: [i32; 0] = [];
    +assert_eq!(a.partition_point(|x| x < &100), 0);
    +

    If you want to insert an item to a sorted vector, while maintaining +sort order:

    + +
    let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
    +let num = 42;
    +let idx = s.partition_point(|&x| x < num);
    +s.insert(idx, num);
    +assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
    +
    1.0.0 · source

    pub fn to_vec(&self) -> Vec<T, Global>where + T: Clone,

    Copies self into a new Vec.

    +
    Examples
    +
    let s = [10, 40, 30];
    +let x = s.to_vec();
    +// Here, `s` and `x` can be modified independently.
    +
    source

    pub fn to_vec_in<A>(&self, alloc: A) -> Vec<T, A>where + A: Allocator, + T: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Copies self into a new Vec with an allocator.

    +
    Examples
    +
    #![feature(allocator_api)]
    +
    +use std::alloc::System;
    +
    +let s = [10, 40, 30];
    +let x = s.to_vec_in(System);
    +// Here, `s` and `x` can be modified independently.
    +
    1.40.0 · source

    pub fn repeat(&self, n: usize) -> Vec<T, Global>where + T: Copy,

    Creates a vector by copying a slice n times.

    +
    Panics
    +

    This function will panic if the capacity would overflow.

    +
    Examples
    +

    Basic usage:

    + +
    assert_eq!([1, 2].repeat(3), vec![1, 2, 1, 2, 1, 2]);
    +

    A panic upon overflow:

    + +
    // this will panic at runtime
    +b"0123456789abcdef".repeat(usize::MAX);
    +
    1.0.0 · source

    pub fn concat<Item>(&self) -> <[T] as Concat<Item>>::Output where + [T]: Concat<Item>, + Item: ?Sized,

    Flattens a slice of T into a single value Self::Output.

    +
    Examples
    +
    assert_eq!(["hello", "world"].concat(), "helloworld");
    +assert_eq!([[1, 2], [3, 4]].concat(), [1, 2, 3, 4]);
    +
    1.3.0 · source

    pub fn join<Separator>( + &self, + sep: Separator +) -> <[T] as Join<Separator>>::Output where + [T]: Join<Separator>,

    Flattens a slice of T into a single value Self::Output, placing a +given separator between each.

    +
    Examples
    +
    assert_eq!(["hello", "world"].join(" "), "hello world");
    +assert_eq!([[1, 2], [3, 4]].join(&0), [1, 2, 0, 3, 4]);
    +assert_eq!([[1, 2], [3, 4]].join(&[0, 0][..]), [1, 2, 0, 0, 3, 4]);
    +
    1.0.0 · source

    pub fn connect<Separator>( + &self, + sep: Separator +) -> <[T] as Join<Separator>>::Output where + [T]: Join<Separator>,

    👎Deprecated since 1.3.0: renamed to join

    Flattens a slice of T into a single value Self::Output, placing a +given separator between each.

    +
    Examples
    +
    assert_eq!(["hello", "world"].connect(" "), "hello world");
    +assert_eq!([[1, 2], [3, 4]].connect(&0), [1, 2, 0, 3, 4]);
    +
    1.23.0 · source

    pub fn to_ascii_uppercase(&self) -> Vec<u8, Global>

    Returns a vector containing a copy of this slice where each byte +is mapped to its ASCII upper case equivalent.

    +

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, +but non-ASCII letters are unchanged.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    +
    1.23.0 · source

    pub fn to_ascii_lowercase(&self) -> Vec<u8, Global>

    Returns a vector containing a copy of this slice where each byte +is mapped to its ASCII lower case equivalent.

    +

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, +but non-ASCII letters are unchanged.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    Trait Implementations§

    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>where + T: Clone, + A: Allocator + Clone,

    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, other: &Vec<T, A>)

    Performs copy-assignment from source. Read more
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>where + T: Debug, + A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 · source§

    impl<T> Default for Vec<T, Global>

    source§

    fn default() -> Vec<T, Global>

    Creates an empty Vec<T>.

    +

    The vector will not allocate until elements are pushed onto it.

    +
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>where + A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>where + T: Hash, + A: Allocator,

    The hash of a vector is the same as that of the corresponding slice, +as required by the core::borrow::Borrow implementation.

    + +
    use std::hash::BuildHasher;
    +
    +let b = std::collections::hash_map::RandomState::new();
    +let v: Vec<u8> = vec![0xa8, 0x3c, 0x09];
    +let s: &[u8] = &[0xa8, 0x3c, 0x09];
    +assert_eq!(b.hash_one(v), b.hash_one(s));
    +
    source§

    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
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>where + A: Allocator, + T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>where + A: Allocator, + T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>where + A: Allocator, + T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>where + A: Allocator, + T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>where + A: Allocator, + T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>where + A1: Allocator, + A2: Allocator, + T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>where + T: Eq, + A: Allocator,

    \ No newline at end of file diff --git a/syn/type.Result.html b/syn/type.Result.html index d396dea..763b404 100644 --- a/syn/type.Result.html +++ b/syn/type.Result.html @@ -1,2 +1,24 @@ -Result in syn - Rust

    Type Definition syn::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    The result of a Syn parser.

    -
    \ No newline at end of file +Result in syn - Rust

    Type Alias syn::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    The result of a Syn parser.

    +

    Aliased Type§

    enum Result<T> {
    +    Ok(T),
    +    Err(Error),
    +}

    Variants§

    §1.0.0

    Ok(T)

    Contains the success value

    +
    §1.0.0

    Err(Error)

    Contains the error value

    +

    Trait Implementations§

    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>where + T: Clone, + 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
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>where + T: Debug, + E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>where + T: Hash, + E: Hash,

    source§

    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
    1.0.0 · source§

    impl<T, E> PartialEq<Result<T, E>> for Result<T, E>where + T: PartialEq<T>, + E: PartialEq<E>,

    source§

    fn eq(&self, other: &Result<T, E>) -> 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.
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>where + T: Copy, + E: Copy,

    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>where + T: Eq, + E: Eq,

    \ No newline at end of file diff --git a/syn/visit/fn.visit_abi.html b/syn/visit/fn.visit_abi.html index 198b58f..486a538 100644 --- a/syn/visit/fn.visit_abi.html +++ b/syn/visit/fn.visit_abi.html @@ -1 +1,2 @@ -visit_abi in syn::visit - Rust

    Function syn::visit::visit_abi

    source ·
    pub fn visit_abi<'ast, V>(v: &mut V, node: &'ast Abi)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_abi in syn::visit - Rust

    Function syn::visit::visit_abi

    source ·
    pub fn visit_abi<'ast, V>(v: &mut V, node: &'ast Abi)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_angle_bracketed_generic_arguments.html b/syn/visit/fn.visit_angle_bracketed_generic_arguments.html index cc2d4dd..07bf107 100644 --- a/syn/visit/fn.visit_angle_bracketed_generic_arguments.html +++ b/syn/visit/fn.visit_angle_bracketed_generic_arguments.html @@ -1 +1,5 @@ -visit_angle_bracketed_generic_arguments in syn::visit - Rust
    pub fn visit_angle_bracketed_generic_arguments<'ast, V>(
        v: &mut V,
        node: &'ast AngleBracketedGenericArguments
    )where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_angle_bracketed_generic_arguments in syn::visit - Rust
    pub fn visit_angle_bracketed_generic_arguments<'ast, V>(
    +    v: &mut V,
    +    node: &'ast AngleBracketedGenericArguments
    +)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_attr_style.html b/syn/visit/fn.visit_attr_style.html index 37ae373..837a4a0 100644 --- a/syn/visit/fn.visit_attr_style.html +++ b/syn/visit/fn.visit_attr_style.html @@ -1 +1,2 @@ -visit_attr_style in syn::visit - Rust

    Function syn::visit::visit_attr_style

    source ·
    pub fn visit_attr_style<'ast, V>(v: &mut V, node: &'ast AttrStyle)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_attr_style in syn::visit - Rust

    Function syn::visit::visit_attr_style

    source ·
    pub fn visit_attr_style<'ast, V>(v: &mut V, node: &'ast AttrStyle)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_attribute.html b/syn/visit/fn.visit_attribute.html index ea3bf49..331436c 100644 --- a/syn/visit/fn.visit_attribute.html +++ b/syn/visit/fn.visit_attribute.html @@ -1 +1,2 @@ -visit_attribute in syn::visit - Rust

    Function syn::visit::visit_attribute

    source ·
    pub fn visit_attribute<'ast, V>(v: &mut V, node: &'ast Attribute)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_attribute in syn::visit - Rust

    Function syn::visit::visit_attribute

    source ·
    pub fn visit_attribute<'ast, V>(v: &mut V, node: &'ast Attribute)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_bare_fn_arg.html b/syn/visit/fn.visit_bare_fn_arg.html index 26e9f43..5aeb9ca 100644 --- a/syn/visit/fn.visit_bare_fn_arg.html +++ b/syn/visit/fn.visit_bare_fn_arg.html @@ -1 +1,2 @@ -visit_bare_fn_arg in syn::visit - Rust

    Function syn::visit::visit_bare_fn_arg

    source ·
    pub fn visit_bare_fn_arg<'ast, V>(v: &mut V, node: &'ast BareFnArg)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_bare_fn_arg in syn::visit - Rust

    Function syn::visit::visit_bare_fn_arg

    source ·
    pub fn visit_bare_fn_arg<'ast, V>(v: &mut V, node: &'ast BareFnArg)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_bin_op.html b/syn/visit/fn.visit_bin_op.html index 88ca4ed..c91d195 100644 --- a/syn/visit/fn.visit_bin_op.html +++ b/syn/visit/fn.visit_bin_op.html @@ -1 +1,2 @@ -visit_bin_op in syn::visit - Rust

    Function syn::visit::visit_bin_op

    source ·
    pub fn visit_bin_op<'ast, V>(v: &mut V, node: &'ast BinOp)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_bin_op in syn::visit - Rust

    Function syn::visit::visit_bin_op

    source ·
    pub fn visit_bin_op<'ast, V>(v: &mut V, node: &'ast BinOp)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_binding.html b/syn/visit/fn.visit_binding.html index dcbabc2..5aecfdf 100644 --- a/syn/visit/fn.visit_binding.html +++ b/syn/visit/fn.visit_binding.html @@ -1 +1,2 @@ -visit_binding in syn::visit - Rust

    Function syn::visit::visit_binding

    source ·
    pub fn visit_binding<'ast, V>(v: &mut V, node: &'ast Binding)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_binding in syn::visit - Rust

    Function syn::visit::visit_binding

    source ·
    pub fn visit_binding<'ast, V>(v: &mut V, node: &'ast Binding)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_bound_lifetimes.html b/syn/visit/fn.visit_bound_lifetimes.html index 20c923d..9bbf65b 100644 --- a/syn/visit/fn.visit_bound_lifetimes.html +++ b/syn/visit/fn.visit_bound_lifetimes.html @@ -1 +1,2 @@ -visit_bound_lifetimes in syn::visit - Rust
    pub fn visit_bound_lifetimes<'ast, V>(v: &mut V, node: &'ast BoundLifetimes)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_bound_lifetimes in syn::visit - Rust
    pub fn visit_bound_lifetimes<'ast, V>(v: &mut V, node: &'ast BoundLifetimes)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_const_param.html b/syn/visit/fn.visit_const_param.html index a7caa20..79809d3 100644 --- a/syn/visit/fn.visit_const_param.html +++ b/syn/visit/fn.visit_const_param.html @@ -1 +1,2 @@ -visit_const_param in syn::visit - Rust

    Function syn::visit::visit_const_param

    source ·
    pub fn visit_const_param<'ast, V>(v: &mut V, node: &'ast ConstParam)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_const_param in syn::visit - Rust

    Function syn::visit::visit_const_param

    source ·
    pub fn visit_const_param<'ast, V>(v: &mut V, node: &'ast ConstParam)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_constraint.html b/syn/visit/fn.visit_constraint.html index f5c2074..0e4f733 100644 --- a/syn/visit/fn.visit_constraint.html +++ b/syn/visit/fn.visit_constraint.html @@ -1 +1,2 @@ -visit_constraint in syn::visit - Rust

    Function syn::visit::visit_constraint

    source ·
    pub fn visit_constraint<'ast, V>(v: &mut V, node: &'ast Constraint)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_constraint in syn::visit - Rust

    Function syn::visit::visit_constraint

    source ·
    pub fn visit_constraint<'ast, V>(v: &mut V, node: &'ast Constraint)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_data.html b/syn/visit/fn.visit_data.html index 7d4a41f..e9e5839 100644 --- a/syn/visit/fn.visit_data.html +++ b/syn/visit/fn.visit_data.html @@ -1 +1,2 @@ -visit_data in syn::visit - Rust

    Function syn::visit::visit_data

    source ·
    pub fn visit_data<'ast, V>(v: &mut V, node: &'ast Data)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_data in syn::visit - Rust

    Function syn::visit::visit_data

    source ·
    pub fn visit_data<'ast, V>(v: &mut V, node: &'ast Data)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_data_enum.html b/syn/visit/fn.visit_data_enum.html index 3d414d3..8b9c5fb 100644 --- a/syn/visit/fn.visit_data_enum.html +++ b/syn/visit/fn.visit_data_enum.html @@ -1 +1,2 @@ -visit_data_enum in syn::visit - Rust

    Function syn::visit::visit_data_enum

    source ·
    pub fn visit_data_enum<'ast, V>(v: &mut V, node: &'ast DataEnum)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_data_enum in syn::visit - Rust

    Function syn::visit::visit_data_enum

    source ·
    pub fn visit_data_enum<'ast, V>(v: &mut V, node: &'ast DataEnum)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_data_struct.html b/syn/visit/fn.visit_data_struct.html index 2204770..363cc30 100644 --- a/syn/visit/fn.visit_data_struct.html +++ b/syn/visit/fn.visit_data_struct.html @@ -1 +1,2 @@ -visit_data_struct in syn::visit - Rust

    Function syn::visit::visit_data_struct

    source ·
    pub fn visit_data_struct<'ast, V>(v: &mut V, node: &'ast DataStruct)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_data_struct in syn::visit - Rust

    Function syn::visit::visit_data_struct

    source ·
    pub fn visit_data_struct<'ast, V>(v: &mut V, node: &'ast DataStruct)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_data_union.html b/syn/visit/fn.visit_data_union.html index 075bdf1..4a510f5 100644 --- a/syn/visit/fn.visit_data_union.html +++ b/syn/visit/fn.visit_data_union.html @@ -1 +1,2 @@ -visit_data_union in syn::visit - Rust

    Function syn::visit::visit_data_union

    source ·
    pub fn visit_data_union<'ast, V>(v: &mut V, node: &'ast DataUnion)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_data_union in syn::visit - Rust

    Function syn::visit::visit_data_union

    source ·
    pub fn visit_data_union<'ast, V>(v: &mut V, node: &'ast DataUnion)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_derive_input.html b/syn/visit/fn.visit_derive_input.html index b85af8a..ec22a0e 100644 --- a/syn/visit/fn.visit_derive_input.html +++ b/syn/visit/fn.visit_derive_input.html @@ -1 +1,2 @@ -visit_derive_input in syn::visit - Rust

    Function syn::visit::visit_derive_input

    source ·
    pub fn visit_derive_input<'ast, V>(v: &mut V, node: &'ast DeriveInput)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_derive_input in syn::visit - Rust

    Function syn::visit::visit_derive_input

    source ·
    pub fn visit_derive_input<'ast, V>(v: &mut V, node: &'ast DeriveInput)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr.html b/syn/visit/fn.visit_expr.html index 4139d07..b1db5a6 100644 --- a/syn/visit/fn.visit_expr.html +++ b/syn/visit/fn.visit_expr.html @@ -1 +1,2 @@ -visit_expr in syn::visit - Rust

    Function syn::visit::visit_expr

    source ·
    pub fn visit_expr<'ast, V>(v: &mut V, node: &'ast Expr)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr in syn::visit - Rust

    Function syn::visit::visit_expr

    source ·
    pub fn visit_expr<'ast, V>(v: &mut V, node: &'ast Expr)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_binary.html b/syn/visit/fn.visit_expr_binary.html index 6fdfaf4..90bfd57 100644 --- a/syn/visit/fn.visit_expr_binary.html +++ b/syn/visit/fn.visit_expr_binary.html @@ -1 +1,2 @@ -visit_expr_binary in syn::visit - Rust

    Function syn::visit::visit_expr_binary

    source ·
    pub fn visit_expr_binary<'ast, V>(v: &mut V, node: &'ast ExprBinary)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_binary in syn::visit - Rust

    Function syn::visit::visit_expr_binary

    source ·
    pub fn visit_expr_binary<'ast, V>(v: &mut V, node: &'ast ExprBinary)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_call.html b/syn/visit/fn.visit_expr_call.html index 8c2b0fd..d5a81f9 100644 --- a/syn/visit/fn.visit_expr_call.html +++ b/syn/visit/fn.visit_expr_call.html @@ -1 +1,2 @@ -visit_expr_call in syn::visit - Rust

    Function syn::visit::visit_expr_call

    source ·
    pub fn visit_expr_call<'ast, V>(v: &mut V, node: &'ast ExprCall)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_call in syn::visit - Rust

    Function syn::visit::visit_expr_call

    source ·
    pub fn visit_expr_call<'ast, V>(v: &mut V, node: &'ast ExprCall)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_cast.html b/syn/visit/fn.visit_expr_cast.html index b54c8cf..f13ef6e 100644 --- a/syn/visit/fn.visit_expr_cast.html +++ b/syn/visit/fn.visit_expr_cast.html @@ -1 +1,2 @@ -visit_expr_cast in syn::visit - Rust

    Function syn::visit::visit_expr_cast

    source ·
    pub fn visit_expr_cast<'ast, V>(v: &mut V, node: &'ast ExprCast)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_cast in syn::visit - Rust

    Function syn::visit::visit_expr_cast

    source ·
    pub fn visit_expr_cast<'ast, V>(v: &mut V, node: &'ast ExprCast)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_field.html b/syn/visit/fn.visit_expr_field.html index 03495d0..e0eed55 100644 --- a/syn/visit/fn.visit_expr_field.html +++ b/syn/visit/fn.visit_expr_field.html @@ -1 +1,2 @@ -visit_expr_field in syn::visit - Rust

    Function syn::visit::visit_expr_field

    source ·
    pub fn visit_expr_field<'ast, V>(v: &mut V, node: &'ast ExprField)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_field in syn::visit - Rust

    Function syn::visit::visit_expr_field

    source ·
    pub fn visit_expr_field<'ast, V>(v: &mut V, node: &'ast ExprField)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_index.html b/syn/visit/fn.visit_expr_index.html index 8d66b0c..d31a4d8 100644 --- a/syn/visit/fn.visit_expr_index.html +++ b/syn/visit/fn.visit_expr_index.html @@ -1 +1,2 @@ -visit_expr_index in syn::visit - Rust

    Function syn::visit::visit_expr_index

    source ·
    pub fn visit_expr_index<'ast, V>(v: &mut V, node: &'ast ExprIndex)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_index in syn::visit - Rust

    Function syn::visit::visit_expr_index

    source ·
    pub fn visit_expr_index<'ast, V>(v: &mut V, node: &'ast ExprIndex)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_lit.html b/syn/visit/fn.visit_expr_lit.html index d2f81c0..fa9bacd 100644 --- a/syn/visit/fn.visit_expr_lit.html +++ b/syn/visit/fn.visit_expr_lit.html @@ -1 +1,2 @@ -visit_expr_lit in syn::visit - Rust

    Function syn::visit::visit_expr_lit

    source ·
    pub fn visit_expr_lit<'ast, V>(v: &mut V, node: &'ast ExprLit)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_lit in syn::visit - Rust

    Function syn::visit::visit_expr_lit

    source ·
    pub fn visit_expr_lit<'ast, V>(v: &mut V, node: &'ast ExprLit)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_paren.html b/syn/visit/fn.visit_expr_paren.html index 381e263..fc098b0 100644 --- a/syn/visit/fn.visit_expr_paren.html +++ b/syn/visit/fn.visit_expr_paren.html @@ -1 +1,2 @@ -visit_expr_paren in syn::visit - Rust

    Function syn::visit::visit_expr_paren

    source ·
    pub fn visit_expr_paren<'ast, V>(v: &mut V, node: &'ast ExprParen)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_paren in syn::visit - Rust

    Function syn::visit::visit_expr_paren

    source ·
    pub fn visit_expr_paren<'ast, V>(v: &mut V, node: &'ast ExprParen)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_path.html b/syn/visit/fn.visit_expr_path.html index 913bb9a..06b477f 100644 --- a/syn/visit/fn.visit_expr_path.html +++ b/syn/visit/fn.visit_expr_path.html @@ -1 +1,2 @@ -visit_expr_path in syn::visit - Rust

    Function syn::visit::visit_expr_path

    source ·
    pub fn visit_expr_path<'ast, V>(v: &mut V, node: &'ast ExprPath)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_path in syn::visit - Rust

    Function syn::visit::visit_expr_path

    source ·
    pub fn visit_expr_path<'ast, V>(v: &mut V, node: &'ast ExprPath)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_expr_unary.html b/syn/visit/fn.visit_expr_unary.html index a114b57..c11ca36 100644 --- a/syn/visit/fn.visit_expr_unary.html +++ b/syn/visit/fn.visit_expr_unary.html @@ -1 +1,2 @@ -visit_expr_unary in syn::visit - Rust

    Function syn::visit::visit_expr_unary

    source ·
    pub fn visit_expr_unary<'ast, V>(v: &mut V, node: &'ast ExprUnary)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_expr_unary in syn::visit - Rust

    Function syn::visit::visit_expr_unary

    source ·
    pub fn visit_expr_unary<'ast, V>(v: &mut V, node: &'ast ExprUnary)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_field.html b/syn/visit/fn.visit_field.html index 1a1cc1e..187c9fa 100644 --- a/syn/visit/fn.visit_field.html +++ b/syn/visit/fn.visit_field.html @@ -1 +1,2 @@ -visit_field in syn::visit - Rust

    Function syn::visit::visit_field

    source ·
    pub fn visit_field<'ast, V>(v: &mut V, node: &'ast Field)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_field in syn::visit - Rust

    Function syn::visit::visit_field

    source ·
    pub fn visit_field<'ast, V>(v: &mut V, node: &'ast Field)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_fields.html b/syn/visit/fn.visit_fields.html index 06d088a..8423a09 100644 --- a/syn/visit/fn.visit_fields.html +++ b/syn/visit/fn.visit_fields.html @@ -1 +1,2 @@ -visit_fields in syn::visit - Rust

    Function syn::visit::visit_fields

    source ·
    pub fn visit_fields<'ast, V>(v: &mut V, node: &'ast Fields)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_fields in syn::visit - Rust

    Function syn::visit::visit_fields

    source ·
    pub fn visit_fields<'ast, V>(v: &mut V, node: &'ast Fields)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_fields_named.html b/syn/visit/fn.visit_fields_named.html index 93eda68..de0be56 100644 --- a/syn/visit/fn.visit_fields_named.html +++ b/syn/visit/fn.visit_fields_named.html @@ -1 +1,2 @@ -visit_fields_named in syn::visit - Rust

    Function syn::visit::visit_fields_named

    source ·
    pub fn visit_fields_named<'ast, V>(v: &mut V, node: &'ast FieldsNamed)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_fields_named in syn::visit - Rust

    Function syn::visit::visit_fields_named

    source ·
    pub fn visit_fields_named<'ast, V>(v: &mut V, node: &'ast FieldsNamed)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_fields_unnamed.html b/syn/visit/fn.visit_fields_unnamed.html index 5342589..60433aa 100644 --- a/syn/visit/fn.visit_fields_unnamed.html +++ b/syn/visit/fn.visit_fields_unnamed.html @@ -1 +1,2 @@ -visit_fields_unnamed in syn::visit - Rust
    pub fn visit_fields_unnamed<'ast, V>(v: &mut V, node: &'ast FieldsUnnamed)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_fields_unnamed in syn::visit - Rust
    pub fn visit_fields_unnamed<'ast, V>(v: &mut V, node: &'ast FieldsUnnamed)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_generic_argument.html b/syn/visit/fn.visit_generic_argument.html index e7a8c86..b26f538 100644 --- a/syn/visit/fn.visit_generic_argument.html +++ b/syn/visit/fn.visit_generic_argument.html @@ -1 +1,2 @@ -visit_generic_argument in syn::visit - Rust
    pub fn visit_generic_argument<'ast, V>(v: &mut V, node: &'ast GenericArgument)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_generic_argument in syn::visit - Rust
    pub fn visit_generic_argument<'ast, V>(v: &mut V, node: &'ast GenericArgument)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_generic_param.html b/syn/visit/fn.visit_generic_param.html index 82078e9..35f44d5 100644 --- a/syn/visit/fn.visit_generic_param.html +++ b/syn/visit/fn.visit_generic_param.html @@ -1 +1,2 @@ -visit_generic_param in syn::visit - Rust

    Function syn::visit::visit_generic_param

    source ·
    pub fn visit_generic_param<'ast, V>(v: &mut V, node: &'ast GenericParam)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_generic_param in syn::visit - Rust

    Function syn::visit::visit_generic_param

    source ·
    pub fn visit_generic_param<'ast, V>(v: &mut V, node: &'ast GenericParam)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_generics.html b/syn/visit/fn.visit_generics.html index 73684f4..bba2df2 100644 --- a/syn/visit/fn.visit_generics.html +++ b/syn/visit/fn.visit_generics.html @@ -1 +1,2 @@ -visit_generics in syn::visit - Rust

    Function syn::visit::visit_generics

    source ·
    pub fn visit_generics<'ast, V>(v: &mut V, node: &'ast Generics)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_generics in syn::visit - Rust

    Function syn::visit::visit_generics

    source ·
    pub fn visit_generics<'ast, V>(v: &mut V, node: &'ast Generics)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_ident.html b/syn/visit/fn.visit_ident.html index 82da27d..0b58741 100644 --- a/syn/visit/fn.visit_ident.html +++ b/syn/visit/fn.visit_ident.html @@ -1 +1,2 @@ -visit_ident in syn::visit - Rust

    Function syn::visit::visit_ident

    source ·
    pub fn visit_ident<'ast, V>(v: &mut V, node: &'ast Ident)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_ident in syn::visit - Rust

    Function syn::visit::visit_ident

    source ·
    pub fn visit_ident<'ast, V>(v: &mut V, node: &'ast Ident)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_index.html b/syn/visit/fn.visit_index.html index 33db3b4..ac80585 100644 --- a/syn/visit/fn.visit_index.html +++ b/syn/visit/fn.visit_index.html @@ -1 +1,2 @@ -visit_index in syn::visit - Rust

    Function syn::visit::visit_index

    source ·
    pub fn visit_index<'ast, V>(v: &mut V, node: &'ast Index)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_index in syn::visit - Rust

    Function syn::visit::visit_index

    source ·
    pub fn visit_index<'ast, V>(v: &mut V, node: &'ast Index)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lifetime.html b/syn/visit/fn.visit_lifetime.html index e1c62bb..03fc44d 100644 --- a/syn/visit/fn.visit_lifetime.html +++ b/syn/visit/fn.visit_lifetime.html @@ -1 +1,2 @@ -visit_lifetime in syn::visit - Rust

    Function syn::visit::visit_lifetime

    source ·
    pub fn visit_lifetime<'ast, V>(v: &mut V, node: &'ast Lifetime)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lifetime in syn::visit - Rust

    Function syn::visit::visit_lifetime

    source ·
    pub fn visit_lifetime<'ast, V>(v: &mut V, node: &'ast Lifetime)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lifetime_def.html b/syn/visit/fn.visit_lifetime_def.html index 61ddae0..20aaaf7 100644 --- a/syn/visit/fn.visit_lifetime_def.html +++ b/syn/visit/fn.visit_lifetime_def.html @@ -1 +1,2 @@ -visit_lifetime_def in syn::visit - Rust

    Function syn::visit::visit_lifetime_def

    source ·
    pub fn visit_lifetime_def<'ast, V>(v: &mut V, node: &'ast LifetimeDef)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lifetime_def in syn::visit - Rust

    Function syn::visit::visit_lifetime_def

    source ·
    pub fn visit_lifetime_def<'ast, V>(v: &mut V, node: &'ast LifetimeDef)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit.html b/syn/visit/fn.visit_lit.html index 7faa765..cc5cd78 100644 --- a/syn/visit/fn.visit_lit.html +++ b/syn/visit/fn.visit_lit.html @@ -1 +1,2 @@ -visit_lit in syn::visit - Rust

    Function syn::visit::visit_lit

    source ·
    pub fn visit_lit<'ast, V>(v: &mut V, node: &'ast Lit)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit in syn::visit - Rust

    Function syn::visit::visit_lit

    source ·
    pub fn visit_lit<'ast, V>(v: &mut V, node: &'ast Lit)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_bool.html b/syn/visit/fn.visit_lit_bool.html index 819fb13..b11148a 100644 --- a/syn/visit/fn.visit_lit_bool.html +++ b/syn/visit/fn.visit_lit_bool.html @@ -1 +1,2 @@ -visit_lit_bool in syn::visit - Rust

    Function syn::visit::visit_lit_bool

    source ·
    pub fn visit_lit_bool<'ast, V>(v: &mut V, node: &'ast LitBool)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_bool in syn::visit - Rust

    Function syn::visit::visit_lit_bool

    source ·
    pub fn visit_lit_bool<'ast, V>(v: &mut V, node: &'ast LitBool)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_byte.html b/syn/visit/fn.visit_lit_byte.html index 8548f86..b305030 100644 --- a/syn/visit/fn.visit_lit_byte.html +++ b/syn/visit/fn.visit_lit_byte.html @@ -1 +1,2 @@ -visit_lit_byte in syn::visit - Rust

    Function syn::visit::visit_lit_byte

    source ·
    pub fn visit_lit_byte<'ast, V>(v: &mut V, node: &'ast LitByte)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_byte in syn::visit - Rust

    Function syn::visit::visit_lit_byte

    source ·
    pub fn visit_lit_byte<'ast, V>(v: &mut V, node: &'ast LitByte)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_byte_str.html b/syn/visit/fn.visit_lit_byte_str.html index f3f191c..0ca31fc 100644 --- a/syn/visit/fn.visit_lit_byte_str.html +++ b/syn/visit/fn.visit_lit_byte_str.html @@ -1 +1,2 @@ -visit_lit_byte_str in syn::visit - Rust

    Function syn::visit::visit_lit_byte_str

    source ·
    pub fn visit_lit_byte_str<'ast, V>(v: &mut V, node: &'ast LitByteStr)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_byte_str in syn::visit - Rust

    Function syn::visit::visit_lit_byte_str

    source ·
    pub fn visit_lit_byte_str<'ast, V>(v: &mut V, node: &'ast LitByteStr)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_char.html b/syn/visit/fn.visit_lit_char.html index dd61ba0..49cfd6d 100644 --- a/syn/visit/fn.visit_lit_char.html +++ b/syn/visit/fn.visit_lit_char.html @@ -1 +1,2 @@ -visit_lit_char in syn::visit - Rust

    Function syn::visit::visit_lit_char

    source ·
    pub fn visit_lit_char<'ast, V>(v: &mut V, node: &'ast LitChar)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_char in syn::visit - Rust

    Function syn::visit::visit_lit_char

    source ·
    pub fn visit_lit_char<'ast, V>(v: &mut V, node: &'ast LitChar)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_float.html b/syn/visit/fn.visit_lit_float.html index 349ed99..2950838 100644 --- a/syn/visit/fn.visit_lit_float.html +++ b/syn/visit/fn.visit_lit_float.html @@ -1 +1,2 @@ -visit_lit_float in syn::visit - Rust

    Function syn::visit::visit_lit_float

    source ·
    pub fn visit_lit_float<'ast, V>(v: &mut V, node: &'ast LitFloat)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_float in syn::visit - Rust

    Function syn::visit::visit_lit_float

    source ·
    pub fn visit_lit_float<'ast, V>(v: &mut V, node: &'ast LitFloat)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_int.html b/syn/visit/fn.visit_lit_int.html index 2f4ccd9..c35c2f6 100644 --- a/syn/visit/fn.visit_lit_int.html +++ b/syn/visit/fn.visit_lit_int.html @@ -1 +1,2 @@ -visit_lit_int in syn::visit - Rust

    Function syn::visit::visit_lit_int

    source ·
    pub fn visit_lit_int<'ast, V>(v: &mut V, node: &'ast LitInt)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_int in syn::visit - Rust

    Function syn::visit::visit_lit_int

    source ·
    pub fn visit_lit_int<'ast, V>(v: &mut V, node: &'ast LitInt)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_lit_str.html b/syn/visit/fn.visit_lit_str.html index b9d6c06..cd8703e 100644 --- a/syn/visit/fn.visit_lit_str.html +++ b/syn/visit/fn.visit_lit_str.html @@ -1 +1,2 @@ -visit_lit_str in syn::visit - Rust

    Function syn::visit::visit_lit_str

    source ·
    pub fn visit_lit_str<'ast, V>(v: &mut V, node: &'ast LitStr)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_lit_str in syn::visit - Rust

    Function syn::visit::visit_lit_str

    source ·
    pub fn visit_lit_str<'ast, V>(v: &mut V, node: &'ast LitStr)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_macro.html b/syn/visit/fn.visit_macro.html index b7fe879..476cb8b 100644 --- a/syn/visit/fn.visit_macro.html +++ b/syn/visit/fn.visit_macro.html @@ -1 +1,2 @@ -visit_macro in syn::visit - Rust

    Function syn::visit::visit_macro

    source ·
    pub fn visit_macro<'ast, V>(v: &mut V, node: &'ast Macro)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_macro in syn::visit - Rust

    Function syn::visit::visit_macro

    source ·
    pub fn visit_macro<'ast, V>(v: &mut V, node: &'ast Macro)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_macro_delimiter.html b/syn/visit/fn.visit_macro_delimiter.html index 072584f..0c58ace 100644 --- a/syn/visit/fn.visit_macro_delimiter.html +++ b/syn/visit/fn.visit_macro_delimiter.html @@ -1 +1,2 @@ -visit_macro_delimiter in syn::visit - Rust
    pub fn visit_macro_delimiter<'ast, V>(v: &mut V, node: &'ast MacroDelimiter)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_macro_delimiter in syn::visit - Rust
    pub fn visit_macro_delimiter<'ast, V>(v: &mut V, node: &'ast MacroDelimiter)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_member.html b/syn/visit/fn.visit_member.html index c54bba0..dda2f04 100644 --- a/syn/visit/fn.visit_member.html +++ b/syn/visit/fn.visit_member.html @@ -1 +1,2 @@ -visit_member in syn::visit - Rust

    Function syn::visit::visit_member

    source ·
    pub fn visit_member<'ast, V>(v: &mut V, node: &'ast Member)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_member in syn::visit - Rust

    Function syn::visit::visit_member

    source ·
    pub fn visit_member<'ast, V>(v: &mut V, node: &'ast Member)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_meta.html b/syn/visit/fn.visit_meta.html index 159867e..41a2de6 100644 --- a/syn/visit/fn.visit_meta.html +++ b/syn/visit/fn.visit_meta.html @@ -1 +1,2 @@ -visit_meta in syn::visit - Rust

    Function syn::visit::visit_meta

    source ·
    pub fn visit_meta<'ast, V>(v: &mut V, node: &'ast Meta)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_meta in syn::visit - Rust

    Function syn::visit::visit_meta

    source ·
    pub fn visit_meta<'ast, V>(v: &mut V, node: &'ast Meta)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_meta_list.html b/syn/visit/fn.visit_meta_list.html index 85dc76a..1d3e963 100644 --- a/syn/visit/fn.visit_meta_list.html +++ b/syn/visit/fn.visit_meta_list.html @@ -1 +1,2 @@ -visit_meta_list in syn::visit - Rust

    Function syn::visit::visit_meta_list

    source ·
    pub fn visit_meta_list<'ast, V>(v: &mut V, node: &'ast MetaList)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_meta_list in syn::visit - Rust

    Function syn::visit::visit_meta_list

    source ·
    pub fn visit_meta_list<'ast, V>(v: &mut V, node: &'ast MetaList)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_meta_name_value.html b/syn/visit/fn.visit_meta_name_value.html index e03b3cc..ab48d08 100644 --- a/syn/visit/fn.visit_meta_name_value.html +++ b/syn/visit/fn.visit_meta_name_value.html @@ -1 +1,2 @@ -visit_meta_name_value in syn::visit - Rust
    pub fn visit_meta_name_value<'ast, V>(v: &mut V, node: &'ast MetaNameValue)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_meta_name_value in syn::visit - Rust
    pub fn visit_meta_name_value<'ast, V>(v: &mut V, node: &'ast MetaNameValue)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_nested_meta.html b/syn/visit/fn.visit_nested_meta.html index f2741cf..3f628bd 100644 --- a/syn/visit/fn.visit_nested_meta.html +++ b/syn/visit/fn.visit_nested_meta.html @@ -1 +1,2 @@ -visit_nested_meta in syn::visit - Rust

    Function syn::visit::visit_nested_meta

    source ·
    pub fn visit_nested_meta<'ast, V>(v: &mut V, node: &'ast NestedMeta)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_nested_meta in syn::visit - Rust

    Function syn::visit::visit_nested_meta

    source ·
    pub fn visit_nested_meta<'ast, V>(v: &mut V, node: &'ast NestedMeta)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_parenthesized_generic_arguments.html b/syn/visit/fn.visit_parenthesized_generic_arguments.html index 683c26f..c85c16c 100644 --- a/syn/visit/fn.visit_parenthesized_generic_arguments.html +++ b/syn/visit/fn.visit_parenthesized_generic_arguments.html @@ -1 +1,5 @@ -visit_parenthesized_generic_arguments in syn::visit - Rust
    pub fn visit_parenthesized_generic_arguments<'ast, V>(
        v: &mut V,
        node: &'ast ParenthesizedGenericArguments
    )where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_parenthesized_generic_arguments in syn::visit - Rust
    pub fn visit_parenthesized_generic_arguments<'ast, V>(
    +    v: &mut V,
    +    node: &'ast ParenthesizedGenericArguments
    +)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_path.html b/syn/visit/fn.visit_path.html index 82e915b..9dac33e 100644 --- a/syn/visit/fn.visit_path.html +++ b/syn/visit/fn.visit_path.html @@ -1 +1,2 @@ -visit_path in syn::visit - Rust

    Function syn::visit::visit_path

    source ·
    pub fn visit_path<'ast, V>(v: &mut V, node: &'ast Path)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_path in syn::visit - Rust

    Function syn::visit::visit_path

    source ·
    pub fn visit_path<'ast, V>(v: &mut V, node: &'ast Path)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_path_arguments.html b/syn/visit/fn.visit_path_arguments.html index 5e2c359..7edbfb2 100644 --- a/syn/visit/fn.visit_path_arguments.html +++ b/syn/visit/fn.visit_path_arguments.html @@ -1 +1,2 @@ -visit_path_arguments in syn::visit - Rust
    pub fn visit_path_arguments<'ast, V>(v: &mut V, node: &'ast PathArguments)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_path_arguments in syn::visit - Rust
    pub fn visit_path_arguments<'ast, V>(v: &mut V, node: &'ast PathArguments)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_path_segment.html b/syn/visit/fn.visit_path_segment.html index dbdd4b4..9081ab6 100644 --- a/syn/visit/fn.visit_path_segment.html +++ b/syn/visit/fn.visit_path_segment.html @@ -1 +1,2 @@ -visit_path_segment in syn::visit - Rust

    Function syn::visit::visit_path_segment

    source ·
    pub fn visit_path_segment<'ast, V>(v: &mut V, node: &'ast PathSegment)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_path_segment in syn::visit - Rust

    Function syn::visit::visit_path_segment

    source ·
    pub fn visit_path_segment<'ast, V>(v: &mut V, node: &'ast PathSegment)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_predicate_eq.html b/syn/visit/fn.visit_predicate_eq.html index 747e167..1ae73fd 100644 --- a/syn/visit/fn.visit_predicate_eq.html +++ b/syn/visit/fn.visit_predicate_eq.html @@ -1 +1,2 @@ -visit_predicate_eq in syn::visit - Rust

    Function syn::visit::visit_predicate_eq

    source ·
    pub fn visit_predicate_eq<'ast, V>(v: &mut V, node: &'ast PredicateEq)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_predicate_eq in syn::visit - Rust

    Function syn::visit::visit_predicate_eq

    source ·
    pub fn visit_predicate_eq<'ast, V>(v: &mut V, node: &'ast PredicateEq)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_predicate_lifetime.html b/syn/visit/fn.visit_predicate_lifetime.html index 22a5685..6405782 100644 --- a/syn/visit/fn.visit_predicate_lifetime.html +++ b/syn/visit/fn.visit_predicate_lifetime.html @@ -1 +1,5 @@ -visit_predicate_lifetime in syn::visit - Rust
    pub fn visit_predicate_lifetime<'ast, V>(
        v: &mut V,
        node: &'ast PredicateLifetime
    )where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_predicate_lifetime in syn::visit - Rust
    pub fn visit_predicate_lifetime<'ast, V>(
    +    v: &mut V,
    +    node: &'ast PredicateLifetime
    +)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_predicate_type.html b/syn/visit/fn.visit_predicate_type.html index a1480e0..2149366 100644 --- a/syn/visit/fn.visit_predicate_type.html +++ b/syn/visit/fn.visit_predicate_type.html @@ -1 +1,2 @@ -visit_predicate_type in syn::visit - Rust
    pub fn visit_predicate_type<'ast, V>(v: &mut V, node: &'ast PredicateType)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_predicate_type in syn::visit - Rust
    pub fn visit_predicate_type<'ast, V>(v: &mut V, node: &'ast PredicateType)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_qself.html b/syn/visit/fn.visit_qself.html index 8f2031e..b8164d3 100644 --- a/syn/visit/fn.visit_qself.html +++ b/syn/visit/fn.visit_qself.html @@ -1 +1,2 @@ -visit_qself in syn::visit - Rust

    Function syn::visit::visit_qself

    source ·
    pub fn visit_qself<'ast, V>(v: &mut V, node: &'ast QSelf)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_qself in syn::visit - Rust

    Function syn::visit::visit_qself

    source ·
    pub fn visit_qself<'ast, V>(v: &mut V, node: &'ast QSelf)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_return_type.html b/syn/visit/fn.visit_return_type.html index 88ebbaf..456dab2 100644 --- a/syn/visit/fn.visit_return_type.html +++ b/syn/visit/fn.visit_return_type.html @@ -1 +1,2 @@ -visit_return_type in syn::visit - Rust

    Function syn::visit::visit_return_type

    source ·
    pub fn visit_return_type<'ast, V>(v: &mut V, node: &'ast ReturnType)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_return_type in syn::visit - Rust

    Function syn::visit::visit_return_type

    source ·
    pub fn visit_return_type<'ast, V>(v: &mut V, node: &'ast ReturnType)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_span.html b/syn/visit/fn.visit_span.html index 1af8a58..b2f083f 100644 --- a/syn/visit/fn.visit_span.html +++ b/syn/visit/fn.visit_span.html @@ -1 +1,2 @@ -visit_span in syn::visit - Rust

    Function syn::visit::visit_span

    source ·
    pub fn visit_span<'ast, V>(v: &mut V, node: &Span)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_span in syn::visit - Rust

    Function syn::visit::visit_span

    source ·
    pub fn visit_span<'ast, V>(v: &mut V, node: &Span)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_trait_bound.html b/syn/visit/fn.visit_trait_bound.html index 3568c9b..63159b4 100644 --- a/syn/visit/fn.visit_trait_bound.html +++ b/syn/visit/fn.visit_trait_bound.html @@ -1 +1,2 @@ -visit_trait_bound in syn::visit - Rust

    Function syn::visit::visit_trait_bound

    source ·
    pub fn visit_trait_bound<'ast, V>(v: &mut V, node: &'ast TraitBound)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_trait_bound in syn::visit - Rust

    Function syn::visit::visit_trait_bound

    source ·
    pub fn visit_trait_bound<'ast, V>(v: &mut V, node: &'ast TraitBound)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_trait_bound_modifier.html b/syn/visit/fn.visit_trait_bound_modifier.html index 79e8eeb..6f86118 100644 --- a/syn/visit/fn.visit_trait_bound_modifier.html +++ b/syn/visit/fn.visit_trait_bound_modifier.html @@ -1 +1,5 @@ -visit_trait_bound_modifier in syn::visit - Rust
    pub fn visit_trait_bound_modifier<'ast, V>(
        v: &mut V,
        node: &'ast TraitBoundModifier
    )where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_trait_bound_modifier in syn::visit - Rust
    pub fn visit_trait_bound_modifier<'ast, V>(
    +    v: &mut V,
    +    node: &'ast TraitBoundModifier
    +)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type.html b/syn/visit/fn.visit_type.html index ef43e53..36d3146 100644 --- a/syn/visit/fn.visit_type.html +++ b/syn/visit/fn.visit_type.html @@ -1 +1,2 @@ -visit_type in syn::visit - Rust

    Function syn::visit::visit_type

    source ·
    pub fn visit_type<'ast, V>(v: &mut V, node: &'ast Type)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type in syn::visit - Rust

    Function syn::visit::visit_type

    source ·
    pub fn visit_type<'ast, V>(v: &mut V, node: &'ast Type)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_array.html b/syn/visit/fn.visit_type_array.html index 39719ef..cc260ce 100644 --- a/syn/visit/fn.visit_type_array.html +++ b/syn/visit/fn.visit_type_array.html @@ -1 +1,2 @@ -visit_type_array in syn::visit - Rust

    Function syn::visit::visit_type_array

    source ·
    pub fn visit_type_array<'ast, V>(v: &mut V, node: &'ast TypeArray)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_array in syn::visit - Rust

    Function syn::visit::visit_type_array

    source ·
    pub fn visit_type_array<'ast, V>(v: &mut V, node: &'ast TypeArray)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_bare_fn.html b/syn/visit/fn.visit_type_bare_fn.html index 3466aff..e122698 100644 --- a/syn/visit/fn.visit_type_bare_fn.html +++ b/syn/visit/fn.visit_type_bare_fn.html @@ -1 +1,2 @@ -visit_type_bare_fn in syn::visit - Rust

    Function syn::visit::visit_type_bare_fn

    source ·
    pub fn visit_type_bare_fn<'ast, V>(v: &mut V, node: &'ast TypeBareFn)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_bare_fn in syn::visit - Rust

    Function syn::visit::visit_type_bare_fn

    source ·
    pub fn visit_type_bare_fn<'ast, V>(v: &mut V, node: &'ast TypeBareFn)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_group.html b/syn/visit/fn.visit_type_group.html index 7b916b0..d08bb94 100644 --- a/syn/visit/fn.visit_type_group.html +++ b/syn/visit/fn.visit_type_group.html @@ -1 +1,2 @@ -visit_type_group in syn::visit - Rust

    Function syn::visit::visit_type_group

    source ·
    pub fn visit_type_group<'ast, V>(v: &mut V, node: &'ast TypeGroup)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_group in syn::visit - Rust

    Function syn::visit::visit_type_group

    source ·
    pub fn visit_type_group<'ast, V>(v: &mut V, node: &'ast TypeGroup)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_impl_trait.html b/syn/visit/fn.visit_type_impl_trait.html index 6529784..371d3eb 100644 --- a/syn/visit/fn.visit_type_impl_trait.html +++ b/syn/visit/fn.visit_type_impl_trait.html @@ -1 +1,2 @@ -visit_type_impl_trait in syn::visit - Rust
    pub fn visit_type_impl_trait<'ast, V>(v: &mut V, node: &'ast TypeImplTrait)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_impl_trait in syn::visit - Rust
    pub fn visit_type_impl_trait<'ast, V>(v: &mut V, node: &'ast TypeImplTrait)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_infer.html b/syn/visit/fn.visit_type_infer.html index 55db00f..e89df18 100644 --- a/syn/visit/fn.visit_type_infer.html +++ b/syn/visit/fn.visit_type_infer.html @@ -1 +1,2 @@ -visit_type_infer in syn::visit - Rust

    Function syn::visit::visit_type_infer

    source ·
    pub fn visit_type_infer<'ast, V>(v: &mut V, node: &'ast TypeInfer)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_infer in syn::visit - Rust

    Function syn::visit::visit_type_infer

    source ·
    pub fn visit_type_infer<'ast, V>(v: &mut V, node: &'ast TypeInfer)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_macro.html b/syn/visit/fn.visit_type_macro.html index a76f3d8..3cfd7e4 100644 --- a/syn/visit/fn.visit_type_macro.html +++ b/syn/visit/fn.visit_type_macro.html @@ -1 +1,2 @@ -visit_type_macro in syn::visit - Rust

    Function syn::visit::visit_type_macro

    source ·
    pub fn visit_type_macro<'ast, V>(v: &mut V, node: &'ast TypeMacro)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_macro in syn::visit - Rust

    Function syn::visit::visit_type_macro

    source ·
    pub fn visit_type_macro<'ast, V>(v: &mut V, node: &'ast TypeMacro)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_never.html b/syn/visit/fn.visit_type_never.html index 4848c31..63e21db 100644 --- a/syn/visit/fn.visit_type_never.html +++ b/syn/visit/fn.visit_type_never.html @@ -1 +1,2 @@ -visit_type_never in syn::visit - Rust

    Function syn::visit::visit_type_never

    source ·
    pub fn visit_type_never<'ast, V>(v: &mut V, node: &'ast TypeNever)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_never in syn::visit - Rust

    Function syn::visit::visit_type_never

    source ·
    pub fn visit_type_never<'ast, V>(v: &mut V, node: &'ast TypeNever)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_param.html b/syn/visit/fn.visit_type_param.html index 2fe2a47..6c9401c 100644 --- a/syn/visit/fn.visit_type_param.html +++ b/syn/visit/fn.visit_type_param.html @@ -1 +1,2 @@ -visit_type_param in syn::visit - Rust

    Function syn::visit::visit_type_param

    source ·
    pub fn visit_type_param<'ast, V>(v: &mut V, node: &'ast TypeParam)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_param in syn::visit - Rust

    Function syn::visit::visit_type_param

    source ·
    pub fn visit_type_param<'ast, V>(v: &mut V, node: &'ast TypeParam)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_param_bound.html b/syn/visit/fn.visit_type_param_bound.html index 6ca309e..b07a4fa 100644 --- a/syn/visit/fn.visit_type_param_bound.html +++ b/syn/visit/fn.visit_type_param_bound.html @@ -1 +1,2 @@ -visit_type_param_bound in syn::visit - Rust
    pub fn visit_type_param_bound<'ast, V>(v: &mut V, node: &'ast TypeParamBound)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_param_bound in syn::visit - Rust
    pub fn visit_type_param_bound<'ast, V>(v: &mut V, node: &'ast TypeParamBound)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_paren.html b/syn/visit/fn.visit_type_paren.html index 8b666aa..5141b27 100644 --- a/syn/visit/fn.visit_type_paren.html +++ b/syn/visit/fn.visit_type_paren.html @@ -1 +1,2 @@ -visit_type_paren in syn::visit - Rust

    Function syn::visit::visit_type_paren

    source ·
    pub fn visit_type_paren<'ast, V>(v: &mut V, node: &'ast TypeParen)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_paren in syn::visit - Rust

    Function syn::visit::visit_type_paren

    source ·
    pub fn visit_type_paren<'ast, V>(v: &mut V, node: &'ast TypeParen)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_path.html b/syn/visit/fn.visit_type_path.html index 8dae96d..d3a1ea2 100644 --- a/syn/visit/fn.visit_type_path.html +++ b/syn/visit/fn.visit_type_path.html @@ -1 +1,2 @@ -visit_type_path in syn::visit - Rust

    Function syn::visit::visit_type_path

    source ·
    pub fn visit_type_path<'ast, V>(v: &mut V, node: &'ast TypePath)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_path in syn::visit - Rust

    Function syn::visit::visit_type_path

    source ·
    pub fn visit_type_path<'ast, V>(v: &mut V, node: &'ast TypePath)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_ptr.html b/syn/visit/fn.visit_type_ptr.html index c8673db..e743520 100644 --- a/syn/visit/fn.visit_type_ptr.html +++ b/syn/visit/fn.visit_type_ptr.html @@ -1 +1,2 @@ -visit_type_ptr in syn::visit - Rust

    Function syn::visit::visit_type_ptr

    source ·
    pub fn visit_type_ptr<'ast, V>(v: &mut V, node: &'ast TypePtr)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_ptr in syn::visit - Rust

    Function syn::visit::visit_type_ptr

    source ·
    pub fn visit_type_ptr<'ast, V>(v: &mut V, node: &'ast TypePtr)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_reference.html b/syn/visit/fn.visit_type_reference.html index dafad1b..0c63175 100644 --- a/syn/visit/fn.visit_type_reference.html +++ b/syn/visit/fn.visit_type_reference.html @@ -1 +1,2 @@ -visit_type_reference in syn::visit - Rust
    pub fn visit_type_reference<'ast, V>(v: &mut V, node: &'ast TypeReference)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_reference in syn::visit - Rust
    pub fn visit_type_reference<'ast, V>(v: &mut V, node: &'ast TypeReference)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_slice.html b/syn/visit/fn.visit_type_slice.html index 58336eb..94c1039 100644 --- a/syn/visit/fn.visit_type_slice.html +++ b/syn/visit/fn.visit_type_slice.html @@ -1 +1,2 @@ -visit_type_slice in syn::visit - Rust

    Function syn::visit::visit_type_slice

    source ·
    pub fn visit_type_slice<'ast, V>(v: &mut V, node: &'ast TypeSlice)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_slice in syn::visit - Rust

    Function syn::visit::visit_type_slice

    source ·
    pub fn visit_type_slice<'ast, V>(v: &mut V, node: &'ast TypeSlice)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_trait_object.html b/syn/visit/fn.visit_type_trait_object.html index bbf7339..953ccdc 100644 --- a/syn/visit/fn.visit_type_trait_object.html +++ b/syn/visit/fn.visit_type_trait_object.html @@ -1 +1,2 @@ -visit_type_trait_object in syn::visit - Rust
    pub fn visit_type_trait_object<'ast, V>(v: &mut V, node: &'ast TypeTraitObject)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_trait_object in syn::visit - Rust
    pub fn visit_type_trait_object<'ast, V>(v: &mut V, node: &'ast TypeTraitObject)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_type_tuple.html b/syn/visit/fn.visit_type_tuple.html index bcc87c5..1edcab9 100644 --- a/syn/visit/fn.visit_type_tuple.html +++ b/syn/visit/fn.visit_type_tuple.html @@ -1 +1,2 @@ -visit_type_tuple in syn::visit - Rust

    Function syn::visit::visit_type_tuple

    source ·
    pub fn visit_type_tuple<'ast, V>(v: &mut V, node: &'ast TypeTuple)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_type_tuple in syn::visit - Rust

    Function syn::visit::visit_type_tuple

    source ·
    pub fn visit_type_tuple<'ast, V>(v: &mut V, node: &'ast TypeTuple)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_un_op.html b/syn/visit/fn.visit_un_op.html index 09506e4..8870ce8 100644 --- a/syn/visit/fn.visit_un_op.html +++ b/syn/visit/fn.visit_un_op.html @@ -1 +1,2 @@ -visit_un_op in syn::visit - Rust

    Function syn::visit::visit_un_op

    source ·
    pub fn visit_un_op<'ast, V>(v: &mut V, node: &'ast UnOp)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_un_op in syn::visit - Rust

    Function syn::visit::visit_un_op

    source ·
    pub fn visit_un_op<'ast, V>(v: &mut V, node: &'ast UnOp)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_variadic.html b/syn/visit/fn.visit_variadic.html index 30d9d5f..ecabd86 100644 --- a/syn/visit/fn.visit_variadic.html +++ b/syn/visit/fn.visit_variadic.html @@ -1 +1,2 @@ -visit_variadic in syn::visit - Rust

    Function syn::visit::visit_variadic

    source ·
    pub fn visit_variadic<'ast, V>(v: &mut V, node: &'ast Variadic)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_variadic in syn::visit - Rust

    Function syn::visit::visit_variadic

    source ·
    pub fn visit_variadic<'ast, V>(v: &mut V, node: &'ast Variadic)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_variant.html b/syn/visit/fn.visit_variant.html index 54a0e3f..1aeb0d1 100644 --- a/syn/visit/fn.visit_variant.html +++ b/syn/visit/fn.visit_variant.html @@ -1 +1,2 @@ -visit_variant in syn::visit - Rust

    Function syn::visit::visit_variant

    source ·
    pub fn visit_variant<'ast, V>(v: &mut V, node: &'ast Variant)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_variant in syn::visit - Rust

    Function syn::visit::visit_variant

    source ·
    pub fn visit_variant<'ast, V>(v: &mut V, node: &'ast Variant)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_vis_crate.html b/syn/visit/fn.visit_vis_crate.html index c2bb893..738ffef 100644 --- a/syn/visit/fn.visit_vis_crate.html +++ b/syn/visit/fn.visit_vis_crate.html @@ -1 +1,2 @@ -visit_vis_crate in syn::visit - Rust

    Function syn::visit::visit_vis_crate

    source ·
    pub fn visit_vis_crate<'ast, V>(v: &mut V, node: &'ast VisCrate)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_vis_crate in syn::visit - Rust

    Function syn::visit::visit_vis_crate

    source ·
    pub fn visit_vis_crate<'ast, V>(v: &mut V, node: &'ast VisCrate)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_vis_public.html b/syn/visit/fn.visit_vis_public.html index 27df7f6..5b1f0f8 100644 --- a/syn/visit/fn.visit_vis_public.html +++ b/syn/visit/fn.visit_vis_public.html @@ -1 +1,2 @@ -visit_vis_public in syn::visit - Rust

    Function syn::visit::visit_vis_public

    source ·
    pub fn visit_vis_public<'ast, V>(v: &mut V, node: &'ast VisPublic)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_vis_public in syn::visit - Rust

    Function syn::visit::visit_vis_public

    source ·
    pub fn visit_vis_public<'ast, V>(v: &mut V, node: &'ast VisPublic)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_vis_restricted.html b/syn/visit/fn.visit_vis_restricted.html index 85de16a..9f734d4 100644 --- a/syn/visit/fn.visit_vis_restricted.html +++ b/syn/visit/fn.visit_vis_restricted.html @@ -1 +1,2 @@ -visit_vis_restricted in syn::visit - Rust
    pub fn visit_vis_restricted<'ast, V>(v: &mut V, node: &'ast VisRestricted)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_vis_restricted in syn::visit - Rust
    pub fn visit_vis_restricted<'ast, V>(v: &mut V, node: &'ast VisRestricted)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_visibility.html b/syn/visit/fn.visit_visibility.html index 456f607..d897c10 100644 --- a/syn/visit/fn.visit_visibility.html +++ b/syn/visit/fn.visit_visibility.html @@ -1 +1,2 @@ -visit_visibility in syn::visit - Rust

    Function syn::visit::visit_visibility

    source ·
    pub fn visit_visibility<'ast, V>(v: &mut V, node: &'ast Visibility)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_visibility in syn::visit - Rust

    Function syn::visit::visit_visibility

    source ·
    pub fn visit_visibility<'ast, V>(v: &mut V, node: &'ast Visibility)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_where_clause.html b/syn/visit/fn.visit_where_clause.html index 0729def..dd7b9d7 100644 --- a/syn/visit/fn.visit_where_clause.html +++ b/syn/visit/fn.visit_where_clause.html @@ -1 +1,2 @@ -visit_where_clause in syn::visit - Rust

    Function syn::visit::visit_where_clause

    source ·
    pub fn visit_where_clause<'ast, V>(v: &mut V, node: &'ast WhereClause)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_where_clause in syn::visit - Rust

    Function syn::visit::visit_where_clause

    source ·
    pub fn visit_where_clause<'ast, V>(v: &mut V, node: &'ast WhereClause)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/fn.visit_where_predicate.html b/syn/visit/fn.visit_where_predicate.html index 8e28ffd..2ba2dec 100644 --- a/syn/visit/fn.visit_where_predicate.html +++ b/syn/visit/fn.visit_where_predicate.html @@ -1 +1,2 @@ -visit_where_predicate in syn::visit - Rust
    pub fn visit_where_predicate<'ast, V>(v: &mut V, node: &'ast WherePredicate)where
        V: Visit<'ast> + ?Sized,
    \ No newline at end of file +visit_where_predicate in syn::visit - Rust
    pub fn visit_where_predicate<'ast, V>(v: &mut V, node: &'ast WherePredicate)where
    +    V: Visit<'ast> + ?Sized,
    \ No newline at end of file diff --git a/syn/visit/index.html b/syn/visit/index.html index 458bd57..e3fa39d 100644 --- a/syn/visit/index.html +++ b/syn/visit/index.html @@ -1,5 +1,5 @@ -syn::visit - Rust

    Module syn::visit

    source ·
    Expand description

    Syntax tree traversal to walk a shared borrow of a syntax tree.

    -

    Each method of the Visit trait is a hook that can be overridden to +syn::visit - Rust

    Module syn::visit

    source ·
    Expand description

    Syntax tree traversal to walk a shared borrow of a syntax tree.

    +

    Each method of the Visit trait is a hook that can be overridden to customize the behavior when visiting the corresponding type of node. By default, every method recursively visits the substructure of the input by invoking the right visitor method of each of its fields.

    @@ -95,4 +95,4 @@ hold on to references into the syntax tree.

    println!("Function with name={}", f.sig.ident); } }
    -

    Traits

    Syntax tree traversal to walk a shared borrow of a syntax tree.

    Functions

    \ No newline at end of file +

    Traits

    • Syntax tree traversal to walk a shared borrow of a syntax tree.

    Functions

    \ No newline at end of file diff --git a/syn/visit/sidebar-items.js b/syn/visit/sidebar-items.js index 356bd49..8d261ff 100644 --- a/syn/visit/sidebar-items.js +++ b/syn/visit/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":[["visit_abi",""],["visit_angle_bracketed_generic_arguments",""],["visit_attr_style",""],["visit_attribute",""],["visit_bare_fn_arg",""],["visit_bin_op",""],["visit_binding",""],["visit_bound_lifetimes",""],["visit_const_param",""],["visit_constraint",""],["visit_data",""],["visit_data_enum",""],["visit_data_struct",""],["visit_data_union",""],["visit_derive_input",""],["visit_expr",""],["visit_expr_binary",""],["visit_expr_call",""],["visit_expr_cast",""],["visit_expr_field",""],["visit_expr_index",""],["visit_expr_lit",""],["visit_expr_paren",""],["visit_expr_path",""],["visit_expr_unary",""],["visit_field",""],["visit_fields",""],["visit_fields_named",""],["visit_fields_unnamed",""],["visit_generic_argument",""],["visit_generic_param",""],["visit_generics",""],["visit_ident",""],["visit_index",""],["visit_lifetime",""],["visit_lifetime_def",""],["visit_lit",""],["visit_lit_bool",""],["visit_lit_byte",""],["visit_lit_byte_str",""],["visit_lit_char",""],["visit_lit_float",""],["visit_lit_int",""],["visit_lit_str",""],["visit_macro",""],["visit_macro_delimiter",""],["visit_member",""],["visit_meta",""],["visit_meta_list",""],["visit_meta_name_value",""],["visit_nested_meta",""],["visit_parenthesized_generic_arguments",""],["visit_path",""],["visit_path_arguments",""],["visit_path_segment",""],["visit_predicate_eq",""],["visit_predicate_lifetime",""],["visit_predicate_type",""],["visit_qself",""],["visit_return_type",""],["visit_span",""],["visit_trait_bound",""],["visit_trait_bound_modifier",""],["visit_type",""],["visit_type_array",""],["visit_type_bare_fn",""],["visit_type_group",""],["visit_type_impl_trait",""],["visit_type_infer",""],["visit_type_macro",""],["visit_type_never",""],["visit_type_param",""],["visit_type_param_bound",""],["visit_type_paren",""],["visit_type_path",""],["visit_type_ptr",""],["visit_type_reference",""],["visit_type_slice",""],["visit_type_trait_object",""],["visit_type_tuple",""],["visit_un_op",""],["visit_variadic",""],["visit_variant",""],["visit_vis_crate",""],["visit_vis_public",""],["visit_vis_restricted",""],["visit_visibility",""],["visit_where_clause",""],["visit_where_predicate",""]],"trait":[["Visit","Syntax tree traversal to walk a shared borrow of a syntax tree."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["visit_abi","visit_angle_bracketed_generic_arguments","visit_attr_style","visit_attribute","visit_bare_fn_arg","visit_bin_op","visit_binding","visit_bound_lifetimes","visit_const_param","visit_constraint","visit_data","visit_data_enum","visit_data_struct","visit_data_union","visit_derive_input","visit_expr","visit_expr_binary","visit_expr_call","visit_expr_cast","visit_expr_field","visit_expr_index","visit_expr_lit","visit_expr_paren","visit_expr_path","visit_expr_unary","visit_field","visit_fields","visit_fields_named","visit_fields_unnamed","visit_generic_argument","visit_generic_param","visit_generics","visit_ident","visit_index","visit_lifetime","visit_lifetime_def","visit_lit","visit_lit_bool","visit_lit_byte","visit_lit_byte_str","visit_lit_char","visit_lit_float","visit_lit_int","visit_lit_str","visit_macro","visit_macro_delimiter","visit_member","visit_meta","visit_meta_list","visit_meta_name_value","visit_nested_meta","visit_parenthesized_generic_arguments","visit_path","visit_path_arguments","visit_path_segment","visit_predicate_eq","visit_predicate_lifetime","visit_predicate_type","visit_qself","visit_return_type","visit_span","visit_trait_bound","visit_trait_bound_modifier","visit_type","visit_type_array","visit_type_bare_fn","visit_type_group","visit_type_impl_trait","visit_type_infer","visit_type_macro","visit_type_never","visit_type_param","visit_type_param_bound","visit_type_paren","visit_type_path","visit_type_ptr","visit_type_reference","visit_type_slice","visit_type_trait_object","visit_type_tuple","visit_un_op","visit_variadic","visit_variant","visit_vis_crate","visit_vis_public","visit_vis_restricted","visit_visibility","visit_where_clause","visit_where_predicate"],"trait":["Visit"]}; \ No newline at end of file diff --git a/syn/visit/trait.Visit.html b/syn/visit/trait.Visit.html index b905aaa..e2e9469 100644 --- a/syn/visit/trait.Visit.html +++ b/syn/visit/trait.Visit.html @@ -1,6 +1,10 @@ -Visit in syn::visit - Rust

    Trait syn::visit::Visit

    source ·
    pub trait Visit<'ast> {
    -
    Show 89 methods fn visit_abi(&mut self, i: &'ast Abi) { ... } - fn visit_angle_bracketed_generic_arguments(
            &mut self,
            i: &'ast AngleBracketedGenericArguments
        ) { ... } +Visit in syn::visit - Rust

    Trait syn::visit::Visit

    source ·
    pub trait Visit<'ast> {
    +
    Show 89 methods // Provided methods + fn visit_abi(&mut self, i: &'ast Abi) { ... } + fn visit_angle_bracketed_generic_arguments( + &mut self, + i: &'ast AngleBracketedGenericArguments + ) { ... } fn visit_attr_style(&mut self, i: &'ast AttrStyle) { ... } fn visit_attribute(&mut self, i: &'ast Attribute) { ... } fn visit_bare_fn_arg(&mut self, i: &'ast BareFnArg) { ... } @@ -50,7 +54,10 @@ fn visit_meta_list(&mut self, i: &'ast MetaList) { ... } fn visit_meta_name_value(&mut self, i: &'ast MetaNameValue) { ... } fn visit_nested_meta(&mut self, i: &'ast NestedMeta) { ... } - fn visit_parenthesized_generic_arguments(
            &mut self,
            i: &'ast ParenthesizedGenericArguments
        ) { ... } + fn visit_parenthesized_generic_arguments( + &mut self, + i: &'ast ParenthesizedGenericArguments + ) { ... } fn visit_path(&mut self, i: &'ast Path) { ... } fn visit_path_arguments(&mut self, i: &'ast PathArguments) { ... } fn visit_path_segment(&mut self, i: &'ast PathSegment) { ... } @@ -88,7 +95,13 @@ fn visit_visibility(&mut self, i: &'ast Visibility) { ... } fn visit_where_clause(&mut self, i: &'ast WhereClause) { ... } fn visit_where_predicate(&mut self, i: &'ast WherePredicate) { ... } -
    }
    Expand description

    Syntax tree traversal to walk a shared borrow of a syntax tree.

    -

    See the module documentation for details.

    +
    }
    Expand description

    Syntax tree traversal to walk a shared borrow of a syntax tree.

    +

    See the module documentation for details.

    This trait is available only if Syn is built with the "visit" feature.

    -

    Provided Methods§

    Implementors§

    \ No newline at end of file +

    Provided Methods§

    source

    fn visit_abi(&mut self, i: &'ast Abi)

    source

    fn visit_angle_bracketed_generic_arguments( + &mut self, + i: &'ast AngleBracketedGenericArguments +)

    source

    fn visit_attr_style(&mut self, i: &'ast AttrStyle)

    source

    fn visit_attribute(&mut self, i: &'ast Attribute)

    source

    fn visit_bare_fn_arg(&mut self, i: &'ast BareFnArg)

    source

    fn visit_bin_op(&mut self, i: &'ast BinOp)

    source

    fn visit_binding(&mut self, i: &'ast Binding)

    source

    fn visit_bound_lifetimes(&mut self, i: &'ast BoundLifetimes)

    source

    fn visit_const_param(&mut self, i: &'ast ConstParam)

    source

    fn visit_constraint(&mut self, i: &'ast Constraint)

    source

    fn visit_data(&mut self, i: &'ast Data)

    source

    fn visit_data_enum(&mut self, i: &'ast DataEnum)

    source

    fn visit_data_struct(&mut self, i: &'ast DataStruct)

    source

    fn visit_data_union(&mut self, i: &'ast DataUnion)

    source

    fn visit_derive_input(&mut self, i: &'ast DeriveInput)

    source

    fn visit_expr(&mut self, i: &'ast Expr)

    source

    fn visit_expr_binary(&mut self, i: &'ast ExprBinary)

    source

    fn visit_expr_call(&mut self, i: &'ast ExprCall)

    source

    fn visit_expr_cast(&mut self, i: &'ast ExprCast)

    source

    fn visit_expr_field(&mut self, i: &'ast ExprField)

    source

    fn visit_expr_index(&mut self, i: &'ast ExprIndex)

    source

    fn visit_expr_lit(&mut self, i: &'ast ExprLit)

    source

    fn visit_expr_paren(&mut self, i: &'ast ExprParen)

    source

    fn visit_expr_path(&mut self, i: &'ast ExprPath)

    source

    fn visit_expr_unary(&mut self, i: &'ast ExprUnary)

    source

    fn visit_field(&mut self, i: &'ast Field)

    source

    fn visit_fields(&mut self, i: &'ast Fields)

    source

    fn visit_fields_named(&mut self, i: &'ast FieldsNamed)

    source

    fn visit_fields_unnamed(&mut self, i: &'ast FieldsUnnamed)

    source

    fn visit_generic_argument(&mut self, i: &'ast GenericArgument)

    source

    fn visit_generic_param(&mut self, i: &'ast GenericParam)

    source

    fn visit_generics(&mut self, i: &'ast Generics)

    source

    fn visit_ident(&mut self, i: &'ast Ident)

    source

    fn visit_index(&mut self, i: &'ast Index)

    source

    fn visit_lifetime(&mut self, i: &'ast Lifetime)

    source

    fn visit_lifetime_def(&mut self, i: &'ast LifetimeDef)

    source

    fn visit_lit(&mut self, i: &'ast Lit)

    source

    fn visit_lit_bool(&mut self, i: &'ast LitBool)

    source

    fn visit_lit_byte(&mut self, i: &'ast LitByte)

    source

    fn visit_lit_byte_str(&mut self, i: &'ast LitByteStr)

    source

    fn visit_lit_char(&mut self, i: &'ast LitChar)

    source

    fn visit_lit_float(&mut self, i: &'ast LitFloat)

    source

    fn visit_lit_int(&mut self, i: &'ast LitInt)

    source

    fn visit_lit_str(&mut self, i: &'ast LitStr)

    source

    fn visit_macro(&mut self, i: &'ast Macro)

    source

    fn visit_macro_delimiter(&mut self, i: &'ast MacroDelimiter)

    source

    fn visit_member(&mut self, i: &'ast Member)

    source

    fn visit_meta(&mut self, i: &'ast Meta)

    source

    fn visit_meta_list(&mut self, i: &'ast MetaList)

    source

    fn visit_meta_name_value(&mut self, i: &'ast MetaNameValue)

    source

    fn visit_nested_meta(&mut self, i: &'ast NestedMeta)

    source

    fn visit_parenthesized_generic_arguments( + &mut self, + i: &'ast ParenthesizedGenericArguments +)

    source

    fn visit_path(&mut self, i: &'ast Path)

    source

    fn visit_path_arguments(&mut self, i: &'ast PathArguments)

    source

    fn visit_path_segment(&mut self, i: &'ast PathSegment)

    source

    fn visit_predicate_eq(&mut self, i: &'ast PredicateEq)

    source

    fn visit_predicate_lifetime(&mut self, i: &'ast PredicateLifetime)

    source

    fn visit_predicate_type(&mut self, i: &'ast PredicateType)

    source

    fn visit_qself(&mut self, i: &'ast QSelf)

    source

    fn visit_return_type(&mut self, i: &'ast ReturnType)

    source

    fn visit_span(&mut self, i: &Span)

    source

    fn visit_trait_bound(&mut self, i: &'ast TraitBound)

    source

    fn visit_trait_bound_modifier(&mut self, i: &'ast TraitBoundModifier)

    source

    fn visit_type(&mut self, i: &'ast Type)

    source

    fn visit_type_array(&mut self, i: &'ast TypeArray)

    source

    fn visit_type_bare_fn(&mut self, i: &'ast TypeBareFn)

    source

    fn visit_type_group(&mut self, i: &'ast TypeGroup)

    source

    fn visit_type_impl_trait(&mut self, i: &'ast TypeImplTrait)

    source

    fn visit_type_infer(&mut self, i: &'ast TypeInfer)

    source

    fn visit_type_macro(&mut self, i: &'ast TypeMacro)

    source

    fn visit_type_never(&mut self, i: &'ast TypeNever)

    source

    fn visit_type_param(&mut self, i: &'ast TypeParam)

    source

    fn visit_type_param_bound(&mut self, i: &'ast TypeParamBound)

    source

    fn visit_type_paren(&mut self, i: &'ast TypeParen)

    source

    fn visit_type_path(&mut self, i: &'ast TypePath)

    source

    fn visit_type_ptr(&mut self, i: &'ast TypePtr)

    source

    fn visit_type_reference(&mut self, i: &'ast TypeReference)

    source

    fn visit_type_slice(&mut self, i: &'ast TypeSlice)

    source

    fn visit_type_trait_object(&mut self, i: &'ast TypeTraitObject)

    source

    fn visit_type_tuple(&mut self, i: &'ast TypeTuple)

    source

    fn visit_un_op(&mut self, i: &'ast UnOp)

    source

    fn visit_variadic(&mut self, i: &'ast Variadic)

    source

    fn visit_variant(&mut self, i: &'ast Variant)

    source

    fn visit_vis_crate(&mut self, i: &'ast VisCrate)

    source

    fn visit_vis_public(&mut self, i: &'ast VisPublic)

    source

    fn visit_vis_restricted(&mut self, i: &'ast VisRestricted)

    source

    fn visit_visibility(&mut self, i: &'ast Visibility)

    source

    fn visit_where_clause(&mut self, i: &'ast WhereClause)

    source

    fn visit_where_predicate(&mut self, i: &'ast WherePredicate)

    Implementors§

    \ No newline at end of file diff --git a/synstructure/all.html b/synstructure/all.html index 82c0f6d..34c0315 100644 --- a/synstructure/all.html +++ b/synstructure/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/synstructure/enum.AddBounds.html b/synstructure/enum.AddBounds.html index a64d113..57f9068 100644 --- a/synstructure/enum.AddBounds.html +++ b/synstructure/enum.AddBounds.html @@ -1,18 +1,27 @@ -AddBounds in synstructure - Rust
    pub enum AddBounds {
    +AddBounds in synstructure - Rust
    pub enum AddBounds {
         Both,
         Fields,
         Generics,
         None,
         // some variants omitted
    -}
    Expand description

    Changes how bounds are added

    +}
    Expand description

    Changes how bounds are added

    Variants§

    §

    Both

    Add for fields and generics

    §

    Fields

    Fields only

    §

    Generics

    Generics only

    §

    None

    None

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for AddBounds

    source§

    fn clone(&self) -> AddBounds

    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 AddBounds

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for AddBounds

    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 PartialEq<AddBounds> for AddBounds

    source§

    fn eq(&self, other: &AddBounds) -> 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 Copy for AddBounds

    source§

    impl Eq for AddBounds

    source§

    impl StructuralEq for AddBounds

    source§

    impl StructuralPartialEq for AddBounds

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/synstructure/enum.BindStyle.html b/synstructure/enum.BindStyle.html index edc67c7..ca52994 100644 --- a/synstructure/enum.BindStyle.html +++ b/synstructure/enum.BindStyle.html @@ -1,18 +1,29 @@ -BindStyle in synstructure - Rust
    pub enum BindStyle {
    +BindStyle in synstructure - Rust
    pub enum BindStyle {
         Move,
         MoveMut,
         Ref,
         RefMut,
    -}
    Expand description

    The type of binding to use when generating a pattern.

    +}
    Expand description

    The type of binding to use when generating a pattern.

    Variants§

    §

    Move

    x

    §

    MoveMut

    mut x

    §

    Ref

    ref x

    §

    RefMut

    ref mut x

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl Clone for BindStyle

    source§

    fn clone(&self) -> BindStyle

    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 BindStyle

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for BindStyle

    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 PartialEq<BindStyle> for BindStyle

    source§

    fn eq(&self, other: &BindStyle) -> 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 ToTokens for BindStyle

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl Copy for BindStyle

    source§

    impl Eq for BindStyle

    source§

    impl StructuralEq for BindStyle

    source§

    impl StructuralPartialEq for BindStyle

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/synstructure/fn.unpretty_print.html b/synstructure/fn.unpretty_print.html index 5bd315a..eb8514b 100644 --- a/synstructure/fn.unpretty_print.html +++ b/synstructure/fn.unpretty_print.html @@ -1,4 +1,4 @@ -unpretty_print in synstructure - Rust
    pub fn unpretty_print<T: Display>(ts: T) -> String
    Expand description

    Dumps an unpretty version of a tokenstream. Takes any type which implements +unpretty_print in synstructure - Rust

    pub fn unpretty_print<T: Display>(ts: T) -> String
    Expand description

    Dumps an unpretty version of a tokenstream. Takes any type which implements Display.

    This is mostly useful for visualizing the output of a procedural macro, as it makes it marginally more readable. It is used in the implementation of @@ -40,4 +40,4 @@ const _DERIVE_krate_Trait_FOR_A : ( ; " )

    -
    \ No newline at end of file + \ No newline at end of file diff --git a/synstructure/index.html b/synstructure/index.html index 3b94067..786dd9a 100644 --- a/synstructure/index.html +++ b/synstructure/index.html @@ -1,4 +1,4 @@ -synstructure - Rust

    Crate synstructure

    source ·
    Expand description

    This crate provides helper types for matching against enum variants, and +synstructure - Rust

    Crate synstructure

    source ·
    Expand description

    This crate provides helper types for matching against enum variants, and extracting bindings to each of the fields in the deriving Struct or Enum in a generic way.

    If you are writing a #[derive] which needs to perform some operation on @@ -126,20 +126,20 @@ every field, then you have come to the right place!

    }

    For more example usage, consider investigating the abomonation_derive crate, which makes use of this crate, and is fairly simple.

    -

    Macros

    The decl_attribute! macro declares a custom attribute wrapper. It will +

    Macros

    • The decl_attribute! macro declares a custom attribute wrapper. It will parse the incoming TokenStream into a synstructure::Structure object, -and pass it into the inner function.
    The decl_derive! macro declares a custom derive wrapper. It will parse the +and pass it into the inner function.
  • The decl_derive! macro declares a custom derive wrapper. It will parse the incoming TokenStream into a synstructure::Structure object, and pass it -into the inner function.
  • Run a test on a custom derive. This macro expands both the original struct +into the inner function.
  • Run a test on a custom derive. This macro expands both the original struct and the expansion to ensure that they compile correctly, and confirms that feeding the original struct into the named derive will produce the written -output.
  • Structs

    Information about a specific binding. This contains both an Ident +output.

    Structs

    • Information about a specific binding. This contains both an Ident reference to the given field, and the syn &'a Field descriptor for that -field.
    A wrapper around a syn::DeriveInput which provides utilities for creating -custom derive trait implementations.
    This type is similar to syn’s Variant type, however each of the fields +field.
  • A wrapper around a syn::DeriveInput which provides utilities for creating +custom derive trait implementations.
  • This type is similar to syn’s Variant type, however each of the fields are references rather than owned. When this is used as the AST for a real variant, this struct simply borrows the fields of the syn::Variant, -however this type may also be used as the sole variant for a struct.
  • A wrapper around a syn::DeriveInput’s variant which provides utilities -for destructuring Variants with match expressions.

    Enums

    Changes how bounds are added
    The type of binding to use when generating a pattern.

    Traits

    Helper trait describing values which may be returned by macro implementation -methods used by this crate’s macros.

    Functions

    Dumps an unpretty version of a tokenstream. Takes any type which implements -Display.
    \ No newline at end of file +however this type may also be used as the sole variant for a struct.
  • A wrapper around a syn::DeriveInput’s variant which provides utilities +for destructuring Variants with match expressions.
  • Enums

    • Changes how bounds are added
    • The type of binding to use when generating a pattern.

    Traits

    • Helper trait describing values which may be returned by macro implementation +methods used by this crate’s macros.

    Functions

    • Dumps an unpretty version of a tokenstream. Takes any type which implements +Display.
    \ No newline at end of file diff --git a/synstructure/macro.decl_attribute.html b/synstructure/macro.decl_attribute.html index 1f22a83..51d27fc 100644 --- a/synstructure/macro.decl_attribute.html +++ b/synstructure/macro.decl_attribute.html @@ -1,7 +1,6 @@ -decl_attribute in synstructure - Rust
    macro_rules! decl_attribute {
    +decl_attribute in synstructure - Rust
    macro_rules! decl_attribute {
         ([$attribute:ident] => $(#[$($attrs:tt)*])* $inner:path) => { ... };
    -}
    -
    Expand description

    The decl_attribute! macro declares a custom attribute wrapper. It will +}

    Expand description

    The decl_attribute! macro declares a custom attribute wrapper. It will parse the incoming TokenStream into a synstructure::Structure object, and pass it into the inner function.

    Your inner function should have the following type:

    @@ -23,4 +22,4 @@ and pass it into the inner function.

    decl_attribute!([interesting] => attribute_interesting);

    This macro is available if synstructure is built with the "proc-macro" feature.

    -
    \ No newline at end of file + \ No newline at end of file diff --git a/synstructure/macro.decl_derive.html b/synstructure/macro.decl_derive.html index c26fb15..a8edb52 100644 --- a/synstructure/macro.decl_derive.html +++ b/synstructure/macro.decl_derive.html @@ -1,7 +1,6 @@ -decl_derive in synstructure - Rust
    macro_rules! decl_derive {
    +decl_derive in synstructure - Rust
    macro_rules! decl_derive {
         ([$derives:ident $($derive_t:tt)*] => $(#[$($attrs:tt)*])* $inner:path) => { ... };
    -}
    -
    Expand description

    The decl_derive! macro declares a custom derive wrapper. It will parse the +}

    Expand description

    The decl_derive! macro declares a custom derive wrapper. It will parse the incoming TokenStream into a synstructure::Structure object, and pass it into the inner function.

    Your inner function should take a synstructure::Structure by value, and @@ -41,4 +40,4 @@ return a type implementing synstructure::MacroResult, for example:< }

    This macro is available if synstructure is built with the "proc-macro" feature.

    -
    \ No newline at end of file + \ No newline at end of file diff --git a/synstructure/macro.test_derive.html b/synstructure/macro.test_derive.html index ab21027..3e21dcf 100644 --- a/synstructure/macro.test_derive.html +++ b/synstructure/macro.test_derive.html @@ -1,8 +1,7 @@ -test_derive in synstructure - Rust
    macro_rules! test_derive {
    +test_derive in synstructure - Rust
    macro_rules! test_derive {
         ($name:path { $($i:tt)* } expands to { $($o:tt)* }) => { ... };
         ($name:path { $($i:tt)* } expands to { $($o:tt)* } no_build) => { ... };
    -}
    -
    Expand description

    Run a test on a custom derive. This macro expands both the original struct +}

    Expand description

    Run a test on a custom derive. This macro expands both the original struct and the expansion to ensure that they compile correctly, and confirms that feeding the original struct into the named derive will produce the written output.

    @@ -27,4 +26,4 @@ tests.

    } } }
    -
    \ No newline at end of file + \ No newline at end of file diff --git a/synstructure/sidebar-items.js b/synstructure/sidebar-items.js index 30d33db..5cb1a2d 100644 --- a/synstructure/sidebar-items.js +++ b/synstructure/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["AddBounds","Changes how bounds are added"],["BindStyle","The type of binding to use when generating a pattern."]],"fn":[["unpretty_print","Dumps an unpretty version of a tokenstream. Takes any type which implements `Display`."]],"macro":[["decl_attribute","The `decl_attribute!` macro declares a custom attribute wrapper. It will parse the incoming `TokenStream` into a `synstructure::Structure` object, and pass it into the inner function."],["decl_derive","The `decl_derive!` macro declares a custom derive wrapper. It will parse the incoming `TokenStream` into a `synstructure::Structure` object, and pass it into the inner function."],["test_derive","Run a test on a custom derive. This macro expands both the original struct and the expansion to ensure that they compile correctly, and confirms that feeding the original struct into the named derive will produce the written output."]],"struct":[["BindingInfo","Information about a specific binding. This contains both an `Ident` reference to the given field, and the syn `&'a Field` descriptor for that field."],["Structure","A wrapper around a `syn::DeriveInput` which provides utilities for creating custom derive trait implementations."],["VariantAst","This type is similar to `syn`’s `Variant` type, however each of the fields are references rather than owned. When this is used as the AST for a real variant, this struct simply borrows the fields of the `syn::Variant`, however this type may also be used as the sole variant for a struct."],["VariantInfo","A wrapper around a `syn::DeriveInput`’s variant which provides utilities for destructuring `Variant`s with `match` expressions."]],"trait":[["MacroResult","Helper trait describing values which may be returned by macro implementation methods used by this crate’s macros."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["AddBounds","BindStyle"],"fn":["unpretty_print"],"macro":["decl_attribute","decl_derive","test_derive"],"struct":["BindingInfo","Structure","VariantAst","VariantInfo"],"trait":["MacroResult"]}; \ No newline at end of file diff --git a/synstructure/struct.BindingInfo.html b/synstructure/struct.BindingInfo.html index 174b79f..fc65ef7 100644 --- a/synstructure/struct.BindingInfo.html +++ b/synstructure/struct.BindingInfo.html @@ -1,17 +1,17 @@ -BindingInfo in synstructure - Rust
    pub struct BindingInfo<'a> {
    +BindingInfo in synstructure - Rust
    pub struct BindingInfo<'a> {
         pub binding: Ident,
         pub style: BindStyle,
         /* private fields */
    -}
    Expand description

    Information about a specific binding. This contains both an Ident +}

    Expand description

    Information about a specific binding. This contains both an Ident reference to the given field, and the syn &'a Field descriptor for that field.

    This type supports quote::ToTokens, so can be directly used within the quote! macro. It expands to a reference to the matched field.

    Fields§

    §binding: Ident

    The name which this BindingInfo will bind to.

    §style: BindStyle

    The type of binding which this BindingInfo will create.

    -

    Implementations§

    Returns a reference to the underlying syn AST node which this +

    Implementations§

    source§

    impl<'a> BindingInfo<'a>

    source

    pub fn ast(&self) -> &'a Field

    Returns a reference to the underlying syn AST node which this BindingInfo references

    -

    Generates the pattern fragment for this field binding.

    +
    source

    pub fn pat(&self) -> TokenStream

    Generates the pattern fragment for this field binding.

    Example
    let di: syn::DeriveInput = syn::parse_quote! {
         enum A {
    @@ -27,7 +27,7 @@ field.

    ref __binding_0 }.to_string() );
    -

    Returns a list of the type parameters which are referenced in this +

    source

    pub fn referenced_ty_params(&self) -> Vec<&'a Ident>

    Returns a list of the type parameters which are referenced in this field’s type.

    Caveat

    If the field contains any macros in type position, all parameters will @@ -46,11 +46,22 @@ parameters are bound by type macros.

    s.variants()[0].bindings()[0].referenced_ty_params(), &[&quote::format_ident!("T")] );
    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    Write self to the given TokenStream. Read more
    Convert self directly into a TokenStream object. Read more
    Convert self directly into a TokenStream object. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for BindingInfo<'a>

    source§

    fn clone(&self) -> BindingInfo<'a>

    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<'a> Debug for BindingInfo<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for BindingInfo<'a>

    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<'a> PartialEq<BindingInfo<'a>> for BindingInfo<'a>

    source§

    fn eq(&self, other: &BindingInfo<'a>) -> 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<'a> ToTokens for BindingInfo<'a>

    source§

    fn to_tokens(&self, tokens: &mut TokenStream)

    Write self to the given TokenStream. Read more
    source§

    fn to_token_stream(&self) -> TokenStream

    Convert self directly into a TokenStream object. Read more
    source§

    fn into_token_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert self directly into a TokenStream object. Read more
    source§

    impl<'a> Eq for BindingInfo<'a>

    source§

    impl<'a> StructuralEq for BindingInfo<'a>

    source§

    impl<'a> StructuralPartialEq for BindingInfo<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for BindingInfo<'a>

    §

    impl<'a> !Send for BindingInfo<'a>

    §

    impl<'a> !Sync for BindingInfo<'a>

    §

    impl<'a> Unpin for BindingInfo<'a>

    §

    impl<'a> UnwindSafe for BindingInfo<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    Returns a Span covering the complete contents of this syntax tree -node, or Span::call_site() if this node is empty. Read more
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> Spanned for Twhere + T: Spanned + ?Sized,

    source§

    fn span(&self) -> Span

    Returns a Span covering the complete contents of this syntax tree +node, or Span::call_site() if this node is empty.
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/synstructure/struct.Structure.html b/synstructure/struct.Structure.html index df8f8ce..4c273fa 100644 --- a/synstructure/struct.Structure.html +++ b/synstructure/struct.Structure.html @@ -1,20 +1,22 @@ -Structure in synstructure - Rust

    Struct synstructure::Structure

    source ·
    pub struct Structure<'a> { /* private fields */ }
    Expand description

    A wrapper around a syn::DeriveInput which provides utilities for creating +Structure in synstructure - Rust

    Struct synstructure::Structure

    source ·
    pub struct Structure<'a> { /* private fields */ }
    Expand description

    A wrapper around a syn::DeriveInput which provides utilities for creating custom derive trait implementations.

    -

    Implementations§

    Create a new Structure with the variants and fields from the passed-in +

    Implementations§

    source§

    impl<'a> Structure<'a>

    source

    pub fn new(ast: &'a DeriveInput) -> Self

    Create a new Structure with the variants and fields from the passed-in DeriveInput.

    Panics

    This method will panic if the provided AST node represents an untagged union.

    -

    Create a new Structure with the variants and fields from the passed-in +

    source

    pub fn try_new(ast: &'a DeriveInput) -> Result<Self>

    Create a new Structure with the variants and fields from the passed-in DeriveInput.

    Unlike Structure::new, this method does not panic if the provided AST node represents an untagged union.

    -

    Returns a slice of the variants in this Structure.

    -

    Returns a mut slice of the variants in this Structure.

    -

    Returns a reference to the underlying syn AST node which this +

    source

    pub fn variants(&self) -> &[VariantInfo<'a>]

    Returns a slice of the variants in this Structure.

    +
    source

    pub fn variants_mut(&mut self) -> &mut [VariantInfo<'a>]

    Returns a mut slice of the variants in this Structure.

    +
    source

    pub fn ast(&self) -> &'a DeriveInput

    Returns a reference to the underlying syn AST node which this Structure was created from.

    -

    True if any variants were omitted due to a filter_variants call.

    -

    Runs the passed-in function once for each bound field, passing in a BindingInfo. +

    source

    pub fn omitted_variants(&self) -> bool

    True if any variants were omitted due to a filter_variants call.

    +
    source

    pub fn each<F, R>(&self, f: F) -> TokenStreamwhere + F: FnMut(&BindingInfo<'_>) -> R, + R: ToTokens,

    Runs the passed-in function once for each bound field, passing in a BindingInfo. and generating match arms which evaluate the returned tokens.

    This method will ignore variants or fields which are ignored through the filter and filter_variant methods.

    @@ -40,7 +42,10 @@ and generating match arms which evaluate the returned tokens.

    } }.to_string() );
    -

    Runs the passed-in function once for each bound field, passing in the +

    source

    pub fn fold<F, I, R>(&self, init: I, f: F) -> TokenStreamwhere + F: FnMut(TokenStream, &BindingInfo<'_>) -> R, + I: ToTokens, + R: ToTokens,

    Runs the passed-in function once for each bound field, passing in the result of the previous call, and a BindingInfo. generating match arms which evaluate to the resulting tokens.

    This method will ignore variants or fields which are ignored through the @@ -67,7 +72,9 @@ arms which evaluate to the resulting tokens.

    } }.to_string() );
    -

    Runs the passed-in function once for each variant, passing in a +

    source

    pub fn each_variant<F, R>(&self, f: F) -> TokenStreamwhere + F: FnMut(&VariantInfo<'_>) -> R, + R: ToTokens,

    Runs the passed-in function once for each variant, passing in a VariantInfo. and generating match arms which evaluate the returned tokens.

    This method will ignore variants and not bind fields which are ignored @@ -96,7 +103,8 @@ through the filter and filter_variant methods.

    } }.to_string() );
    -

    Filter the bindings created by this Structure object. This has 2 effects:

    +
    source

    pub fn filter<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&BindingInfo<'_>) -> bool,

    Filter the bindings created by this Structure object. This has 2 effects:

    • The bindings will no longer appear in match arms generated by methods @@ -133,7 +141,7 @@ s.filter(|bi| { } }.to_string() );

    -

    Specify additional where predicate bounds which should be generated by +

    source

    pub fn add_where_predicate(&mut self, pred: WherePredicate) -> &mut Self

    Specify additional where predicate bounds which should be generated by impl-generating functions such as gen_impl, bound_impl, and unsafe_bound_impl.

    Example
    @@ -168,7 +176,7 @@ impl-generating functions such as gen_impl, bound_impl }; }.to_string() );
    -

    Specify which bounds should be generated by impl-generating functions +

    source

    pub fn add_bounds(&mut self, mode: AddBounds) -> &mut Self

    Specify which bounds should be generated by impl-generating functions such as gen_impl, bound_impl, and unsafe_bound_impl.

    The default behaviour is to generate both field and generic bounds from type parameters.

    @@ -202,7 +210,8 @@ type parameters.

    }; }.to_string() );
    -

    Filter the variants matched by this Structure object. This has 2 effects:

    +
    source

    pub fn filter_variants<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&VariantInfo<'_>) -> bool,

    Filter the variants matched by this Structure object. This has 2 effects:

    • Match arms destructuring these variants will no longer be generated by @@ -236,10 +245,11 @@ s.filter_variants(|v| v.ast().ident != "B" _ => {} }.to_string() );

    -

    Remove the variant at the given index.

    +
    source

    pub fn remove_variant(&mut self, idx: usize) -> &mut Self

    Remove the variant at the given index.

    Panics

    Panics if the index is out of range.

    -

    Updates the BindStyle for each of the passed-in fields by calling the +

    source

    pub fn bind_with<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&BindingInfo<'_>) -> BindStyle,

    Updates the BindStyle for each of the passed-in fields by calling the passed-in function for each BindingInfo.

    Example
    let di: syn::DeriveInput = syn::parse_quote! {
    @@ -265,7 +275,8 @@ s.bind_with(|bi| BindStyle::RefMut);
             }
         }.to_string()
     );
    -

    Updates the binding name for each fo the passed-in fields by calling the +

    source

    pub fn binding_name<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&Field, usize) -> Ident,

    Updates the binding name for each fo the passed-in fields by calling the passed-in function for each BindingInfo.

    The function will be called with the BindingInfo and its index in the enclosing variant.

    @@ -295,7 +306,7 @@ s.binding_name(|bi, i| bi.ident.clone().unwrap()); } }.to_string() );
    -

    Returns a list of the type parameters which are refrenced in the types +

    source

    pub fn referenced_ty_params(&self) -> Vec<&'a Ident>

    Returns a list of the type parameters which are refrenced in the types of non-filtered fields / variants.

    Caveat

    If the struct contains any macros in type position, all parameters will @@ -316,7 +327,7 @@ s.filter_variants(|v| v.ast().ident != "C" s.referenced_ty_params(), &[&quote::format_ident!("T")] );

    -

    Adds an impl<> generic parameter. +

    source

    pub fn add_impl_generic(&mut self, param: GenericParam) -> &mut Self

    Adds an impl<> generic parameter. This can be used when the trait to be derived needs some extra generic parameters.

    Example
    let di: syn::DeriveInput = syn::parse_quote! {
    @@ -350,13 +361,18 @@ This can be used when the trait to be derived needs some extra generic parameter
             };
         }.to_string()
     );
    -

    Add trait bounds for a trait with the given path for each type parmaeter +

    source

    pub fn add_trait_bounds( + &self, + bound: &TraitBound, + where_clause: &mut Option<WhereClause>, + mode: AddBounds +)

    Add trait bounds for a trait with the given path for each type parmaeter referenced in the types of non-filtered fields.

    Caveat

    If the method contains any macros in type position, all parameters will be considered bound. This is because we cannot determine which type parameters are bound by type macros.

    -

    Configure whether to use const _ instead of a generated const name in +

    source

    pub fn underscore_const(&mut self, enabled: bool) -> &mut Self

    Configure whether to use const _ instead of a generated const name in code generated by gen_impl and bound_impl.

    This syntax is only supported by rust 1.37, and later versions.

    Defaults to false for backwards compatibility reasons.

    @@ -390,7 +406,11 @@ code generated by gen_impl and bound_impl.

    } .to_string() );
    -
    +
    source

    pub fn bound_impl<P: ToTokens, B: ToTokens>( + &self, + path: P, + body: B +) -> TokenStream

    NOTE: This methods’ features are superceded by Structure::gen_impl.

    Creates an impl block with the required generic type fields filled in @@ -440,7 +460,11 @@ s.filter_variants(|v| v.ast().ident != "B" }; }.to_string() );

    -
    +
    source

    pub fn unsafe_bound_impl<P: ToTokens, B: ToTokens>( + &self, + path: P, + body: B +) -> TokenStream

    NOTE: This methods’ features are superceded by Structure::gen_impl.

    Creates an impl block with the required generic type fields filled in @@ -490,7 +514,11 @@ s.filter_variants(|v| v.ast().ident != "B" }; }.to_string() );

    -
    +
    source

    pub fn unbound_impl<P: ToTokens, B: ToTokens>( + &self, + path: P, + body: B +) -> TokenStream

    NOTE: This methods’ features are superceded by Structure::gen_impl.

    Creates an impl block with the required generic type fields filled in @@ -532,7 +560,11 @@ s.filter_variants(|v| v.ast().ident != "B" }; }.to_string() );

    -
    👎Deprecated
    +
    source

    pub fn unsafe_unbound_impl<P: ToTokens, B: ToTokens>( + &self, + path: P, + body: B +) -> TokenStream

    👎Deprecated

    NOTE: This methods’ features are superceded by Structure::gen_impl.

    Creates an impl block with the required generic type fields filled in @@ -574,7 +606,7 @@ s.filter_variants(|v| v.ast().ident != "B" }; }.to_string() );

    -

    Generate an impl block for the given struct. This impl block will +

    source

    pub fn gen_impl(&self, cfg: TokenStream) -> TokenStream

    Generate an impl block for the given struct. This impl block will automatically use hygiene tricks to avoid polluting the caller’s namespace, and will automatically add trait bounds for generic type parameters.

    @@ -583,7 +615,7 @@ parameters.

    to call this function is passing the result of invoking the quote! macro to it.

    -
    s.gen_impl(quote! {
    +
    s.gen_impl(quote! {
         // You can write any items which you want to import into scope here.
         // For example, you may want to include an `extern crate` for the
         // crate which implements your trait. These items will only be
    @@ -617,7 +649,7 @@ into scope are not leaked to the calling crate.

    By default, the above invocation may generate an output like the following:

    -
    const _DERIVE_krate_Trait_FOR_Struct: () = {
    +
    const _DERIVE_krate_Trait_FOR_Struct: () = {
         extern crate krate;
         use krate::Trait as MyTrait;
         impl<T> MyTrait for Struct<T> where T: MyTrait {
    @@ -627,7 +659,7 @@ following:

    The Structure may also be confired with the [underscore_const] method to generate const _ instead.

    -
    const _: () = {
    +
    const _: () = {
         extern crate krate;
         use krate::Trait as MyTrait;
         impl<T> MyTrait for Struct<T> where T: MyTrait {
    @@ -755,10 +787,19 @@ s.filter_variants(|v| v.ast().ident != "B"
         }.to_string()
     );

    Use add_bounds to change which bounds are generated.

    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for Structure<'a>

    source§

    fn clone(&self) -> Structure<'a>

    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<'a> Debug for Structure<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for Structure<'a>

    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<'a> PartialEq<Structure<'a>> for Structure<'a>

    source§

    fn eq(&self, other: &Structure<'a>) -> 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<'a> Eq for Structure<'a>

    source§

    impl<'a> StructuralEq for Structure<'a>

    source§

    impl<'a> StructuralPartialEq for Structure<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Structure<'a>

    §

    impl<'a> !Send for Structure<'a>

    §

    impl<'a> !Sync for Structure<'a>

    §

    impl<'a> Unpin for Structure<'a>

    §

    impl<'a> UnwindSafe for Structure<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/synstructure/struct.VariantAst.html b/synstructure/struct.VariantAst.html index 7148744..f7fa3fd 100644 --- a/synstructure/struct.VariantAst.html +++ b/synstructure/struct.VariantAst.html @@ -1,16 +1,25 @@ -VariantAst in synstructure - Rust
    pub struct VariantAst<'a> {
    +VariantAst in synstructure - Rust
    pub struct VariantAst<'a> {
         pub attrs: &'a [Attribute],
         pub ident: &'a Ident,
         pub fields: &'a Fields,
    -    pub discriminant: &'a Option<(Eq, Expr)>,
    -}
    Expand description

    This type is similar to syn’s Variant type, however each of the fields + pub discriminant: &'a Option<(Eq, Expr)>, +}

    Expand description

    This type is similar to syn’s Variant type, however each of the fields are references rather than owned. When this is used as the AST for a real variant, this struct simply borrows the fields of the syn::Variant, however this type may also be used as the sole variant for a struct.

    -

    Fields§

    §attrs: &'a [Attribute]§ident: &'a Ident§fields: &'a Fields§discriminant: &'a Option<(Eq, Expr)>

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Fields§

    §attrs: &'a [Attribute]§ident: &'a Ident§fields: &'a Fields§discriminant: &'a Option<(Eq, Expr)>

    Trait Implementations§

    source§

    impl<'a> Clone for VariantAst<'a>

    source§

    fn clone(&self) -> VariantAst<'a>

    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<'a> Debug for VariantAst<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for VariantAst<'a>

    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<'a> PartialEq<VariantAst<'a>> for VariantAst<'a>

    source§

    fn eq(&self, other: &VariantAst<'a>) -> 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<'a> Copy for VariantAst<'a>

    source§

    impl<'a> Eq for VariantAst<'a>

    source§

    impl<'a> StructuralEq for VariantAst<'a>

    source§

    impl<'a> StructuralPartialEq for VariantAst<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for VariantAst<'a>

    §

    impl<'a> !Send for VariantAst<'a>

    §

    impl<'a> !Sync for VariantAst<'a>

    §

    impl<'a> Unpin for VariantAst<'a>

    §

    impl<'a> UnwindSafe for VariantAst<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/synstructure/struct.VariantInfo.html b/synstructure/struct.VariantInfo.html index 55d4298..79a0b88 100644 --- a/synstructure/struct.VariantInfo.html +++ b/synstructure/struct.VariantInfo.html @@ -1,14 +1,14 @@ -VariantInfo in synstructure - Rust
    pub struct VariantInfo<'a> {
    -    pub prefix: Option<&'a Ident>,
    +VariantInfo in synstructure - Rust
    pub struct VariantInfo<'a> {
    +    pub prefix: Option<&'a Ident>,
         /* private fields */
    -}
    Expand description

    A wrapper around a syn::DeriveInput’s variant which provides utilities +}

    Expand description

    A wrapper around a syn::DeriveInput’s variant which provides utilities for destructuring Variants with match expressions.

    -

    Fields§

    §prefix: Option<&'a Ident>

    Implementations§

    Returns a slice of the bindings in this Variant.

    -

    Returns a mut slice of the bindings in this Variant.

    -

    Returns a VariantAst object which contains references to the +

    Fields§

    §prefix: Option<&'a Ident>

    Implementations§

    source§

    impl<'a> VariantInfo<'a>

    source

    pub fn bindings(&self) -> &[BindingInfo<'a>]

    Returns a slice of the bindings in this Variant.

    +
    source

    pub fn bindings_mut(&mut self) -> &mut [BindingInfo<'a>]

    Returns a mut slice of the bindings in this Variant.

    +
    source

    pub fn ast(&self) -> VariantAst<'a>

    Returns a VariantAst object which contains references to the underlying syn AST node which this Variant was created from.

    -

    True if any bindings were omitted due to a filter call.

    -

    Generates the match-arm pattern which could be used to match against this Variant.

    +
    source

    pub fn omitted_bindings(&self) -> bool

    True if any bindings were omitted due to a filter call.

    +
    source

    pub fn pat(&self) -> TokenStream

    Generates the match-arm pattern which could be used to match against this Variant.

    Example
    let di: syn::DeriveInput = syn::parse_quote! {
         enum A {
    @@ -24,7 +24,9 @@ underlying syn AST node which this Variant was created
             A::B(ref __binding_0, ref __binding_1,)
         }.to_string()
     );
    -

    Generates the token stream required to construct the current variant.

    +
    source

    pub fn construct<F, T>(&self, func: F) -> TokenStreamwhere + F: FnMut(&Field, usize) -> T, + T: ToTokens,

    Generates the token stream required to construct the current variant.

    The init array initializes each of the fields in the order they are written in variant.ast().fields.

    Example
    @@ -51,7 +53,9 @@ written in variant.ast().fields.

    A::C{ v: 0usize, } }.to_string() );
    -

    Runs the passed-in function once for each bound field, passing in a BindingInfo. +

    source

    pub fn each<F, R>(&self, f: F) -> TokenStreamwhere + F: FnMut(&BindingInfo<'_>) -> R, + R: ToTokens,

    Runs the passed-in function once for each bound field, passing in a BindingInfo. and generating a match arm which evaluates the returned tokens.

    This method will ignore fields which are ignored through the filter method.

    @@ -74,7 +78,10 @@ method.

    } }.to_string() );
    -

    Runs the passed-in function once for each bound field, passing in the +

    source

    pub fn fold<F, I, R>(&self, init: I, f: F) -> TokenStreamwhere + F: FnMut(TokenStream, &BindingInfo<'_>) -> R, + I: ToTokens, + R: ToTokens,

    Runs the passed-in function once for each bound field, passing in the result of the previous call, and a BindingInfo. generating a match arm which evaluates to the resulting tokens.

    This method will ignore fields which are ignored through the filter @@ -97,7 +104,8 @@ method.

    } }.to_string() );
    -

    Filter the bindings created by this Variant object. This has 2 effects:

    +
    source

    pub fn filter<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&BindingInfo<'_>) -> bool,

    Filter the bindings created by this Variant object. This has 2 effects:

    • The bindings will no longer appear in match arms generated by methods @@ -134,10 +142,11 @@ s.variants_mut()[0].filter(|bi| { } }.to_string() );

    -

    Remove the binding at the given index.

    +
    source

    pub fn remove_binding(&mut self, idx: usize) -> &mut Self

    Remove the binding at the given index.

    Panics

    Panics if the index is out of range.

    -

    Updates the BindStyle for each of the passed-in fields by calling the +

    source

    pub fn bind_with<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&BindingInfo<'_>) -> BindStyle,

    Updates the BindStyle for each of the passed-in fields by calling the passed-in function for each BindingInfo.

    Example
    let di: syn::DeriveInput = syn::parse_quote! {
    @@ -163,7 +172,8 @@ s.variants_mut()[0].bind_with(|bi| BindStyle::RefMut
             }
         }.to_string()
     );
    -

    Updates the binding name for each fo the passed-in fields by calling the +

    source

    pub fn binding_name<F>(&mut self, f: F) -> &mut Selfwhere + F: FnMut(&Field, usize) -> Ident,

    Updates the binding name for each fo the passed-in fields by calling the passed-in function for each BindingInfo.

    The function will be called with the BindingInfo and its index in the enclosing variant.

    @@ -193,7 +203,7 @@ s.variants_mut()[0].binding_name(|bi, i| bi.ident.cl } }.to_string() );
    -

    Returns a list of the type parameters which are referenced in this +

    source

    pub fn referenced_ty_params(&self) -> Vec<&'a Ident>

    Returns a list of the type parameters which are referenced in this field’s type.

    Caveat

    If the field contains any macros in type position, all parameters will @@ -212,10 +222,19 @@ parameters are bound by type macros.

    s.variants()[0].bindings()[0].referenced_ty_params(), &[&quote::format_ident!("T")] );
    -

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -

    Calls U::from(self).

    +

    Trait Implementations§

    source§

    impl<'a> Clone for VariantInfo<'a>

    source§

    fn clone(&self) -> VariantInfo<'a>

    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<'a> Debug for VariantInfo<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Hash for VariantInfo<'a>

    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<'a> PartialEq<VariantInfo<'a>> for VariantInfo<'a>

    source§

    fn eq(&self, other: &VariantInfo<'a>) -> 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<'a> Eq for VariantInfo<'a>

    source§

    impl<'a> StructuralEq for VariantInfo<'a>

    source§

    impl<'a> StructuralPartialEq for VariantInfo<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for VariantInfo<'a>

    §

    impl<'a> !Send for VariantInfo<'a>

    §

    impl<'a> !Sync for VariantInfo<'a>

    §

    impl<'a> Unpin for VariantInfo<'a>

    §

    impl<'a> UnwindSafe for VariantInfo<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    -
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    Uses borrowed data to replace owned data, usually by cloning. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type returned in the event of a conversion error.
    Performs the conversion.
    \ No newline at end of file +From<T> for U chooses to do.

    +
    source§

    impl<T> ToOwned for Twhere + 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 Twhere + 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 Twhere + 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.
    \ No newline at end of file diff --git a/synstructure/trait.MacroResult.html b/synstructure/trait.MacroResult.html index c5fd9af..3644b73 100644 --- a/synstructure/trait.MacroResult.html +++ b/synstructure/trait.MacroResult.html @@ -1,15 +1,18 @@ -MacroResult in synstructure - Rust
    pub trait MacroResult {
    +MacroResult in synstructure - Rust
    pub trait MacroResult {
    +    // Required method
         fn into_result(self) -> Result<TokenStream>;
     
    -    fn into_stream(self) -> TokenStream
        where
            Self: Sized
    , - { ... } -}
    Expand description

    Helper trait describing values which may be returned by macro implementation + // Provided method + fn into_stream(self) -> TokenStream + where Self: Sized { ... } +}

    Expand description

    Helper trait describing values which may be returned by macro implementation methods used by this crate’s macros.

    -

    Required Methods§

    Convert this result into a Result for further processing / validation.

    -

    Provided Methods§

    Convert this result into a proc_macro::TokenStream, ready to return +

    Required Methods§

    source

    fn into_result(self) -> Result<TokenStream>

    Convert this result into a Result for further processing / validation.

    +

    Provided Methods§

    source

    fn into_stream(self) -> TokenStreamwhere + Self: Sized,

    Convert this result into a proc_macro::TokenStream, ready to return from a native proc_macro implementation.

    If into_result() would return an Err, this method should instead generate a compile_error! invocation to nicely report the error.

    This method is available if synstructure is built with the "proc-macro" feature.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Implementations on Foreign Types§

    source§

    impl MacroResult for TokenStream

    source§

    impl<T: MacroResult> MacroResult for Result<T>

    source§

    impl MacroResult for TokenStream

    Implementors§

    \ No newline at end of file diff --git a/unicode_ident/all.html b/unicode_ident/all.html index d1ddd18..80c8489 100644 --- a/unicode_ident/all.html +++ b/unicode_ident/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Functions

    \ No newline at end of file +List of all items in this crate

    List of all items

    Functions

    \ No newline at end of file diff --git a/unicode_ident/fn.is_xid_continue.html b/unicode_ident/fn.is_xid_continue.html index fbc3d5e..1d06b59 100644 --- a/unicode_ident/fn.is_xid_continue.html +++ b/unicode_ident/fn.is_xid_continue.html @@ -1 +1 @@ -is_xid_continue in unicode_ident - Rust
    pub fn is_xid_continue(ch: char) -> bool
    \ No newline at end of file +is_xid_continue in unicode_ident - Rust
    pub fn is_xid_continue(ch: char) -> bool
    \ No newline at end of file diff --git a/unicode_ident/fn.is_xid_start.html b/unicode_ident/fn.is_xid_start.html index d720d0b..bece16b 100644 --- a/unicode_ident/fn.is_xid_start.html +++ b/unicode_ident/fn.is_xid_start.html @@ -1 +1 @@ -is_xid_start in unicode_ident - Rust
    pub fn is_xid_start(ch: char) -> bool
    \ No newline at end of file +is_xid_start in unicode_ident - Rust
    pub fn is_xid_start(ch: char) -> bool
    \ No newline at end of file diff --git a/unicode_ident/index.html b/unicode_ident/index.html index 4aee13f..9ab46c1 100644 --- a/unicode_ident/index.html +++ b/unicode_ident/index.html @@ -1,4 +1,4 @@ -unicode_ident - Rust

    Crate unicode_ident

    source ·
    Expand description

    githubcrates-iodocs-rs

    +unicode_ident - Rust

    Crate unicode_ident

    source ·
    Expand description

    githubcrates-iodocs-rs


    Implementation of Unicode Standard Annex #31 for determining which char values are valid in programming language identifiers.

    @@ -24,10 +24,10 @@ single char has the XID_Start or XID_Continue Unicode property, comparing across different ratios of ASCII to non-ASCII codepoints in the input data.

    - - - - + + + +
    static storage0% nonascii1%10%100% nonascii
    unicode-ident9.75 K0.96 ns0.95 ns1.09 ns1.55 ns
    unicode-xid11.34 K1.88 ns2.14 ns3.48 ns15.63 ns
    ucd-trie9.95 K1.29 ns1.28 ns1.36 ns2.15 ns
    fst133 K55.1 ns54.9 ns53.2 ns28.5 ns
    unicode-ident10.1 K0.96 ns0.95 ns1.09 ns1.55 ns
    unicode-xid11.5 K1.88 ns2.14 ns3.48 ns15.63 ns
    ucd-trie10.2 K1.29 ns1.28 ns1.36 ns2.15 ns
    fst139 K55.1 ns54.9 ns53.2 ns28.5 ns
    roaring66.1 K2.78 ns3.09 ns3.37 ns4.70 ns
    @@ -172,4 +172,4 @@ not the same as using chunks which are half the size, because it does not necessitate raising the size of the trie’s first level.

    In contrast to binary search or the ucd-trie crate, performing lookups in this data structure is straight-line code with no need for branching.

    -

    Functions

    \ No newline at end of file +

    Functions

    \ No newline at end of file diff --git a/unicode_ident/sidebar-items.js b/unicode_ident/sidebar-items.js index 098bfe7..e9f6d2c 100644 --- a/unicode_ident/sidebar-items.js +++ b/unicode_ident/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":[["is_xid_continue",""],["is_xid_start",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["is_xid_continue","is_xid_start"]}; \ No newline at end of file diff --git a/unicode_xid/all.html b/unicode_xid/all.html index e045940..e34a130 100644 --- a/unicode_xid/all.html +++ b/unicode_xid/all.html @@ -1,2 +1 @@ -List of all items in this crate

    List of all items

    Traits

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Traits

    Constants

    \ No newline at end of file diff --git a/unicode_xid/constant.UNICODE_VERSION.html b/unicode_xid/constant.UNICODE_VERSION.html index 78ad2a8..88579eb 100644 --- a/unicode_xid/constant.UNICODE_VERSION.html +++ b/unicode_xid/constant.UNICODE_VERSION.html @@ -1,4 +1,3 @@ -UNICODE_VERSION in unicode_xid - Rust
    pub const UNICODE_VERSION: (u64, u64, u64);
    Expand description

    The version of Unicode +UNICODE_VERSION in unicode_xid - Rust

    pub const UNICODE_VERSION: (u64, u64, u64);
    Expand description

    The version of Unicode that this version of unicode-xid is based on.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/unicode_xid/index.html b/unicode_xid/index.html index 57efd37..b718775 100644 --- a/unicode_xid/index.html +++ b/unicode_xid/index.html @@ -1,5 +1,4 @@ -unicode_xid - Rust

    Crate unicode_xid

    source ·
    Expand description

    Determine if a char is a valid identifier for a parser and/or lexer according to +unicode_xid - Rust

    Crate unicode_xid

    source ·
    Expand description

    Determine if a char is a valid identifier for a parser and/or lexer according to Unicode Standard Annex #31 rules.

    extern crate unicode_xid;
    @@ -13,5 +12,5 @@
     

    features

    unicode-xid supports a no_std feature. This eliminates dependence on std, and instead uses equivalent functions from core.

    -

    Constants

    The version of Unicode -that this version of unicode-xid is based on.

    Traits

    Methods for determining if a character is a valid identifier character.
    \ No newline at end of file +

    Constants

    Traits

    • Methods for determining if a character is a valid identifier character.
    \ No newline at end of file diff --git a/unicode_xid/sidebar-items.js b/unicode_xid/sidebar-items.js index 78cf5b2..0a8b447 100644 --- a/unicode_xid/sidebar-items.js +++ b/unicode_xid/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["UNICODE_VERSION","The version of Unicode that this version of unicode-xid is based on."]],"trait":[["UnicodeXID","Methods for determining if a character is a valid identifier character."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["UNICODE_VERSION"],"trait":["UnicodeXID"]}; \ No newline at end of file diff --git a/unicode_xid/trait.UnicodeXID.html b/unicode_xid/trait.UnicodeXID.html index c4e71f5..e2684f9 100644 --- a/unicode_xid/trait.UnicodeXID.html +++ b/unicode_xid/trait.UnicodeXID.html @@ -1,16 +1,16 @@ -UnicodeXID in unicode_xid - Rust
    pub trait UnicodeXID {
    -    fn is_xid_start(self) -> bool;
    -    fn is_xid_continue(self) -> bool;
    -}
    Expand description

    Methods for determining if a character is a valid identifier character.

    -

    Required Methods§

    Returns whether the specified character satisfies the ‘XID_Start’ +UnicodeXID in unicode_xid - Rust

    pub trait UnicodeXID {
    +    // Required methods
    +    fn is_xid_start(self) -> bool;
    +    fn is_xid_continue(self) -> bool;
    +}
    Expand description

    Methods for determining if a character is a valid identifier character.

    +

    Required Methods§

    source

    fn is_xid_start(self) -> bool

    Returns whether the specified character satisfies the ‘XID_Start’ Unicode property.

    ‘XID_Start’ is a Unicode Derived Property specified in UAX #31, mostly similar to ID_Start but modified for closure under NFKx.

    -

    Returns whether the specified char satisfies the ‘XID_Continue’ +

    source

    fn is_xid_continue(self) -> bool

    Returns whether the specified char satisfies the ‘XID_Continue’ Unicode property.

    ‘XID_Continue’ is a Unicode Derived Property specified in UAX #31, mostly similar to ‘ID_Continue’ but modified for closure under NFKx.

    -

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file +

    Implementations on Foreign Types§

    source§

    impl UnicodeXID for char

    Implementors§

    \ No newline at end of file

    ;h!HL`TlXw`&F}- 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 diff --git a/static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2 b/static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..181a07f63bef8f18e42a5a57463e0e60cf8e8035 GIT binary patch literal 81540 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Πywlj)~j=DEuKF}xxI2>fYel$zZW*w=oUFnetB>DqZPj|X|3N7{Bq@)OLmj31sXq5qioe@VO+A#{^?sp7a8U}+k=Khm;?^9zz;$86;=hc+oqtwe zFBKII^8e6MdbmYTBv0I8-kS3w_G_cdJ3ag-9Im=HUClh`>+6Y0r=7gq47N6^m3@1! zA+kPCMr=-!`ISWH6;t?Mt>pe+bY+slB4;z{!PyPtB%2Jg)bN<>vM&VsL zijz}>V4KOdxk4d;9G|lXu&-sVCSMT;zPOiT$a66?*`t`bw3zmo0gl68^Cpyo= zR?qTEtDR_!U+`@yh(tc_KC=lEn6=FOd= zyZ6-gjc+GL-PZV0Yjo9*bu!JvNQJ7g@5ha8eJc?;(S$y8~48FwvlYn-)Cnw zHeKP-Yks;yW$7H3(uA$eQ+98hs(*jN$^I*wBmZyEVSGQ^v%CE5X|?$QaxooGX8r5c zmONtrSF-C+-Fq7`m!5NX_O*L;_;fi4d%0Ad=bgM)#I_#NqEzhPN)i2wwho&aL&weig5& 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%0A}qZhlcf*otJ#V!-rc$}&h@v< zpS~u`t(@;~n(EtntMSfW6Qx&ge(S_CQU8*ePTB5mHfqbe-*Re)Rx798kNNj$wRVKj z6ya)*(#LaJ^1LNH_n(-%H$b3CkgdzGuqkEZ$`|}*47j;(+&#TD`2WpTo9xX=Pd;vNvQj&?>E0jN*Y3$_KUcBr In##Zc03eH|X#fBK literal 0 HcmV?d00001 diff --git a/static.files/SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2 b/static.files/SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2ae08a7bedfed08cdfea76039c1bb1fa1d6cdf67 GIT binary patch literal 59716 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∨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

    Trait syn::ext::IdentExt

    source ·
    pub trait IdentExt: Sized + Sealed {
    +IdentExt in syn::ext - Rust

    Trait syn::ext::IdentExt

    source ·
    pub trait IdentExt: Sized + Sealed {
         const peek_any: PeekFn = private::PeekFn;
     
    +    // Required methods
         fn parse_any(input: ParseStream<'_>) -> Result<Self>;
         fn unraw(&self) -> Ident;
    -}
    Expand description

    Additional methods for Ident not provided by proc-macro2 or libproc_macro.

    +}
    Expand description

    Additional methods for Ident not provided by proc-macro2 or libproc_macro.

    This trait is sealed and cannot be implemented for types outside of Syn. It is implemented only for proc_macro2::Ident.

    This trait is available only if Syn is built with the "parsing" feature.

    -

    Provided Associated Constants§

    Peeks any identifier including keywords. Usage: +

    Provided Associated Constants§

    source

    const peek_any: PeekFn = private::PeekFn

    Peeks any identifier including keywords. Usage: input.peek(Ident::peek_any)

    This is different from input.peek(Ident) which only returns true in the case of an ident which is not a Rust keyword.

    -

    Required Methods§

    Parses any identifier including keywords.

    +

    Required Methods§

    source

    fn parse_any(input: ParseStream<'_>) -> Result<Self>

    Parses any identifier including keywords.

    This is useful when parsing macro input which allows Rust keywords as identifiers.

    Example
    @@ -36,7 +37,7 @@ identifiers.

    let name = input.call(Ident::parse_any)?; Ok(name) }
    -

    Strips the raw marker r#, if any, from the beginning of an ident.

    +
    source

    fn unraw(&self) -> Ident

    Strips the raw marker r#, if any, from the beginning of an ident.

    • unraw(x) = x
    • unraw(move) = move
    • @@ -59,4 +60,4 @@ invalid identifiers like __pyo3_get_r#move.

      let getter = format!("__pyo3_get_{}", variable.unraw()); Ident::new(&getter, Span::call_site()) }
    -

    Implementors§