From 75bb23bd3acb7f4dfb8654e9ae70f367c8f66cc6 Mon Sep 17 00:00:00 2001 From: nilehmann Date: Mon, 7 Oct 2024 16:48:11 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20flux-rs/?= =?UTF-8?q?flux@7fed5b5dc2d9d1b5c29721111dfe883d49f4a11d=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desugar/fn.desugar_base_sort.html | 2 +- doc/flux_desugar/desugar/fn.desugar_sort.html | 2 +- doc/flux_desugar/desugar/index.html | 2 +- .../desugar/struct.FluxItemCtxt.html | 16 +- .../desugar/struct.RustItemCtxt.html | 16 +- .../desugar/trait.DesugarCtxt.html | 16 +- doc/flux_fhir_analysis/all.html | 2 +- .../conv/enum.LayerKind.html | 4 +- .../conv/enum.LookupResultKind.html | 4 +- doc/flux_fhir_analysis/conv/errors/index.html | 2 +- .../conv/errors/sidebar-items.js | 2 +- .../errors/struct.AmbiguousAssocType.html | 6 +- .../conv/errors/struct.AssocTypeNotFound.html | 6 +- .../struct.GenericArgCountMismatch.html | 8 +- .../errors/struct.InvalidBaseInstance.html | 6 +- .../errors/struct.RefinedUnrefinableType.html | 6 +- .../conv/errors/struct.TooFewGenericArgs.html | 8 +- .../errors/struct.TooManyGenericArgs.html | 8 +- .../conv/fn.bug_on_infer_sort.html | 2 +- .../conv/fn.conv_adt_sort_def.html | 2 +- .../conv/fn.conv_assoc_reft_body.html | 7 - .../conv/fn.conv_assoc_reft_def.html | 5 - .../conv/fn.conv_default_assoc_reft_def.html | 5 - doc/flux_fhir_analysis/conv/fn.conv_defn.html | 2 +- .../conv/fn.conv_fn_sig.html | 6 - .../conv/fn.conv_func_decl.html | 2 +- .../conv/fn.conv_func_sort.html | 2 +- .../conv/fn.conv_generic_param_kind.html | 2 +- .../conv/fn.conv_generic_predicates.html | 6 - .../conv/fn.conv_generics.html | 4 +- .../conv/fn.conv_invariants.html | 2 +- doc/flux_fhir_analysis/conv/fn.conv_lit.html | 2 +- .../conv/fn.conv_opaque_ty.html | 6 - .../conv/fn.conv_poly_func_sort.html | 2 +- .../conv/fn.conv_qualifier.html | 2 +- .../conv/fn.conv_refinement_generics.html | 2 +- doc/flux_fhir_analysis/conv/fn.conv_sort.html | 2 +- .../conv/fn.conv_sort_path.html | 2 +- .../conv/fn.conv_sorts.html | 2 +- doc/flux_fhir_analysis/conv/fn.conv_ty.html | 2 +- .../conv/fn.conv_un_op.html | 2 +- .../conv/fn.def_id_to_param_const.html | 2 +- .../conv/fn.def_id_to_param_ty.html | 2 +- .../conv/fn.expand_type_alias.html | 6 - .../conv/fn.resolve_param_sort.html | 5 - .../conv/fn.ty_param_name.html | 2 +- doc/flux_fhir_analysis/conv/index.html | 9 +- doc/flux_fhir_analysis/conv/sidebar-items.js | 2 +- .../conv/struct.ConvCtxt.html | 161 ++- doc/flux_fhir_analysis/conv/struct.Env.html | 6 +- doc/flux_fhir_analysis/conv/struct.Layer.html | 20 +- .../conv/struct.LookupResult.html | 4 +- .../conv/struct.ParamEntry.html | 4 +- .../conv/struct_compat/enum.FnSigErr.html | 2 +- .../conv/struct_compat/errors/index.html | 2 +- .../errors/struct.FieldCountMismatch.html | 8 +- .../errors/struct.IncompatibleParamCount.html | 8 +- .../errors/struct.IncompatibleRefinement.html | 16 +- .../fn.assert_eq_or_incompatible.html | 2 +- .../conv/struct_compat/fn.fn_sig.html | 2 +- .../conv/struct_compat/fn.type_alias.html | 6 +- .../conv/struct_compat/fn.variants.html | 2 +- .../conv/struct_compat/index.html | 2 +- .../conv/struct_compat/struct.Holes.html | 4 +- .../conv/struct_compat/struct.Mismatch.html | 2 +- .../conv/struct_compat/struct.Zipper.html | 18 +- .../conv/trait.ConvPhase.html | 18 + .../conv/trait.WfckResultsProvider.html | 23 + doc/flux_fhir_analysis/errors/index.html | 2 +- .../errors/struct.DefinitionCycle.html | 6 +- .../fn.assoc_refinement_def.html | 2 +- .../fn.assoc_refinements_of.html | 2 +- doc/flux_fhir_analysis/fn.check_crate_wf.html | 2 +- doc/flux_fhir_analysis/fn.check_wf.html | 2 +- .../fn.default_assoc_refinement_def.html | 2 +- doc/flux_fhir_analysis/fn.fn_sig.html | 2 +- doc/flux_fhir_analysis/fn.generics_of.html | 2 +- .../fn.impl_assoc_refinement_def.html | 2 +- doc/flux_fhir_analysis/fn.item_bounds.html | 2 +- doc/flux_fhir_analysis/fn.normalize.html | 2 +- doc/flux_fhir_analysis/fn.predicates_of.html | 4 +- .../fn.refinement_generics_of.html | 2 +- .../fn.sort_of_assoc_reft.html | 2 +- doc/flux_fhir_analysis/fn.ty_param_owner.html | 2 +- doc/flux_fhir_analysis/fn.type_of.html | 2 +- doc/flux_fhir_analysis/fn.variants_of.html | 2 +- doc/flux_fhir_analysis/index.html | 2 +- doc/flux_fhir_analysis/wf/errors/index.html | 2 +- .../wf/errors/sidebar-items.js | 2 +- .../wf/fn.check_fn_quals.html | 2 +- .../wf/fn.check_fn_spec.html | 2 +- .../wf/fn.check_invariants.html | 2 +- doc/flux_fhir_analysis/wf/fn.check_node.html | 2 +- .../wf/fn.check_qualifier.html | 2 +- doc/flux_fhir_analysis/wf/fn.init_infcx.html | 15 + .../wf/fn.insert_params.html | 4 +- .../wf/fn.resolve_params.html | 4 +- .../wf/fn.visit_refine_params.html | 2 +- doc/flux_fhir_analysis/wf/index.html | 8 +- doc/flux_fhir_analysis/wf/sidebar-items.js | 2 +- .../wf/sortck/fn.synth_lit.html | 2 +- doc/flux_fhir_analysis/wf/sortck/index.html | 2 +- .../wf/sortck/struct.FullResolver.html | 4 +- .../sortck/struct.ImplicitParamInferer.html | 6 +- .../wf/sortck/struct.InferCtxt.html | 69 +- .../sortck/struct.OpportunisticResolver.html | 4 +- .../wf/sortck/struct.ShallowResolver.html | 4 +- .../wf/sortck/type.Result.html | 2 +- doc/flux_fhir_analysis/wf/struct.Wf.html | 6 +- doc/flux_fhir_analysis/wf/type.Result.html | 2 +- .../fixpoint_encoding/enum.KVarEncoding.html | 4 +- .../fixpoint_encoding/enum.Key.html | 8 +- .../fn.bv_size_to_fixpoint.html | 2 +- .../fn.const_to_fixpoint.html | 2 +- .../fixpoint_encoding/fn.mk_implies.html | 2 +- doc/flux_infer/fixpoint_encoding/index.html | 2 +- .../fixpoint_encoding/struct.ConstInfo.html | 4 +- .../struct.ExprEncodingCtxt.html | 30 +- .../struct.FixpointCtxt.html | 24 +- .../struct.FixpointKVar.html | 4 +- .../fixpoint_encoding/struct.KVarDecl.html | 4 +- .../struct.KVarEncodingCtxt.html | 6 +- .../fixpoint_encoding/struct.KVarGen.html | 6 +- .../fixpoint_encoding/struct.LocalVarEnv.html | 6 +- .../struct.SortEncodingCtxt.html | 2 +- .../fixpoint_encoding/struct.TagIdx.html | 2 +- .../fixpoint_encoding/type.ConstMap.html | 2 +- .../enum.ExternSpecMappingErr.html | 2 +- doc/flux_middle/enum.MaybeExternId.html | 10 +- doc/flux_middle/enum.ResolvedDefId.html | 4 +- .../fhir/enum.AssocItemConstraintKind.html | 4 +- doc/flux_middle/fhir/enum.BaseTyKind.html | 4 +- doc/flux_middle/fhir/enum.ConstArgKind.html | 6 +- doc/flux_middle/fhir/enum.Ensures.html | 2 +- doc/flux_middle/fhir/enum.ExprKind.html | 4 +- doc/flux_middle/fhir/enum.ExprRes.html | 4 +- doc/flux_middle/fhir/enum.FluxLocalDefId.html | 2 +- doc/flux_middle/fhir/enum.FluxOwnerId.html | 2 +- doc/flux_middle/fhir/enum.GenericArg.html | 4 +- doc/flux_middle/fhir/enum.InferMode.html | 14 +- doc/flux_middle/fhir/enum.Lifetime.html | 2 +- doc/flux_middle/fhir/enum.Lit.html | 4 +- doc/flux_middle/fhir/enum.ParamKind.html | 6 +- doc/flux_middle/fhir/enum.PrimSort.html | 4 +- doc/flux_middle/fhir/enum.QPath.html | 6 +- doc/flux_middle/fhir/enum.Res.html | 6 +- doc/flux_middle/fhir/enum.Sort.html | 4 +- doc/flux_middle/fhir/enum.SortRes.html | 4 +- doc/flux_middle/fhir/enum.SpecFuncKind.html | 8 +- doc/flux_middle/fhir/index.html | 2 +- doc/flux_middle/fhir/struct.AliasReft.html | 4 +- .../fhir/struct.AssocItemConstraint.html | 4 +- doc/flux_middle/fhir/struct.BareFnTy.html | 2 +- doc/flux_middle/fhir/struct.BaseTy.html | 7 +- doc/flux_middle/fhir/struct.ConstArg.html | 6 +- doc/flux_middle/fhir/struct.Expr.html | 4 +- doc/flux_middle/fhir/struct.FnDecl.html | 2 +- doc/flux_middle/fhir/struct.FnOutput.html | 2 +- doc/flux_middle/fhir/struct.FnSig.html | 2 +- doc/flux_middle/fhir/struct.FuncSort.html | 4 +- doc/flux_middle/fhir/struct.Generics.html | 2 +- doc/flux_middle/fhir/struct.ParamId.html | 28 +- doc/flux_middle/fhir/struct.PartialRes.html | 6 +- doc/flux_middle/fhir/struct.Path.html | 4 +- doc/flux_middle/fhir/struct.PathExpr.html | 4 +- doc/flux_middle/fhir/struct.PathSegment.html | 4 +- doc/flux_middle/fhir/struct.PolyFuncSort.html | 4 +- doc/flux_middle/fhir/struct.PolyTraitRef.html | 2 +- doc/flux_middle/fhir/struct.RefineArg.html | 2 +- doc/flux_middle/fhir/struct.RefineParam.html | 4 +- doc/flux_middle/fhir/struct.RefinedBy.html | 19 +- doc/flux_middle/fhir/struct.Requires.html | 2 +- doc/flux_middle/fhir/struct.SortPath.html | 4 +- doc/flux_middle/fhir/struct.SpecFunc.html | 4 +- doc/flux_middle/fhir/struct.StructDef.html | 2 +- doc/flux_middle/fhir/struct.Ty.html | 2 +- .../global_env/struct.GlobalEnv.html | 7 +- doc/flux_middle/global_env/struct.Symbol.html | 6 +- doc/flux_middle/index.html | 2 +- doc/flux_middle/macro._Bool.html | 2 +- doc/flux_middle/macro._Int.html | 2 +- doc/flux_middle/macro._Ref.html | 2 +- doc/flux_middle/macro._Uint.html | 2 +- doc/flux_middle/pretty/trait.Pretty.html | 2 +- .../rty/binder/enum.BoundReftKind.html | 6 +- doc/flux_middle/rty/binder/struct.Binder.html | 29 +- .../rty/binder/struct.EarlyBinder.html | 4 +- doc/flux_middle/rty/binder/type.List.html | 8 +- .../rty/constant.SELF_PARAM_TY.html | 2 +- doc/flux_middle/rty/enum.AliasKind.html | 2 +- doc/flux_middle/rty/enum.BaseTy.html | 21 +- doc/flux_middle/rty/enum.BinOp.html | 4 +- doc/flux_middle/rty/enum.BoundReftKind.html | 6 +- doc/flux_middle/rty/enum.BoundRegionKind.html | 6 +- doc/flux_middle/rty/enum.BvSize.html | 14 +- doc/flux_middle/rty/enum.ClauseKind.html | 12 +- doc/flux_middle/rty/enum.ClosureKind.html | 6 +- doc/flux_middle/rty/enum.Coercion.html | 10 +- doc/flux_middle/rty/enum.Constant.html | 16 +- doc/flux_middle/rty/enum.Ensures.html | 12 +- .../rty/enum.ExistentialPredicate.html | 14 +- doc/flux_middle/rty/enum.ExprKind.html | 4 +- doc/flux_middle/rty/enum.GenericArg.html | 18 +- .../rty/enum.GenericParamDefKind.html | 8 +- doc/flux_middle/rty/enum.Loc.html | 4 +- doc/flux_middle/rty/enum.NumVarValue.html | 6 +- doc/flux_middle/rty/enum.Opaqueness.html | 16 +- doc/flux_middle/rty/enum.PtrKind.html | 8 +- doc/flux_middle/rty/enum.Region.html | 4 +- doc/flux_middle/rty/enum.Sort.html | 21 +- doc/flux_middle/rty/enum.SortArg.html | 12 +- doc/flux_middle/rty/enum.SortCtor.html | 8 +- doc/flux_middle/rty/enum.SortInfer.html | 8 +- doc/flux_middle/rty/enum.SortParamKind.html | 8 +- doc/flux_middle/rty/enum.TyKind.html | 8 +- doc/flux_middle/rty/enum.UnOp.html | 2 +- doc/flux_middle/rty/enum.Var.html | 4 +- doc/flux_middle/rty/expr/enum.BinOp.html | 4 +- doc/flux_middle/rty/expr/enum.Constant.html | 16 +- doc/flux_middle/rty/expr/enum.ExprKind.html | 4 +- doc/flux_middle/rty/expr/enum.Loc.html | 4 +- doc/flux_middle/rty/expr/enum.UnOp.html | 2 +- doc/flux_middle/rty/expr/enum.Var.html | 4 +- doc/flux_middle/rty/expr/index.html | 2 +- doc/flux_middle/rty/expr/macro.impl_ops.html | 2 +- .../rty/expr/pretty/enum.Precedence.html | 10 +- doc/flux_middle/rty/expr/pretty/index.html | 2 +- .../rty/expr/struct.AliasReft.html | 6 +- doc/flux_middle/rty/expr/struct.Expr.html | 42 +- doc/flux_middle/rty/expr/struct.KVar.html | 4 +- doc/flux_middle/rty/expr/struct.KVid.html | 6 +- doc/flux_middle/rty/expr/struct.Lambda.html | 4 +- doc/flux_middle/rty/expr/struct.Name.html | 2 +- doc/flux_middle/rty/expr/struct.Path.html | 4 +- doc/flux_middle/rty/expr/struct.Real.html | 6 +- doc/flux_middle/rty/fn.int_invariants.html | 2 +- doc/flux_middle/rty/fn.slice_invariants.html | 2 +- doc/flux_middle/rty/fn.uint_invariants.html | 2 +- doc/flux_middle/rty/fold/index.html | 2 +- .../fold/macro.TrivialTypeTraversalImpls.html | 2 +- .../rty/fold/struct.BottomUpFolder.html | 6 +- .../rty/fold/trait.FallibleTypeFolder.html | 2 +- .../rty/fold/trait.TypeFoldable.html | 16 +- .../rty/fold/trait.TypeFolder.html | 2 +- .../rty/fold/trait.TypeSuperFoldable.html | 2 +- .../rty/fold/trait.TypeSuperVisitable.html | 2 +- .../rty/fold/trait.TypeVisitable.html | 6 +- doc/flux_middle/rty/index.html | 8 +- doc/flux_middle/rty/macro.Bool.html | 2 +- doc/flux_middle/rty/macro.Int.html | 2 +- doc/flux_middle/rty/macro.Ref.html | 2 +- doc/flux_middle/rty/macro.Uint.html | 2 +- doc/flux_middle/rty/pretty/index.html | 2 +- .../rty/projections/enum.Candidate.html | 4 +- doc/flux_middle/rty/projections/index.html | 2 +- .../rty/projections/struct.Normalizer.html | 4 +- .../rty/projections/struct.TVarSubst.html | 8 +- doc/flux_middle/rty/static.INT_TYS.html | 2 +- doc/flux_middle/rty/static.UINT_TYS.html | 2 +- doc/flux_middle/rty/struct.AdtDef.html | 8 +- doc/flux_middle/rty/struct.AdtDefData.html | 8 +- doc/flux_middle/rty/struct.AdtSortDef.html | 13 +- .../rty/struct.AdtSortDefData.html | 16 +- doc/flux_middle/rty/struct.AliasReft.html | 6 +- doc/flux_middle/rty/struct.AliasTy.html | 18 +- .../rty/struct.AssocRefinement.html | 8 +- .../rty/struct.AssocRefinements.html | 4 +- doc/flux_middle/rty/struct.Binder.html | 29 +- doc/flux_middle/rty/struct.BvSizeVid.html | 30 +- doc/flux_middle/rty/struct.Clause.html | 12 +- doc/flux_middle/rty/struct.ClosureOblig.html | 4 +- doc/flux_middle/rty/struct.Const.html | 6 +- .../rty/struct.CoroutineObligPredicate.html | 12 +- doc/flux_middle/rty/struct.DebruijnIndex.html | 2 +- doc/flux_middle/rty/struct.EarlyBinder.html | 4 +- .../rty/struct.ExistentialProjection.html | 12 +- .../rty/struct.ExistentialTraitRef.html | 12 +- doc/flux_middle/rty/struct.Expr.html | 42 +- doc/flux_middle/rty/struct.FnOutput.html | 12 +- doc/flux_middle/rty/struct.FnSig.html | 14 +- .../rty/struct.FnTraitPredicate.html | 14 +- doc/flux_middle/rty/struct.FuncSort.html | 12 +- .../rty/struct.GenericParamDef.html | 8 +- .../rty/struct.GenericPredicates.html | 4 +- doc/flux_middle/rty/struct.Generics.html | 8 +- doc/flux_middle/rty/struct.Invariant.html | 12 +- doc/flux_middle/rty/struct.KVar.html | 4 +- doc/flux_middle/rty/struct.KVid.html | 6 +- doc/flux_middle/rty/struct.Lambda.html | 4 +- .../rty/struct.LocalTableInContext.html | 4 +- .../rty/struct.LocalTableInContextMut.html | 4 +- doc/flux_middle/rty/struct.Name.html | 2 +- doc/flux_middle/rty/struct.NumVid.html | 30 +- doc/flux_middle/rty/struct.ParamSort.html | 32 +- doc/flux_middle/rty/struct.Path.html | 4 +- doc/flux_middle/rty/struct.PolyFuncSort.html | 12 +- .../rty/struct.ProjectionPredicate.html | 12 +- doc/flux_middle/rty/struct.Qualifier.html | 6 +- doc/flux_middle/rty/struct.Real.html | 6 +- doc/flux_middle/rty/struct.RefineParam.html | 8 +- .../rty/struct.RefinementGenerics.html | 8 +- doc/flux_middle/rty/struct.SortVid.html | 30 +- doc/flux_middle/rty/struct.SpecFunc.html | 2 +- doc/flux_middle/rty/struct.SpecFuncDecl.html | 4 +- doc/flux_middle/rty/struct.SubsetTy.html | 14 +- .../rty/struct.TraitPredicate.html | 12 +- doc/flux_middle/rty/struct.TraitRef.html | 12 +- doc/flux_middle/rty/struct.Ty.html | 32 +- doc/flux_middle/rty/struct.VariantSig.html | 14 +- doc/flux_middle/rty/struct.WfckResults.html | 4 +- .../subst/trait.GenericsSubstDelegate.html | 2 +- doc/flux_middle/rty/trait.GenericArgsExt.html | 4 +- doc/flux_middle/rty/type.Clauses.html | 2 +- doc/flux_middle/rty/type.GenericArgs.html | 2 +- doc/flux_middle/rty/type.ItemLocalMap.html | 2 +- doc/flux_middle/rty/type.List.html | 8 +- .../rty/type.PolyExistentialPredicate.html | 2 +- .../rty/type.PolyExistentialTraitRef.html | 4 +- doc/flux_middle/rty/type.PolyFnSig.html | 2 +- .../rty/type.PolyTraitPredicate.html | 2 +- doc/flux_middle/rty/type.PolyTraitRef.html | 4 +- doc/flux_middle/rty/type.PolyVariant.html | 4 +- doc/flux_middle/rty/type.PolyVariants.html | 2 +- doc/flux_middle/rty/type.RefineArgs.html | 2 +- doc/flux_middle/rty/type.SubsetTyCtor.html | 6 +- doc/flux_middle/rty/type.TyCtor.html | 4 +- .../rty/type.TypeOutlivesPredicate.html | 2 +- doc/flux_middle/sort_of/index.html | 2 +- .../static.DEFAULT_LOCALE_RESOURCE.html | 2 +- doc/flux_middle/static.THEORY_FUNCS.html | 2 +- doc/flux_middle/struct.PlaceTy.html | 8 +- doc/flux_middle/struct.ResolverOutput.html | 4 +- doc/flux_middle/struct.Specs.html | 6 +- doc/flux_middle/struct.TheoryFunc.html | 2 +- doc/flux_middle/trait.PlaceExt.html | 10 +- .../checker/errors/enum.CheckerErrKind.html | 2 +- .../checker/fn.infer_under_mut_ref_hack.html | 2 +- .../checker/fn.snapshot_at_dominator.html | 4 +- doc/flux_refineck/checker/struct.Checker.html | 64 +- .../checker/struct.RefineMode.html | 4 +- .../checker/struct.ShapeMode.html | 4 +- .../checker/struct.ShapeResult.html | 2 +- doc/flux_refineck/checker/trait.Mode.html | 8 +- doc/flux_refineck/fn.report_errors.html | 2 +- doc/flux_refineck/primops/struct.Pre.html | 4 +- doc/flux_refineck/type_env/index.html | 2 +- .../type_env/place_ty/fn.downcast.html | 2 +- .../type_env/place_ty/fn.downcast_enum.html | 2 +- .../type_env/place_ty/fn.downcast_struct.html | 2 +- .../type_env/place_ty/fn.fold.html | 2 +- .../place_ty/struct.LookupResult.html | 4 +- .../type_env/place_ty/struct.PlacesTree.html | 4 +- .../type_env/place_ty/struct.Unfold.html | 2 +- .../type_env/place_ty/struct.Unfolder.html | 6 +- doc/flux_refineck/type_env/pretty/index.html | 2 +- .../type_env/struct.BasicBlockEnv.html | 8 +- .../type_env/struct.BasicBlockEnvData.html | 4 +- .../type_env/struct.BasicBlockEnvShape.html | 12 +- .../type_env/struct.TypeEnv.html | 32 +- doc/help.html | 2 +- doc/index.html | 2 +- doc/search-index.js | 4 +- .../flux_fhir_analysis-desc-0-.js | 2 +- .../flux_middle/flux_middle-desc-0-.js | 2 +- doc/settings.html | 2 +- doc/src/flux_desugar/desugar.rs.html | 14 +- doc/src/flux_fhir_analysis/conv/mod.rs.html | 1278 ++++++++++------- .../conv/struct_compat.rs.html | 14 +- doc/src/flux_fhir_analysis/lib.rs.html | 88 +- doc/src/flux_fhir_analysis/wf/errors.rs.html | 26 - doc/src/flux_fhir_analysis/wf/mod.rs.html | 354 ++++- doc/src/flux_fhir_analysis/wf/sortck.rs.html | 134 +- doc/src/flux_infer/fixpoint_encoding.rs.html | 14 +- doc/src/flux_middle/fhir.rs.html | 50 +- doc/src/flux_middle/fhir/lift.rs.html | 4 +- doc/src/flux_middle/lib.rs.html | 18 + doc/src/flux_middle/rty/expr.rs.html | 10 +- doc/src/flux_middle/rty/fold.rs.html | 8 + doc/src/flux_middle/rty/mod.rs.html | 82 +- doc/src/flux_middle/rty/pretty.rs.html | 28 + doc/src/flux_middle/rty/projections.rs.html | 36 +- doc/src/flux_middle/sort_of.rs.html | 190 +-- doc/src/flux_refineck/type_env.rs.html | 4 +- doc/trait.impl/core/clone/trait.Clone.js | 2 +- doc/trait.impl/core/convert/trait.From.js | 4 +- doc/trait.impl/core/marker/trait.Copy.js | 2 +- doc/trait.impl/core/marker/trait.Freeze.js | 2 +- doc/trait.impl/core/marker/trait.Send.js | 2 +- doc/trait.impl/core/marker/trait.Sync.js | 2 +- doc/trait.impl/core/marker/trait.Unpin.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- .../conv/trait.ConvPhase.js | 3 + .../conv/trait.WfckResultsProvider.js | 3 + .../marker/trait.DynSend.js | 2 +- .../marker/trait.DynSync.js | 2 +- .../diagnostic/trait.Diagnostic.js | 2 +- .../flux_middle/rty/binder/struct.Binder.js | 2 +- doc/type.impl/flux_middle/rty/type.List.js | 2 +- 399 files changed, 2735 insertions(+), 2146 deletions(-) rename doc/flux_fhir_analysis/{wf => conv}/errors/struct.RefinedUnrefinableType.html (65%) delete mode 100644 doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_body.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_def.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.conv_default_assoc_reft_def.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.conv_fn_sig.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.conv_generic_predicates.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.conv_opaque_ty.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.expand_type_alias.html delete mode 100644 doc/flux_fhir_analysis/conv/fn.resolve_param_sort.html create mode 100644 doc/flux_fhir_analysis/conv/trait.ConvPhase.html create mode 100644 doc/flux_fhir_analysis/conv/trait.WfckResultsProvider.html create mode 100644 doc/flux_fhir_analysis/wf/fn.init_infcx.html create mode 100644 doc/trait.impl/flux_fhir_analysis/conv/trait.ConvPhase.js create mode 100644 doc/trait.impl/flux_fhir_analysis/conv/trait.WfckResultsProvider.js diff --git a/doc/flux_desugar/desugar/fn.desugar_base_sort.html b/doc/flux_desugar/desugar/fn.desugar_base_sort.html index 218ce0fc40..0c085da334 100644 --- a/doc/flux_desugar/desugar/fn.desugar_base_sort.html +++ b/doc/flux_desugar/desugar/fn.desugar_base_sort.html @@ -1,4 +1,4 @@ -desugar_base_sort in flux_desugar::desugar - Rust

Function flux_desugar::desugar::desugar_base_sort

source ·
fn desugar_base_sort<'genv>(
+desugar_base_sort in flux_desugar::desugar - Rust

Function flux_desugar::desugar::desugar_base_sort

source ·
fn desugar_base_sort<'genv>(
     genv: GlobalEnv<'genv, '_>,
     resolver_output: &ResolverOutput,
     bsort: &BaseSort,
diff --git a/doc/flux_desugar/desugar/fn.desugar_sort.html b/doc/flux_desugar/desugar/fn.desugar_sort.html
index f3c22900dc..1084f08b88 100644
--- a/doc/flux_desugar/desugar/fn.desugar_sort.html
+++ b/doc/flux_desugar/desugar/fn.desugar_sort.html
@@ -1,4 +1,4 @@
-desugar_sort in flux_desugar::desugar - Rust

Function flux_desugar::desugar::desugar_sort

source ·
fn desugar_sort<'genv>(
+desugar_sort in flux_desugar::desugar - Rust

Function flux_desugar::desugar::desugar_sort

source ·
fn desugar_sort<'genv>(
     genv: GlobalEnv<'genv, '_>,
     resolver_output: &ResolverOutput,
     sort: &Sort,
diff --git a/doc/flux_desugar/desugar/index.html b/doc/flux_desugar/desugar/index.html
index 2b1f832df3..8a6e17e5ab 100644
--- a/doc/flux_desugar/desugar/index.html
+++ b/doc/flux_desugar/desugar/index.html
@@ -1,2 +1,2 @@
-flux_desugar::desugar - Rust

Module flux_desugar::desugar

source ·

Structs§

Traits§

Functions§

  • Collect all sorts resolved to a generic type in a list of refinement parameters. Return the set +flux_desugar::desugar - Rust

    Module flux_desugar::desugar

    source ·

    Structs§

    Traits§

    Functions§

    Type Aliases§

    \ No newline at end of file diff --git a/doc/flux_desugar/desugar/struct.FluxItemCtxt.html b/doc/flux_desugar/desugar/struct.FluxItemCtxt.html index e3656f69b8..eadd141993 100644 --- a/doc/flux_desugar/desugar/struct.FluxItemCtxt.html +++ b/doc/flux_desugar/desugar/struct.FluxItemCtxt.html @@ -7,7 +7,7 @@ genv: GlobalEnv<'genv, 'tcx>, resolver_output: &'genv ResolverOutput, owner: Symbol, -) -> Self

Trait Implementations§

source§

impl<'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for FluxItemCtxt<'genv, 'tcx>

source§

fn next_fhir_id(&self) -> FhirId

source§

fn genv(&self) -> GlobalEnv<'genv, 'tcx>

source§

fn resolver_output(&self) -> &'genv ResolverOutput

source§

fn desugar_impl_trait( +) -> Self

Trait Implementations§

source§

impl<'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for FluxItemCtxt<'genv, 'tcx>

source§

fn next_fhir_id(&self) -> FhirId

source§

fn genv(&self) -> GlobalEnv<'genv, 'tcx>

source§

fn resolver_output(&self) -> &'genv ResolverOutput

source§

fn desugar_impl_trait( &mut self, _: NodeId, _: &[TraitRef], @@ -63,27 +63,27 @@ ) -> Result<QPath<'genv>, ErrorGuaranteed>

source§

fn desugar_path_segment( &mut self, segment: &PathSegment, -) -> Result<PathSegment<'genv>, ErrorGuaranteed>

source§

fn ty_path(&self, qpath: QPath<'genv>) -> Ty<'genv>

source§

fn mk_lft_hole(&self) -> Lifetime

source§

fn desugar_indices( +) -> Result<PathSegment<'genv>, ErrorGuaranteed>

source§

fn ty_path(&self, qpath: QPath<'genv>) -> Ty<'genv>

source§

fn mk_lft_hole(&self) -> Lifetime

source§

fn desugar_indices( &mut self, idxs: &Indices, -) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn desugar_refine_arg( +) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn desugar_refine_arg( &mut self, arg: &RefineArg, -) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn implicit_param_into_refine_arg( +) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn implicit_param_into_refine_arg( &self, ident: Ident, node_id: NodeId, -) -> Option<RefineArg<'genv>>

source§

fn desugar_alias_reft( +) -> Option<RefineArg<'genv>>

source§

fn desugar_alias_reft( &mut self, alias_reft: &AliasReft, -) -> Result<AliasReft<'genv>, ErrorGuaranteed>

source§

fn desugar_expr(&mut self, expr: &Expr) -> Result<Expr<'genv>, ErrorGuaranteed>

source§

fn desugar_exprs( +) -> Result<AliasReft<'genv>, ErrorGuaranteed>

source§

fn desugar_expr(&mut self, expr: &Expr) -> Result<Expr<'genv>, ErrorGuaranteed>

source§

fn desugar_exprs( &mut self, exprs: &[Expr], -) -> Result<&'genv [Expr<'genv>], ErrorGuaranteed>

source§

fn try_parse_int_lit( +) -> Result<&'genv [Expr<'genv>], ErrorGuaranteed>

source§

fn try_parse_int_lit( &self, span: Span, s: &str, -) -> Result<i128, ErrorGuaranteed>

source§

fn desugar_lit(&self, span: Span, lit: Lit) -> Result<Lit, ErrorGuaranteed>

source§

fn emit_err(&self, err: impl Diagnostic<'genv>) -> ErrorGuaranteed

Auto Trait Implementations§

§

impl<'genv, 'tcx> !Freeze for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !RefUnwindSafe for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !Send for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !Sync for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> Unpin for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !UnwindSafe for FluxItemCtxt<'genv, 'tcx>

Blanket Implementations§

source§

impl<T> Any for T

source§

fn desugar_lit(&self, span: Span, lit: Lit) -> Result<Lit, ErrorGuaranteed>

source§

fn emit_err(&self, err: impl Diagnostic<'genv>) -> ErrorGuaranteed

Auto Trait Implementations§

§

impl<'genv, 'tcx> !Freeze for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !RefUnwindSafe for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !Send for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !Sync for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> Unpin for FluxItemCtxt<'genv, 'tcx>

§

impl<'genv, 'tcx> !UnwindSafe for FluxItemCtxt<'genv, 'tcx>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_desugar/desugar/struct.RustItemCtxt.html b/doc/flux_desugar/desugar/struct.RustItemCtxt.html index d4bd11a2d5..e1f3dd3ccf 100644 --- a/doc/flux_desugar/desugar/struct.RustItemCtxt.html +++ b/doc/flux_desugar/desugar/struct.RustItemCtxt.html @@ -108,7 +108,7 @@ ) -> Result<Item<'genv>, ErrorGuaranteed>
source

fn desugar_variant_ret( &mut self, ret: &VariantRet, -) -> Result<VariantRet<'genv>, ErrorGuaranteed>

source

fn check_variant_ret_path(&mut self, path: &Path) -> Option<DefId>

source

fn insert_opaque_ty(&mut self, def_id: LocalDefId, opaque_ty: Item<'genv>)

source

fn emit_err<'b>(&'b self, err: impl Diagnostic<'b>) -> ErrorGuaranteed

Trait Implementations§

source§

impl<'a, 'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for RustItemCtxt<'a, 'genv, 'tcx>

source§

fn next_fhir_id(&self) -> FhirId

source§

fn genv(&self) -> GlobalEnv<'genv, 'tcx>

source§

fn resolver_output(&self) -> &'genv ResolverOutput

source§

fn desugar_impl_trait( +) -> Result<VariantRet<'genv>, ErrorGuaranteed>

source

fn check_variant_ret_path(&mut self, path: &Path) -> Option<DefId>

source

fn insert_opaque_ty(&mut self, def_id: LocalDefId, opaque_ty: Item<'genv>)

source

fn emit_err<'b>(&'b self, err: impl Diagnostic<'b>) -> ErrorGuaranteed

Trait Implementations§

source§

impl<'a, 'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for RustItemCtxt<'a, 'genv, 'tcx>

source§

fn next_fhir_id(&self) -> FhirId

source§

fn genv(&self) -> GlobalEnv<'genv, 'tcx>

source§

fn resolver_output(&self) -> &'genv ResolverOutput

source§

fn desugar_impl_trait( &mut self, node_id: NodeId, bounds: &[TraitRef], @@ -164,27 +164,27 @@ ) -> Result<QPath<'genv>, ErrorGuaranteed>

source§

fn desugar_path_segment( &mut self, segment: &PathSegment, -) -> Result<PathSegment<'genv>, ErrorGuaranteed>

source§

fn ty_path(&self, qpath: QPath<'genv>) -> Ty<'genv>

source§

fn mk_lft_hole(&self) -> Lifetime

source§

fn desugar_indices( +) -> Result<PathSegment<'genv>, ErrorGuaranteed>

source§

fn ty_path(&self, qpath: QPath<'genv>) -> Ty<'genv>

source§

fn mk_lft_hole(&self) -> Lifetime

source§

fn desugar_indices( &mut self, idxs: &Indices, -) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn desugar_refine_arg( +) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn desugar_refine_arg( &mut self, arg: &RefineArg, -) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn implicit_param_into_refine_arg( +) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source§

fn implicit_param_into_refine_arg( &self, ident: Ident, node_id: NodeId, -) -> Option<RefineArg<'genv>>

source§

fn desugar_alias_reft( +) -> Option<RefineArg<'genv>>

source§

fn desugar_alias_reft( &mut self, alias_reft: &AliasReft, -) -> Result<AliasReft<'genv>, ErrorGuaranteed>

source§

fn desugar_expr(&mut self, expr: &Expr) -> Result<Expr<'genv>, ErrorGuaranteed>

source§

fn desugar_exprs( +) -> Result<AliasReft<'genv>, ErrorGuaranteed>

source§

fn desugar_expr(&mut self, expr: &Expr) -> Result<Expr<'genv>, ErrorGuaranteed>

source§

fn desugar_exprs( &mut self, exprs: &[Expr], -) -> Result<&'genv [Expr<'genv>], ErrorGuaranteed>

source§

fn try_parse_int_lit( +) -> Result<&'genv [Expr<'genv>], ErrorGuaranteed>

source§

fn try_parse_int_lit( &self, span: Span, s: &str, -) -> Result<i128, ErrorGuaranteed>

source§

fn desugar_lit(&self, span: Span, lit: Lit) -> Result<Lit, ErrorGuaranteed>

source§

fn emit_err(&self, err: impl Diagnostic<'genv>) -> ErrorGuaranteed

Auto Trait Implementations§

§

impl<'a, 'genv, 'tcx> !Freeze for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !RefUnwindSafe for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !Send for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !Sync for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> Unpin for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !UnwindSafe for RustItemCtxt<'a, 'genv, 'tcx>

Blanket Implementations§

source§

impl<T> Any for T

source§

fn desugar_lit(&self, span: Span, lit: Lit) -> Result<Lit, ErrorGuaranteed>

source§

fn emit_err(&self, err: impl Diagnostic<'genv>) -> ErrorGuaranteed

Auto Trait Implementations§

§

impl<'a, 'genv, 'tcx> !Freeze for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !RefUnwindSafe for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !Send for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !Sync for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> Unpin for RustItemCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !UnwindSafe for RustItemCtxt<'a, 'genv, 'tcx>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_desugar/desugar/trait.DesugarCtxt.html b/doc/flux_desugar/desugar/trait.DesugarCtxt.html index 499b7b3f62..eaa6e81d1b 100644 --- a/doc/flux_desugar/desugar/trait.DesugarCtxt.html +++ b/doc/flux_desugar/desugar/trait.DesugarCtxt.html @@ -1,4 +1,4 @@ -DesugarCtxt in flux_desugar::desugar - Rust

Trait flux_desugar::desugar::DesugarCtxt

source ·
trait DesugarCtxt<'genv, 'tcx: 'genv> {
+DesugarCtxt in flux_desugar::desugar - Rust

Trait flux_desugar::desugar::DesugarCtxt

source ·
trait DesugarCtxt<'genv, 'tcx: 'genv> {
 
Show 34 methods // Required methods fn genv(&self) -> GlobalEnv<'genv, 'tcx>; fn resolver_output(&self) -> &'genv ResolverOutput; @@ -174,24 +174,24 @@ ) -> Result<QPath<'genv>, ErrorGuaranteed>
source

fn desugar_path_segment( &mut self, segment: &PathSegment, -) -> Result<PathSegment<'genv>, ErrorGuaranteed>

source

fn ty_path(&self, qpath: QPath<'genv>) -> Ty<'genv>

source

fn mk_lft_hole(&self) -> Lifetime

source

fn desugar_indices( +) -> Result<PathSegment<'genv>, ErrorGuaranteed>

source

fn ty_path(&self, qpath: QPath<'genv>) -> Ty<'genv>

source

fn mk_lft_hole(&self) -> Lifetime

source

fn desugar_indices( &mut self, idxs: &Indices, -) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source

fn desugar_refine_arg( +) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source

fn desugar_refine_arg( &mut self, arg: &RefineArg, -) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source

fn implicit_param_into_refine_arg( +) -> Result<RefineArg<'genv>, ErrorGuaranteed>

source

fn implicit_param_into_refine_arg( &self, ident: Ident, node_id: NodeId, -) -> Option<RefineArg<'genv>>

source

fn desugar_alias_reft( +) -> Option<RefineArg<'genv>>

source

fn desugar_alias_reft( &mut self, alias_reft: &AliasReft, -) -> Result<AliasReft<'genv>, ErrorGuaranteed>

source

fn desugar_expr(&mut self, expr: &Expr) -> Result<Expr<'genv>, ErrorGuaranteed>

source

fn desugar_exprs( +) -> Result<AliasReft<'genv>, ErrorGuaranteed>

source

fn desugar_expr(&mut self, expr: &Expr) -> Result<Expr<'genv>, ErrorGuaranteed>

source

fn desugar_exprs( &mut self, exprs: &[Expr], -) -> Result<&'genv [Expr<'genv>], ErrorGuaranteed>

source

fn try_parse_int_lit( +) -> Result<&'genv [Expr<'genv>], ErrorGuaranteed>

source

fn try_parse_int_lit( &self, span: Span, s: &str, -) -> Result<i128, ErrorGuaranteed>

source

fn desugar_lit(&self, span: Span, lit: Lit) -> Result<Lit, ErrorGuaranteed>

source

fn emit_err(&self, err: impl Diagnostic<'genv>) -> ErrorGuaranteed

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for RustItemCtxt<'a, 'genv, 'tcx>

source§

impl<'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for FluxItemCtxt<'genv, 'tcx>

\ No newline at end of file +) -> Result<i128, ErrorGuaranteed>
source

fn desugar_lit(&self, span: Span, lit: Lit) -> Result<Lit, ErrorGuaranteed>

source

fn emit_err(&self, err: impl Diagnostic<'genv>) -> ErrorGuaranteed

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for RustItemCtxt<'a, 'genv, 'tcx>

source§

impl<'genv, 'tcx> DesugarCtxt<'genv, 'tcx> for FluxItemCtxt<'genv, 'tcx>

\ No newline at end of file diff --git a/doc/flux_fhir_analysis/all.html b/doc/flux_fhir_analysis/all.html index 45aa19be9a..4a20872ee0 100644 --- a/doc/flux_fhir_analysis/all.html +++ b/doc/flux_fhir_analysis/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Functions

Type Aliases

Statics

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Type Aliases

Statics

\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/enum.LayerKind.html b/doc/flux_fhir_analysis/conv/enum.LayerKind.html index 41cbb8cd1b..b28f38b367 100644 --- a/doc/flux_fhir_analysis/conv/enum.LayerKind.html +++ b/doc/flux_fhir_analysis/conv/enum.LayerKind.html @@ -1,4 +1,4 @@ -LayerKind in flux_fhir_analysis::conv - Rust

Enum flux_fhir_analysis::conv::LayerKind

source ·
enum LayerKind {
+LayerKind in flux_fhir_analysis::conv - Rust

Enum flux_fhir_analysis::conv::LayerKind

source ·
enum LayerKind {
     List {
         bound_regions: u32,
     },
@@ -8,7 +8,7 @@
 

Variants§

§

List

Fields

§bound_regions: u32

The number of regions bound in this layer. Since regions and refinements are both bound with a rty::Binder we need to keep track of the number of bound regions to skip them when assigning an index to refinement parameters.

-
§

Coalesce(DefId)

Trait Implementations§

source§

impl Clone for LayerKind

source§

fn clone(&self) -> LayerKind

Returns a 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 LayerKind

source§

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

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

impl Copy for LayerKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

§

Coalesce(DefId)

Trait Implementations§

source§

impl Clone for LayerKind

source§

fn clone(&self) -> LayerKind

Returns a 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 LayerKind

source§

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

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

impl Copy for LayerKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_fhir_analysis/conv/enum.LookupResultKind.html b/doc/flux_fhir_analysis/conv/enum.LookupResultKind.html index bc0e4e1606..324ea2f879 100644 --- a/doc/flux_fhir_analysis/conv/enum.LookupResultKind.html +++ b/doc/flux_fhir_analysis/conv/enum.LookupResultKind.html @@ -1,4 +1,4 @@ -LookupResultKind in flux_fhir_analysis::conv - Rust

Enum flux_fhir_analysis::conv::LookupResultKind

source ·
enum LookupResultKind<'a> {
+LookupResultKind in flux_fhir_analysis::conv - Rust

Enum flux_fhir_analysis::conv::LookupResultKind

source ·
enum LookupResultKind<'a> {
     Bound {
         debruijn: DebruijnIndex,
         entry: &'a ParamEntry,
@@ -11,7 +11,7 @@
     },
 }

Variants§

§

Bound

Fields

§debruijn: DebruijnIndex
§entry: &'a ParamEntry
§index: u32

The index of the parameter in the layer.

§

EarlyParam

Fields

§name: Symbol
§index: u32

The index of the parameter.

-

Trait Implementations§

source§

impl<'a> Debug for LookupResultKind<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for LookupResultKind<'a>

§

impl<'a> RefUnwindSafe for LookupResultKind<'a>

§

impl<'a> Send for LookupResultKind<'a>

§

impl<'a> Sync for LookupResultKind<'a>

§

impl<'a> Unpin for LookupResultKind<'a>

§

impl<'a> UnwindSafe for LookupResultKind<'a>

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl<'a> Debug for LookupResultKind<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for LookupResultKind<'a>

§

impl<'a> RefUnwindSafe for LookupResultKind<'a>

§

impl<'a> Send for LookupResultKind<'a>

§

impl<'a> Sync for LookupResultKind<'a>

§

impl<'a> Unpin for LookupResultKind<'a>

§

impl<'a> UnwindSafe for LookupResultKind<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/errors/index.html b/doc/flux_fhir_analysis/conv/errors/index.html index 3ce93720ff..280f380c22 100644 --- a/doc/flux_fhir_analysis/conv/errors/index.html +++ b/doc/flux_fhir_analysis/conv/errors/index.html @@ -1 +1 @@ -flux_fhir_analysis::conv::errors - Rust
\ No newline at end of file +flux_fhir_analysis::conv::errors - Rust
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/errors/sidebar-items.js b/doc/flux_fhir_analysis/conv/errors/sidebar-items.js index 6400a09dd7..af15d27888 100644 --- a/doc/flux_fhir_analysis/conv/errors/sidebar-items.js +++ b/doc/flux_fhir_analysis/conv/errors/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":["AmbiguousAssocType","AssocTypeNotFound","GenericArgCountMismatch","InvalidBaseInstance","TooFewGenericArgs","TooManyGenericArgs"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["AmbiguousAssocType","AssocTypeNotFound","GenericArgCountMismatch","InvalidBaseInstance","RefinedUnrefinableType","TooFewGenericArgs","TooManyGenericArgs"]}; \ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/errors/struct.AmbiguousAssocType.html b/doc/flux_fhir_analysis/conv/errors/struct.AmbiguousAssocType.html index 7f9a585516..889e45c961 100644 --- a/doc/flux_fhir_analysis/conv/errors/struct.AmbiguousAssocType.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.AmbiguousAssocType.html @@ -1,8 +1,8 @@ -AmbiguousAssocType in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::AmbiguousAssocType

source ·
pub(super) struct AmbiguousAssocType {
+AmbiguousAssocType in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::AmbiguousAssocType

source ·
pub(super) struct AmbiguousAssocType {
     span: Span,
     name: Ident,
-}

Fields§

§span: Span§name: Ident

Implementations§

source§

impl AmbiguousAssocType

source

pub(super) fn new(assoc_ident: Ident) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for AmbiguousAssocType
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§span: Span§name: Ident

Implementations§

source§

impl AmbiguousAssocType

source

pub(super) fn new(assoc_ident: Ident) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for AmbiguousAssocType
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/errors/struct.AssocTypeNotFound.html b/doc/flux_fhir_analysis/conv/errors/struct.AssocTypeNotFound.html index 082e0e6af9..e2bb454c73 100644 --- a/doc/flux_fhir_analysis/conv/errors/struct.AssocTypeNotFound.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.AssocTypeNotFound.html @@ -1,7 +1,7 @@ -AssocTypeNotFound in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::AssocTypeNotFound

source ·
pub(super) struct AssocTypeNotFound {
+AssocTypeNotFound in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::AssocTypeNotFound

source ·
pub(super) struct AssocTypeNotFound {
     span: Span,
-}

Fields§

§span: Span

Implementations§

source§

impl AssocTypeNotFound

source

pub(super) fn new(assoc_ident: Ident) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for AssocTypeNotFound
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§span: Span

Implementations§

source§

impl AssocTypeNotFound

source

pub(super) fn new(assoc_ident: Ident) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for AssocTypeNotFound
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/errors/struct.GenericArgCountMismatch.html b/doc/flux_fhir_analysis/conv/errors/struct.GenericArgCountMismatch.html index 4b8ed59fdc..65a6de6a0f 100644 --- a/doc/flux_fhir_analysis/conv/errors/struct.GenericArgCountMismatch.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.GenericArgCountMismatch.html @@ -1,15 +1,15 @@ -GenericArgCountMismatch in flux_fhir_analysis::conv::errors - Rust
pub(super) struct GenericArgCountMismatch {
+GenericArgCountMismatch in flux_fhir_analysis::conv::errors - Rust
pub(super) struct GenericArgCountMismatch {
     span: Span,
     found: usize,
     expected: usize,
     def_descr: &'static str,
-}

Fields§

§span: Span§found: usize§expected: usize§def_descr: &'static str

Implementations§

Fields§

§span: Span§found: usize§expected: usize§def_descr: &'static str

Implementations§

source§

impl GenericArgCountMismatch

source

pub(super) fn new( genv: GlobalEnv<'_, '_>, def_id: DefId, segment: &PathSegment<'_>, expected: usize, -) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for GenericArgCountMismatch
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for GenericArgCountMismatch
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/errors/struct.InvalidBaseInstance.html b/doc/flux_fhir_analysis/conv/errors/struct.InvalidBaseInstance.html index f93438517d..1c87afa76b 100644 --- a/doc/flux_fhir_analysis/conv/errors/struct.InvalidBaseInstance.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.InvalidBaseInstance.html @@ -1,7 +1,7 @@ -InvalidBaseInstance in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::InvalidBaseInstance

source ·
pub(super) struct InvalidBaseInstance {
+InvalidBaseInstance in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::InvalidBaseInstance

source ·
pub(super) struct InvalidBaseInstance {
     span: Span,
-}

Fields§

§span: Span

Implementations§

source§

impl InvalidBaseInstance

source

pub(super) fn new(span: Span) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for InvalidBaseInstance
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§span: Span

Implementations§

source§

impl InvalidBaseInstance

source

pub(super) fn new(span: Span) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for InvalidBaseInstance
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/wf/errors/struct.RefinedUnrefinableType.html b/doc/flux_fhir_analysis/conv/errors/struct.RefinedUnrefinableType.html similarity index 65% rename from doc/flux_fhir_analysis/wf/errors/struct.RefinedUnrefinableType.html rename to doc/flux_fhir_analysis/conv/errors/struct.RefinedUnrefinableType.html index dc792c496a..e8690d6ee3 100644 --- a/doc/flux_fhir_analysis/wf/errors/struct.RefinedUnrefinableType.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.RefinedUnrefinableType.html @@ -1,7 +1,7 @@ -RefinedUnrefinableType in flux_fhir_analysis::wf::errors - Rust

Struct flux_fhir_analysis::wf::errors::RefinedUnrefinableType

source ·
pub(super) struct RefinedUnrefinableType {
+RefinedUnrefinableType in flux_fhir_analysis::conv::errors - Rust
pub(super) struct RefinedUnrefinableType {
     span: Span,
-}

Fields§

§span: Span

Implementations§

source§

impl RefinedUnrefinableType

source

pub(super) fn new(span: Span) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for RefinedUnrefinableType
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§span: Span

Implementations§

source§

impl RefinedUnrefinableType

source

pub(super) fn new(span: Span) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for RefinedUnrefinableType
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/errors/struct.TooFewGenericArgs.html b/doc/flux_fhir_analysis/conv/errors/struct.TooFewGenericArgs.html index b0cead18a7..041092023a 100644 --- a/doc/flux_fhir_analysis/conv/errors/struct.TooFewGenericArgs.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.TooFewGenericArgs.html @@ -1,15 +1,15 @@ -TooFewGenericArgs in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::TooFewGenericArgs

source ·
pub(super) struct TooFewGenericArgs {
+TooFewGenericArgs in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::TooFewGenericArgs

source ·
pub(super) struct TooFewGenericArgs {
     span: Span,
     found: usize,
     min: usize,
     def_descr: &'static str,
-}

Fields§

§span: Span§found: usize§min: usize§def_descr: &'static str

Implementations§

source§

impl TooFewGenericArgs

source

pub(super) fn new( +}

Fields§

§span: Span§found: usize§min: usize§def_descr: &'static str

Implementations§

source§

impl TooFewGenericArgs

source

pub(super) fn new( genv: GlobalEnv<'_, '_>, def_id: DefId, segment: &PathSegment<'_>, min: usize, -) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for TooFewGenericArgs
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for TooFewGenericArgs
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/errors/struct.TooManyGenericArgs.html b/doc/flux_fhir_analysis/conv/errors/struct.TooManyGenericArgs.html index fd4743addf..a7b7b09cae 100644 --- a/doc/flux_fhir_analysis/conv/errors/struct.TooManyGenericArgs.html +++ b/doc/flux_fhir_analysis/conv/errors/struct.TooManyGenericArgs.html @@ -1,15 +1,15 @@ -TooManyGenericArgs in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::TooManyGenericArgs

source ·
pub(super) struct TooManyGenericArgs {
+TooManyGenericArgs in flux_fhir_analysis::conv::errors - Rust

Struct flux_fhir_analysis::conv::errors::TooManyGenericArgs

source ·
pub(super) struct TooManyGenericArgs {
     span: Span,
     found: usize,
     max: usize,
     def_descr: &'static str,
-}

Fields§

§span: Span§found: usize§max: usize§def_descr: &'static str

Implementations§

Fields§

§span: Span§found: usize§max: usize§def_descr: &'static str

Implementations§

source§

impl TooManyGenericArgs

source

pub(super) fn new( genv: GlobalEnv<'_, '_>, def_id: DefId, segment: &PathSegment<'_>, max: usize, -) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for TooManyGenericArgs
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for TooManyGenericArgs
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/fn.bug_on_infer_sort.html b/doc/flux_fhir_analysis/conv/fn.bug_on_infer_sort.html index 466815125b..f4d58b7b25 100644 --- a/doc/flux_fhir_analysis/conv/fn.bug_on_infer_sort.html +++ b/doc/flux_fhir_analysis/conv/fn.bug_on_infer_sort.html @@ -1 +1 @@ -bug_on_infer_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::bug_on_infer_sort

source ·
pub(crate) fn bug_on_infer_sort() -> Sort
\ No newline at end of file +bug_on_infer_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::bug_on_infer_sort

source ·
pub(crate) fn bug_on_infer_sort() -> Sort
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_adt_sort_def.html b/doc/flux_fhir_analysis/conv/fn.conv_adt_sort_def.html index 2037d98085..2edcbc265e 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_adt_sort_def.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_adt_sort_def.html @@ -1,4 +1,4 @@ -conv_adt_sort_def in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_adt_sort_def

source ·
pub(crate) fn conv_adt_sort_def(
+conv_adt_sort_def in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_adt_sort_def

source ·
pub(crate) fn conv_adt_sort_def(
     genv: GlobalEnv<'_, '_>,
     def_id: MaybeExternId,
     refined_by: &RefinedBy<'_>,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_body.html b/doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_body.html
deleted file mode 100644
index 0004b5c413..0000000000
--- a/doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_body.html
+++ /dev/null
@@ -1,7 +0,0 @@
-conv_assoc_reft_body in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_assoc_reft_body

source ·
fn conv_assoc_reft_body(
-    genv: GlobalEnv<'_, '_>,
-    wfckresults: &WfckResults,
-    params: &[RefineParam<'_>],
-    body: &Expr<'_>,
-    output: &Sort<'_>,
-) -> QueryResult<Lambda>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_def.html b/doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_def.html deleted file mode 100644 index 6eff0a6457..0000000000 --- a/doc/flux_fhir_analysis/conv/fn.conv_assoc_reft_def.html +++ /dev/null @@ -1,5 +0,0 @@ -conv_assoc_reft_def in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_assoc_reft_def

source ·
pub(crate) fn conv_assoc_reft_def(
-    genv: GlobalEnv<'_, '_>,
-    assoc_reft: &ImplAssocReft<'_>,
-    wfckresults: &WfckResults,
-) -> QueryResult<Lambda>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_default_assoc_reft_def.html b/doc/flux_fhir_analysis/conv/fn.conv_default_assoc_reft_def.html deleted file mode 100644 index 91b9ec560f..0000000000 --- a/doc/flux_fhir_analysis/conv/fn.conv_default_assoc_reft_def.html +++ /dev/null @@ -1,5 +0,0 @@ -conv_default_assoc_reft_def in flux_fhir_analysis::conv - Rust
pub(crate) fn conv_default_assoc_reft_def(
-    genv: GlobalEnv<'_, '_>,
-    assoc_reft: &TraitAssocReft<'_>,
-    wfckresults: &WfckResults,
-) -> QueryResult<Option<Lambda>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_defn.html b/doc/flux_fhir_analysis/conv/fn.conv_defn.html index aaa4574302..ee0f4f98e6 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_defn.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_defn.html @@ -1,4 +1,4 @@ -conv_defn in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_defn

source ·
pub(crate) fn conv_defn(
+conv_defn in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_defn

source ·
pub(crate) fn conv_defn(
     genv: GlobalEnv<'_, '_>,
     func: &SpecFunc<'_>,
     wfckresults: &WfckResults,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_fn_sig.html b/doc/flux_fhir_analysis/conv/fn.conv_fn_sig.html
deleted file mode 100644
index 0eda9b9628..0000000000
--- a/doc/flux_fhir_analysis/conv/fn.conv_fn_sig.html
+++ /dev/null
@@ -1,6 +0,0 @@
-conv_fn_sig in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_fn_sig

source ·
pub(crate) fn conv_fn_sig(
-    genv: GlobalEnv<'_, '_>,
-    def_id: MaybeExternId,
-    fn_sig: &FnSig<'_>,
-    wfckresults: &WfckResults,
-) -> QueryResult<EarlyBinder<PolyFnSig>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_func_decl.html b/doc/flux_fhir_analysis/conv/fn.conv_func_decl.html index 631b633202..0440087d28 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_func_decl.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_func_decl.html @@ -1,4 +1,4 @@ -conv_func_decl in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_func_decl

source ·
pub fn conv_func_decl(
+conv_func_decl in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_func_decl

source ·
pub fn conv_func_decl(
     genv: GlobalEnv<'_, '_>,
     func: &SpecFunc<'_>,
 ) -> QueryResult<SpecFuncDecl>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_func_sort.html b/doc/flux_fhir_analysis/conv/fn.conv_func_sort.html index c6726ef75f..ea105423f4 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_func_sort.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_func_sort.html @@ -1,4 +1,4 @@ -conv_func_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_func_sort

source ·
pub(crate) fn conv_func_sort(
+conv_func_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_func_sort

source ·
pub(crate) fn conv_func_sort(
     genv: GlobalEnv<'_, '_>,
     fsort: &FuncSort<'_>,
     next_infer_sort: &mut impl FnMut() -> Sort,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_generic_param_kind.html b/doc/flux_fhir_analysis/conv/fn.conv_generic_param_kind.html
index 9584ef7abd..7811f9a7c4 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_generic_param_kind.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_generic_param_kind.html
@@ -1 +1 @@
-conv_generic_param_kind in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_generic_param_kind

source ·
fn conv_generic_param_kind(kind: &GenericParamKind<'_>) -> GenericParamDefKind
\ No newline at end of file +conv_generic_param_kind in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_generic_param_kind

source ·
fn conv_generic_param_kind(kind: &GenericParamKind<'_>) -> GenericParamDefKind
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_generic_predicates.html b/doc/flux_fhir_analysis/conv/fn.conv_generic_predicates.html deleted file mode 100644 index 7e0e7ec5c4..0000000000 --- a/doc/flux_fhir_analysis/conv/fn.conv_generic_predicates.html +++ /dev/null @@ -1,6 +0,0 @@ -conv_generic_predicates in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_generic_predicates

source ·
pub(crate) fn conv_generic_predicates(
-    genv: GlobalEnv<'_, '_>,
-    def_id: LocalDefId,
-    predicates: &[WhereBoundPredicate<'_>],
-    wfckresults: &WfckResults,
-) -> QueryResult<EarlyBinder<GenericPredicates>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_generics.html b/doc/flux_fhir_analysis/conv/fn.conv_generics.html index 333f52a69e..46949c2883 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_generics.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_generics.html @@ -1,6 +1,6 @@ -conv_generics in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_generics

source ·
pub(crate) fn conv_generics(
+conv_generics in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_generics

source ·
pub(crate) fn conv_generics(
     genv: GlobalEnv<'_, '_>,
     generics: &Generics<'_>,
     def_id: MaybeExternId,
     is_trait: bool,
-) -> QueryResult<Generics>
\ No newline at end of file +) -> Generics
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_invariants.html b/doc/flux_fhir_analysis/conv/fn.conv_invariants.html index 471085c61d..81d1b38d59 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_invariants.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_invariants.html @@ -1,4 +1,4 @@ -conv_invariants in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_invariants

source ·
pub(crate) fn conv_invariants(
+conv_invariants in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_invariants

source ·
pub(crate) fn conv_invariants(
     genv: GlobalEnv<'_, '_>,
     def_id: MaybeExternId,
     params: &[RefineParam<'_>],
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_lit.html b/doc/flux_fhir_analysis/conv/fn.conv_lit.html
index 48896baf97..3fb6615a7a 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_lit.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_lit.html
@@ -1 +1 @@
-conv_lit in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_lit

source ·
fn conv_lit(lit: Lit) -> Constant
\ No newline at end of file +conv_lit in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_lit

source ·
fn conv_lit(lit: Lit) -> Constant
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_opaque_ty.html b/doc/flux_fhir_analysis/conv/fn.conv_opaque_ty.html deleted file mode 100644 index f1423d68e2..0000000000 --- a/doc/flux_fhir_analysis/conv/fn.conv_opaque_ty.html +++ /dev/null @@ -1,6 +0,0 @@ -conv_opaque_ty in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_opaque_ty

source ·
pub(crate) fn conv_opaque_ty(
-    genv: GlobalEnv<'_, '_>,
-    def_id: LocalDefId,
-    opaque_ty: &OpaqueTy<'_>,
-    wfckresults: &WfckResults,
-) -> QueryResult<Clauses>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.conv_poly_func_sort.html b/doc/flux_fhir_analysis/conv/fn.conv_poly_func_sort.html index 512602f546..67ec601589 100644 --- a/doc/flux_fhir_analysis/conv/fn.conv_poly_func_sort.html +++ b/doc/flux_fhir_analysis/conv/fn.conv_poly_func_sort.html @@ -1,4 +1,4 @@ -conv_poly_func_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_poly_func_sort

source ·
fn conv_poly_func_sort(
+conv_poly_func_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_poly_func_sort

source ·
fn conv_poly_func_sort(
     genv: GlobalEnv<'_, '_>,
     sort: &PolyFuncSort<'_>,
     next_infer_sort: &mut impl FnMut() -> Sort,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_qualifier.html b/doc/flux_fhir_analysis/conv/fn.conv_qualifier.html
index 555a791b00..5f64c087ea 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_qualifier.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_qualifier.html
@@ -1,4 +1,4 @@
-conv_qualifier in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_qualifier

source ·
pub(crate) fn conv_qualifier(
+conv_qualifier in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_qualifier

source ·
pub(crate) fn conv_qualifier(
     genv: GlobalEnv<'_, '_>,
     qualifier: &Qualifier<'_>,
     wfckresults: &WfckResults,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_refinement_generics.html b/doc/flux_fhir_analysis/conv/fn.conv_refinement_generics.html
index d9264151cb..8ff2c90696 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_refinement_generics.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_refinement_generics.html
@@ -1,4 +1,4 @@
-conv_refinement_generics in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_refinement_generics

source ·
pub(crate) fn conv_refinement_generics(
+conv_refinement_generics in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_refinement_generics

source ·
pub(crate) fn conv_refinement_generics(
     genv: GlobalEnv<'_, '_>,
     params: &[RefineParam<'_>],
     wfckresults: Option<&WfckResults>,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_sort.html b/doc/flux_fhir_analysis/conv/fn.conv_sort.html
index 9cec92d203..e36cdf7fc0 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_sort.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_sort.html
@@ -1,4 +1,4 @@
-conv_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_sort

source ·
pub(crate) fn conv_sort(
+conv_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_sort

source ·
pub(crate) fn conv_sort(
     genv: GlobalEnv<'_, '_>,
     sort: &Sort<'_>,
     next_infer_sort: &mut impl FnMut() -> Sort,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_sort_path.html b/doc/flux_fhir_analysis/conv/fn.conv_sort_path.html
index cee7a8e05a..7a19e9898e 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_sort_path.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_sort_path.html
@@ -1,4 +1,4 @@
-conv_sort_path in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_sort_path

source ·
fn conv_sort_path(
+conv_sort_path in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_sort_path

source ·
fn conv_sort_path(
     genv: GlobalEnv<'_, '_>,
     path: &SortPath<'_>,
     next_infer_sort: &mut impl FnMut() -> Sort,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_sorts.html b/doc/flux_fhir_analysis/conv/fn.conv_sorts.html
index 25d64e244e..9fc36a256e 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_sorts.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_sorts.html
@@ -1,4 +1,4 @@
-conv_sorts in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_sorts

source ·
fn conv_sorts(
+conv_sorts in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_sorts

source ·
fn conv_sorts(
     genv: GlobalEnv<'_, '_>,
     sorts: &[Sort<'_>],
     next_infer_sort: &mut impl FnMut() -> Sort,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_ty.html b/doc/flux_fhir_analysis/conv/fn.conv_ty.html
index 8d6b746acd..66bf322a98 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_ty.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_ty.html
@@ -1,4 +1,4 @@
-conv_ty in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_ty

source ·
pub(crate) fn conv_ty(
+conv_ty in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_ty

source ·
pub(crate) fn conv_ty(
     genv: GlobalEnv<'_, '_>,
     ty: &Ty<'_>,
     wfckresults: &WfckResults,
diff --git a/doc/flux_fhir_analysis/conv/fn.conv_un_op.html b/doc/flux_fhir_analysis/conv/fn.conv_un_op.html
index f7d796eca7..d7ec41ff23 100644
--- a/doc/flux_fhir_analysis/conv/fn.conv_un_op.html
+++ b/doc/flux_fhir_analysis/conv/fn.conv_un_op.html
@@ -1 +1 @@
-conv_un_op in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_un_op

source ·
fn conv_un_op(op: UnOp) -> UnOp
\ No newline at end of file +conv_un_op in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::conv_un_op

source ·
fn conv_un_op(op: UnOp) -> UnOp
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.def_id_to_param_const.html b/doc/flux_fhir_analysis/conv/fn.def_id_to_param_const.html index 45781e7417..f581c909ea 100644 --- a/doc/flux_fhir_analysis/conv/fn.def_id_to_param_const.html +++ b/doc/flux_fhir_analysis/conv/fn.def_id_to_param_const.html @@ -1 +1 @@ -def_id_to_param_const in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::def_id_to_param_const

source ·
fn def_id_to_param_const(genv: GlobalEnv<'_, '_>, def_id: DefId) -> ParamConst
\ No newline at end of file +def_id_to_param_const in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::def_id_to_param_const

source ·
fn def_id_to_param_const(genv: GlobalEnv<'_, '_>, def_id: DefId) -> ParamConst
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.def_id_to_param_ty.html b/doc/flux_fhir_analysis/conv/fn.def_id_to_param_ty.html index 28487e0eae..1b90d3c271 100644 --- a/doc/flux_fhir_analysis/conv/fn.def_id_to_param_ty.html +++ b/doc/flux_fhir_analysis/conv/fn.def_id_to_param_ty.html @@ -1 +1 @@ -def_id_to_param_ty in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::def_id_to_param_ty

source ·
fn def_id_to_param_ty(genv: GlobalEnv<'_, '_>, def_id: DefId) -> ParamTy
\ No newline at end of file +def_id_to_param_ty in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::def_id_to_param_ty

source ·
fn def_id_to_param_ty(genv: GlobalEnv<'_, '_>, def_id: DefId) -> ParamTy
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.expand_type_alias.html b/doc/flux_fhir_analysis/conv/fn.expand_type_alias.html deleted file mode 100644 index 33d6c6a74a..0000000000 --- a/doc/flux_fhir_analysis/conv/fn.expand_type_alias.html +++ /dev/null @@ -1,6 +0,0 @@ -expand_type_alias in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::expand_type_alias

source ·
pub(crate) fn expand_type_alias(
-    genv: GlobalEnv<'_, '_>,
-    def_id: MaybeExternId,
-    alias: &TyAlias<'_>,
-    wfckresults: &WfckResults,
-) -> QueryResult<Binder<Ty>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.resolve_param_sort.html b/doc/flux_fhir_analysis/conv/fn.resolve_param_sort.html deleted file mode 100644 index a7806d1738..0000000000 --- a/doc/flux_fhir_analysis/conv/fn.resolve_param_sort.html +++ /dev/null @@ -1,5 +0,0 @@ -resolve_param_sort in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::resolve_param_sort

source ·
pub(crate) fn resolve_param_sort(
-    genv: GlobalEnv<'_, '_>,
-    param: &RefineParam<'_>,
-    wfckresults: Option<&WfckResults>,
-) -> QueryResult<Sort>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/fn.ty_param_name.html b/doc/flux_fhir_analysis/conv/fn.ty_param_name.html index 0f719cc13c..dd21d80036 100644 --- a/doc/flux_fhir_analysis/conv/fn.ty_param_name.html +++ b/doc/flux_fhir_analysis/conv/fn.ty_param_name.html @@ -1 +1 @@ -ty_param_name in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::ty_param_name

source ·
fn ty_param_name(genv: GlobalEnv<'_, '_>, def_id: DefId) -> Symbol
\ No newline at end of file +ty_param_name in flux_fhir_analysis::conv - Rust

Function flux_fhir_analysis::conv::ty_param_name

source ·
fn ty_param_name(genv: GlobalEnv<'_, '_>, def_id: DefId) -> Symbol
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/index.html b/doc/flux_fhir_analysis/conv/index.html index 7d1a476c42..05cb123216 100644 --- a/doc/flux_fhir_analysis/conv/index.html +++ b/doc/flux_fhir_analysis/conv/index.html @@ -1,4 +1,4 @@ -flux_fhir_analysis::conv - Rust

Module flux_fhir_analysis::conv

source ·
Expand description

Conversion from types in fhir to types in rty

+flux_fhir_analysis::conv - Rust

Module flux_fhir_analysis::conv

source ·
Expand description

Conversion from types in fhir to types in rty

Conversion assumes well-formedness and will panic if type are not well-formed. Among other things, well-formedness implies:

    @@ -8,5 +8,8 @@ syntactic restrictions on predicates.
  1. Refinements are well-sorted.
-

Modules§

  • errors 🔒
  • Check whether two refinemnt types/signatures are structurally compatible.

Structs§

Enums§

  • LayerKind 🔒
    Whether the list of parameters in a layer is converted into a list of bound variables or -coalesced into a single parameter of adt sort.

Functions§

\ No newline at end of file +

Modules§

  • errors 🔒
  • Check whether two refinemnt types/signatures are structurally compatible.

Structs§

Enums§

  • LayerKind 🔒
    Whether the list of parameters in a layer is converted into a list of bound variables or +coalesced into a single parameter of adt sort.

Traits§

  • We do conversion twice: once before sort checking when we don’t have elaborated information +and then again after sort checking after all information has been elaborated. This is the +interface to configure conversion for both phases.
  • An interface to the information elaborated during sort checking. We mock these results in +the first conversion phase before sort checking.

Functions§

\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/sidebar-items.js b/doc/flux_fhir_analysis/conv/sidebar-items.js index 89f4aa1c32..dae1959e75 100644 --- a/doc/flux_fhir_analysis/conv/sidebar-items.js +++ b/doc/flux_fhir_analysis/conv/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["LayerKind","LookupResultKind"],"fn":["bug_on_infer_sort","conv_adt_sort_def","conv_assoc_reft_body","conv_assoc_reft_def","conv_default_assoc_reft_def","conv_defn","conv_fn_sig","conv_func_decl","conv_func_sort","conv_generic_param_kind","conv_generic_predicates","conv_generics","conv_invariants","conv_lit","conv_opaque_ty","conv_poly_func_sort","conv_qualifier","conv_refinement_generics","conv_sort","conv_sort_path","conv_sorts","conv_ty","conv_un_op","def_id_to_param_const","def_id_to_param_ty","expand_type_alias","resolve_param_sort","ty_param_name"],"mod":["errors","struct_compat"],"struct":["ConvCtxt","Env","Layer","LookupResult","ParamEntry"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["LayerKind","LookupResultKind"],"fn":["bug_on_infer_sort","conv_adt_sort_def","conv_defn","conv_func_decl","conv_func_sort","conv_generic_param_kind","conv_generics","conv_invariants","conv_lit","conv_poly_func_sort","conv_qualifier","conv_refinement_generics","conv_sort","conv_sort_path","conv_sorts","conv_ty","conv_un_op","def_id_to_param_const","def_id_to_param_ty","ty_param_name"],"mod":["errors","struct_compat"],"struct":["ConvCtxt","Env","Layer","LookupResult","ParamEntry"],"trait":["ConvPhase","WfckResultsProvider"]}; \ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/struct.ConvCtxt.html b/doc/flux_fhir_analysis/conv/struct.ConvCtxt.html index ee5f840fd7..bf5b942c6c 100644 --- a/doc/flux_fhir_analysis/conv/struct.ConvCtxt.html +++ b/doc/flux_fhir_analysis/conv/struct.ConvCtxt.html @@ -1,19 +1,69 @@ -ConvCtxt in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::ConvCtxt

source ·
pub struct ConvCtxt<'a, 'genv, 'tcx> {
+ConvCtxt in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::ConvCtxt

source ·
pub struct ConvCtxt<'genv, 'tcx, P> {
     genv: GlobalEnv<'genv, 'tcx>,
-    wfckresults: &'a WfckResults,
+    phase: P,
     next_type_index: u32,
     next_region_index: u32,
     next_const_index: u32,
-}

Fields§

§genv: GlobalEnv<'genv, 'tcx>§wfckresults: &'a WfckResults§next_type_index: u32§next_region_index: u32§next_const_index: u32

Implementations§

source§

impl<'a, 'genv, 'tcx> ConvCtxt<'a, 'genv, 'tcx>

source

pub(crate) fn new( - genv: GlobalEnv<'genv, 'tcx>, - wfckresults: &'a WfckResults, -) -> Self

source

fn conv_generic_bounds( +}

Fields§

§genv: GlobalEnv<'genv, 'tcx>§phase: P§next_type_index: u32§next_region_index: u32§next_const_index: u32

Implementations§

source§

impl<'genv, 'tcx, P: ConvPhase> ConvCtxt<'genv, 'tcx, P>

Conversion of definitions

+
source

pub(crate) fn new(genv: GlobalEnv<'genv, 'tcx>, mode: P) -> Self

source

fn owner(&self) -> FluxOwnerId

source

fn results(&self) -> &P::Results

source

pub(crate) fn conv_enum_variants( + &mut self, + enum_id: MaybeExternId, + enum_def: &EnumDef<'_>, +) -> QueryResult<Vec<PolyVariant>>

source

fn conv_enum_variant( + &mut self, + enum_id: MaybeExternId, + variant: &VariantDef<'_>, +) -> QueryResult<PolyVariant>

source

pub(crate) fn conv_struct_variant( + &mut self, + struct_id: MaybeExternId, + struct_def: &StructDef<'_>, +) -> QueryResult<Opaqueness<PolyVariant>>

source

pub(crate) fn conv_type_alias( + &mut self, + ty_alias_id: MaybeExternId, + ty_alias: &TyAlias<'_>, +) -> QueryResult<TyCtor>

source

pub(crate) fn conv_fn_sig( + &mut self, + fn_id: MaybeExternId, + fn_sig: &FnSig<'_>, +) -> QueryResult<PolyFnSig>

source

pub(crate) fn conv_generic_predicates( + &mut self, + def_id: MaybeExternId, + generics: &Generics<'_>, +) -> QueryResult<EarlyBinder<GenericPredicates>>

source

pub(crate) fn conv_opaque_ty( + &mut self, + def_id: LocalDefId, + opaque_ty: &OpaqueTy<'_>, +) -> QueryResult<Clauses>

source

pub(crate) fn conv_assoc_reft_body( + &mut self, + params: &[RefineParam<'_>], + body: &Expr<'_>, + output: &Sort<'_>, +) -> QueryResult<Lambda>

source§

impl<'genv, 'tcx, P: ConvPhase> ConvCtxt<'genv, 'tcx, P>

Conversion of types

+
source

fn conv_fn_decl( + &mut self, + env: &mut Env, + safety: Safety, + abi: Abi, + decl: &FnDecl<'_>, +) -> QueryResult<FnSig>

source

fn conv_requires( + &mut self, + env: &mut Env, + requires: &Requires<'_>, +) -> QueryResult<Expr>

source

fn conv_ensures( + &mut self, + env: &mut Env, + ensures: &Ensures<'_>, +) -> QueryResult<Ensures>

source

fn conv_fn_output( + &mut self, + env: &mut Env, + output: &FnOutput<'_>, +) -> QueryResult<Binder<FnOutput>>

source

fn conv_generic_bounds( &mut self, env: &mut Env, bounded_ty_span: Span, bounded_ty: Ty, bounds: GenericBounds<'_>, -) -> QueryResult<Vec<Clause>>

source

fn conv_poly_trait_ref( +) -> QueryResult<Vec<Clause>>

source

fn conv_poly_trait_ref( &mut self, env: &mut Env, span: Span, @@ -21,144 +71,115 @@ poly_trait_ref: &PolyTraitRef<'_>, clauses: &mut Vec<Clause>, ) -> QueryResult

Converts a T: Trait<T0, ..., A0 = S0, ...> bound

-
source

fn conv_assoc_item_constraint( +

source

fn conv_assoc_item_constraint( &mut self, env: &mut Env, poly_trait_ref: &PolyTraitRef, constraint: &AssocItemConstraint<'_>, clauses: &mut Vec<Clause>, -) -> QueryResult

source

fn conv_fn_bound( +) -> QueryResult

source

fn conv_fn_bound( &mut self, env: &mut Env, self_ty: &Ty, trait_ref: &PolyTraitRef<'_>, kind: ClosureKind, clauses: &mut Vec<Clause>, -) -> QueryResult

source

fn trait_defines_associated_item_named( +) -> QueryResult

source

fn trait_defines_associated_item_named( &self, trait_def_id: DefId, assoc_kind: AssocKind, assoc_name: Ident, -) -> Option<&AssocItem>

source

fn conv_fn_output( - &mut self, - env: &mut Env, - output: &FnOutput<'_>, -) -> QueryResult<Binder<FnOutput>>

source

pub(crate) fn conv_enum_variants( - genv: GlobalEnv<'_, '_>, - adt_def_id: MaybeExternId, - enum_def: &EnumDef<'_>, - wfckresults: &WfckResults, -) -> QueryResult<Vec<PolyVariant>>

source

fn conv_enum_variant( - genv: GlobalEnv<'_, '_>, - adt_def_id: MaybeExternId, - variant: &VariantDef<'_>, - wfckresults: &WfckResults, -) -> QueryResult<PolyVariant>

source

pub(crate) fn conv_struct_variant( - genv: GlobalEnv<'_, '_>, - adt_def_id: MaybeExternId, - struct_def: &StructDef<'_>, - wfckresults: &WfckResults, -) -> QueryResult<Opaqueness<Vec<PolyVariant>>>

source

fn conv_fn_decl( - &mut self, - env: &mut Env, - safety: Safety, - abi: Abi, - decl: &FnDecl<'_>, -) -> QueryResult<FnSig>

source

fn conv_requires( - &mut self, - env: &mut Env, - requires: &Requires<'_>, -) -> QueryResult<Expr>

source

fn conv_ensures( - &mut self, - env: &mut Env, - ensures: &Ensures<'_>, -) -> QueryResult<Ensures>

source

fn conv_alias_reft( - &mut self, - env: &mut Env, - alias: &AliasReft<'_>, -) -> QueryResult<AliasReft>

source

fn conv_ty(&mut self, env: &mut Env, ty: &Ty<'_>) -> QueryResult<Ty>

source

fn conv_opaque_ty( +) -> Option<&AssocItem>

source

fn conv_ty(&mut self, env: &mut Env, ty: &Ty<'_>) -> QueryResult<Ty>

source

fn conv_opaque_def( &mut self, env: &mut Env, item_id: ItemId, lifetimes: &[GenericArg<'_>], reft_args: &[RefineArg<'_>], ) -> QueryResult<Ty>

source

fn conv_trait_object( +

source

fn conv_trait_object( &mut self, env: &mut Env, trait_bounds: &[PolyTraitRef<'_>], lifetime: Lifetime, -) -> QueryResult<Ty>

source

fn conv_base_ty(&mut self, env: &mut Env, bty: &BaseTy<'_>) -> QueryResult<Ty>

source

fn conv_assoc_path( +) -> QueryResult<Ty>

source

pub(crate) fn conv_bty( + &mut self, + env: &mut Env, + bty: &BaseTy<'_>, +) -> QueryResult<Ty>

source

fn conv_assoc_path( &mut self, env: &mut Env, qself: &Ty<'_>, assoc_segment: &PathSegment<'_>, -) -> QueryResult<Ty>

source

fn generics_of_owner(&self) -> QueryResult<Generics>

Return the generics of the containing owner item

-
source

fn probe_type_param_bounds( +) -> QueryResult<Ty>

source

fn generics_of_owner(&self) -> QueryResult<Generics>

Return the generics of the containing owner item

+
source

fn probe_type_param_bounds( &self, param_id: DefId, assoc_ident: Ident, -) -> GenericPredicates<'tcx>

source

fn probe_single_bound_for_assoc_item<I>( +) -> GenericPredicates<'tcx>

source

fn probe_single_bound_for_assoc_item<I>( &self, all_candidates: impl Fn() -> I, assoc_ident: Ident, ) -> Result<PolyTraitRef<'tcx>, ErrorGuaranteed>
where - I: Iterator<Item = PolyTraitRef<'tcx>>,

source

fn conv_lifetime(&mut self, env: &Env, lft: Lifetime) -> Region

source

fn conv_const_arg(&mut self, cst: ConstArg) -> Const

source

fn conv_ty_ctor( - &mut self, - env: &mut Env, - path: &Path<'_>, -) -> QueryResult<TyCtor>

source

fn param_as_bound_var( + I: Iterator<Item = PolyTraitRef<'tcx>>,

source

fn conv_lifetime(&mut self, env: &Env, lft: Lifetime) -> Region

source

fn conv_const_arg(&mut self, cst: ConstArg) -> Const

source

fn conv_path(&mut self, env: &mut Env, path: &Path<'_>) -> QueryResult<TyCtor>

source

fn param_as_bound_var( &mut self, param: &GenericParam<'_>, -) -> QueryResult<BoundVariableKind>

source

fn conv_generic_args( +) -> QueryResult<BoundVariableKind>

source

fn conv_generic_args( &mut self, env: &mut Env, def_id: DefId, segment: &PathSegment<'_>, -) -> QueryResult<Vec<GenericArg>>

source

fn conv_generic_args_into( +) -> QueryResult<Vec<GenericArg>>

source

fn conv_generic_args_into( &mut self, env: &mut Env, def_id: DefId, segment: &PathSegment<'_>, into: &mut Vec<GenericArg>, -) -> QueryResult

source

fn check_generic_arg_count( +) -> QueryResult

source

fn check_generic_arg_count( &mut self, generics: &Generics, def_id: DefId, segment: &PathSegment<'_>, -) -> QueryResult

source

fn fill_generic_args_defaults( +) -> QueryResult

source

fn fill_generic_args_defaults( &self, def_id: DefId, into: &mut Vec<GenericArg>, -) -> QueryResult

source

fn conv_ty_to_generic_arg( +) -> QueryResult

source

fn conv_ty_to_generic_arg( &mut self, env: &mut Env, param: &GenericParamDef, ty: &Ty<'_>, -) -> QueryResult<GenericArg>

source

fn ty_to_generic_arg( +) -> QueryResult<GenericArg>

source

fn ty_to_generic_arg( &self, kind: GenericParamDefKind, span: Span, ty: &Ty, -) -> QueryResult<GenericArg>

source

fn ty_to_base_generic(&self, span: Span, ty: &Ty) -> QueryResult<GenericArg>

Convert an rty::Ty into a rty::GenericArg::Base if possible or raise an error +) -> QueryResult<GenericArg>

source

fn ty_to_base_generic(&self, span: Span, ty: &Ty) -> QueryResult<GenericArg>

Convert an rty::Ty into a rty::GenericArg::Base if possible or raise an error if the type cannot be converted into a rty::SubsetTy.

-
source

fn resolve_param_sort(&self, param: &RefineParam<'_>) -> QueryResult<Sort>

source

fn next_type_vid(&mut self) -> TyVid

source

fn next_region_vid(&mut self) -> RegionVid

source

fn next_const_vid(&mut self) -> ConstVid

source

fn emit<'b>(&'b self, err: impl Diagnostic<'b>) -> ErrorGuaranteed

source§

impl ConvCtxt<'_, '_, '_>

source

fn next_type_vid(&mut self) -> TyVid

source

fn next_region_vid(&mut self) -> RegionVid

source

fn next_const_vid(&mut self) -> ConstVid

source

fn emit<'b>(&'b self, err: impl Diagnostic<'b>) -> ErrorGuaranteed

source§

impl<'genv, 'tcx, P: ConvPhase> ConvCtxt<'genv, 'tcx, P>

Conversion of expressions

+
source

fn conv_expr(&mut self, env: &mut Env, expr: &Expr<'_>) -> QueryResult<Expr>

source

fn conv_refine_arg( &mut self, env: &mut Env, arg: &RefineArg<'_>, -) -> QueryResult<Expr>

source

fn conv_expr(&mut self, env: &mut Env, expr: &Expr<'_>) -> QueryResult<Expr>

source

fn conv_bin_op(&self, op: BinOp, fhir_id: FhirId) -> BinOp

source

fn bin_rel_sort(&self, fhir_id: FhirId) -> Sort

source

fn conv_func(&self, env: &Env, func: &PathExpr<'_>) -> Expr

source

fn conv_exprs( +) -> QueryResult<Expr>

source

fn conv_exprs( &mut self, env: &mut Env, exprs: &[Expr<'_>], -) -> QueryResult<List<Expr>>

source

fn conv_invariants( +) -> QueryResult<List<Expr>>

source

fn conv_bin_op(&self, op: BinOp, fhir_id: FhirId) -> BinOp

source

fn add_coercions(&self, expr: Expr, fhir_id: FhirId) -> Expr

source

fn conv_func(&self, env: &Env, func: &PathExpr<'_>) -> Expr

source

fn conv_alias_reft( + &mut self, + env: &mut Env, + fhir_id: FhirId, + alias: &AliasReft<'_>, +) -> QueryResult<AliasReft>

source

fn conv_invariants( &mut self, env: &mut Env, invariants: &[Expr<'_>], -) -> QueryResult<Vec<Invariant>>

source

fn conv_invariant( +) -> QueryResult<Vec<Invariant>>

source

fn conv_invariant( &mut self, env: &mut Env, invariant: &Expr<'_>, -) -> QueryResult<Invariant>

source

fn add_coercions(&self, expr: Expr, fhir_id: FhirId) -> Expr

Auto Trait Implementations§

§

impl<'a, 'genv, 'tcx> Freeze for ConvCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !RefUnwindSafe for ConvCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !Send for ConvCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !Sync for ConvCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> Unpin for ConvCtxt<'a, 'genv, 'tcx>

§

impl<'a, 'genv, 'tcx> !UnwindSafe for ConvCtxt<'a, 'genv, 'tcx>

Blanket Implementations§

source§

impl<T> Any for T
where +) -> QueryResult<Invariant>

Auto Trait Implementations§

§

impl<'genv, 'tcx, P> Freeze for ConvCtxt<'genv, 'tcx, P>
where + P: Freeze,

§

impl<'genv, 'tcx, P> !RefUnwindSafe for ConvCtxt<'genv, 'tcx, P>

§

impl<'genv, 'tcx, P> !Send for ConvCtxt<'genv, 'tcx, P>

§

impl<'genv, 'tcx, P> !Sync for ConvCtxt<'genv, 'tcx, P>

§

impl<'genv, 'tcx, P> Unpin for ConvCtxt<'genv, 'tcx, P>
where + P: Unpin,

§

impl<'genv, 'tcx, P> !UnwindSafe for ConvCtxt<'genv, 'tcx, P>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct.Env.html b/doc/flux_fhir_analysis/conv/struct.Env.html index 94a8d79a6a..0cd7ffffe5 100644 --- a/doc/flux_fhir_analysis/conv/struct.Env.html +++ b/doc/flux_fhir_analysis/conv/struct.Env.html @@ -1,7 +1,7 @@ -Env in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::Env

source ·
pub(crate) struct Env {
+Env in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::Env

source ·
pub(crate) struct Env {
     layers: Vec<Layer>,
-    early_param: FxIndexMap<ParamId, Symbol>,
-}

Fields§

§layers: Vec<Layer>§early_param: FxIndexMap<ParamId, Symbol>

Implementations§

source§

impl Env

source

fn new(early_bound: &[RefineParam<'_>]) -> Self

source

fn empty() -> Self

source

fn depth(&self) -> usize

source

fn push_layer(&mut self, layer: Layer)

source

fn pop_layer(&mut self) -> Layer

source

fn top_layer(&self) -> &Layer

source

fn lookup(&self, var: &PathExpr<'_>) -> LookupResult<'_>

source

fn to_early_param_args(&self) -> List<Expr>

Auto Trait Implementations§

§

impl Freeze for Env

§

impl RefUnwindSafe for Env

§

impl Send for Env

§

impl Sync for Env

§

impl Unpin for Env

§

impl UnwindSafe for Env

Blanket Implementations§

source§

impl<T> Any for T
where + early_params: FxIndexMap<ParamId, Symbol>, +}

Fields§

§layers: Vec<Layer>§early_params: FxIndexMap<ParamId, Symbol>

Implementations§

source§

impl Env

source

fn new(early_params: &[RefineParam<'_>]) -> Self

source

pub(crate) fn empty() -> Self

source

fn depth(&self) -> usize

source

fn push_layer(&mut self, layer: Layer)

source

fn pop_layer(&mut self) -> Layer

source

fn top_layer(&self) -> &Layer

source

fn lookup(&self, var: &PathExpr<'_>) -> LookupResult<'_>

source

fn to_early_param_args(&self) -> List<Expr>

Auto Trait Implementations§

§

impl Freeze for Env

§

impl RefUnwindSafe for Env

§

impl Send for Env

§

impl Sync for Env

§

impl Unpin for Env

§

impl UnwindSafe for Env

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct.Layer.html b/doc/flux_fhir_analysis/conv/struct.Layer.html index c5146d914e..8c6eb41d73 100644 --- a/doc/flux_fhir_analysis/conv/struct.Layer.html +++ b/doc/flux_fhir_analysis/conv/struct.Layer.html @@ -1,25 +1,25 @@ -Layer in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::Layer

source ·
struct Layer {
+Layer in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::Layer

source ·
struct Layer {
     map: FxIndexMap<ParamId, ParamEntry>,
     kind: LayerKind,
-}

Fields§

§map: FxIndexMap<ParamId, ParamEntry>§kind: LayerKind

Implementations§

source§

impl Layer

source

fn new( - cx: &ConvCtxt<'_, '_, '_>, +}

Fields§

§map: FxIndexMap<ParamId, ParamEntry>§kind: LayerKind

Implementations§

source§

impl Layer

source

fn new<R: WfckResultsProvider>( + results: &R, params: &[RefineParam<'_>], kind: LayerKind, -) -> QueryResult<Self>

source

fn list( - cx: &ConvCtxt<'_, '_, '_>, +) -> Self

source

fn list<R: WfckResultsProvider>( + results: &R, bound_regions: u32, params: &[RefineParam<'_>], -) -> QueryResult<Self>

source

fn coalesce( - cx: &ConvCtxt<'_, '_, '_>, +) -> Self

source

fn coalesce<R: WfckResultsProvider>( + results: &R, def_id: DefId, params: &[RefineParam<'_>], -) -> QueryResult<Self>

source

fn get(&self, name: impl Borrow<ParamId>) -> Option<(usize, &ParamEntry)>

source

fn into_bound_vars( +) -> Self

source

fn get(&self, name: impl Borrow<ParamId>) -> Option<(usize, &ParamEntry)>

source

fn into_bound_vars( self, genv: GlobalEnv<'_, '_>, -) -> QueryResult<List<BoundVariableKind>>

source

fn to_bound_vars( +) -> QueryResult<List<BoundVariableKind>>

source

fn to_bound_vars( &self, genv: GlobalEnv<'_, '_>, -) -> QueryResult<List<BoundVariableKind>>

source

fn into_iter(self) -> impl Iterator<Item = ParamEntry>

Trait Implementations§

source§

impl Clone for Layer

source§

fn clone(&self) -> Layer

Returns a 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 Layer

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Layer

§

impl RefUnwindSafe for Layer

§

impl Send for Layer

§

impl Sync for Layer

§

impl Unpin for Layer

§

impl UnwindSafe for Layer

Blanket Implementations§

source§

impl<T> Any for T

source

fn into_iter(self) -> impl Iterator<Item = ParamEntry>

Trait Implementations§

source§

impl Clone for Layer

source§

fn clone(&self) -> Layer

Returns a 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 Layer

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Layer

§

impl RefUnwindSafe for Layer

§

impl Send for Layer

§

impl Sync for Layer

§

impl Unpin for Layer

§

impl UnwindSafe for Layer

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_fhir_analysis/conv/struct.LookupResult.html b/doc/flux_fhir_analysis/conv/struct.LookupResult.html index 4929b8871d..03790cca9a 100644 --- a/doc/flux_fhir_analysis/conv/struct.LookupResult.html +++ b/doc/flux_fhir_analysis/conv/struct.LookupResult.html @@ -1,8 +1,8 @@ -LookupResult in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::LookupResult

source ·
struct LookupResult<'a> {
+LookupResult in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::LookupResult

source ·
struct LookupResult<'a> {
     kind: LookupResultKind<'a>,
     var_span: Span,
 }

Fields§

§kind: LookupResultKind<'a>§var_span: Span

The span of the variable that originated the lookup.

-

Implementations§

source§

impl LookupResult<'_>

source

fn to_expr(&self) -> Expr

source

fn to_path(&self) -> Path

Trait Implementations§

source§

impl<'a> Debug for LookupResult<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for LookupResult<'a>

§

impl<'a> RefUnwindSafe for LookupResult<'a>

§

impl<'a> Send for LookupResult<'a>

§

impl<'a> Sync for LookupResult<'a>

§

impl<'a> Unpin for LookupResult<'a>

§

impl<'a> UnwindSafe for LookupResult<'a>

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

source§

impl LookupResult<'_>

source

fn to_expr(&self) -> Expr

source

fn to_path(&self) -> Path

Trait Implementations§

source§

impl<'a> Debug for LookupResult<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for LookupResult<'a>

§

impl<'a> RefUnwindSafe for LookupResult<'a>

§

impl<'a> Send for LookupResult<'a>

§

impl<'a> Sync for LookupResult<'a>

§

impl<'a> Unpin for LookupResult<'a>

§

impl<'a> UnwindSafe for LookupResult<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct.ParamEntry.html b/doc/flux_fhir_analysis/conv/struct.ParamEntry.html index a06b143dff..7c8ad999b4 100644 --- a/doc/flux_fhir_analysis/conv/struct.ParamEntry.html +++ b/doc/flux_fhir_analysis/conv/struct.ParamEntry.html @@ -1,8 +1,8 @@ -ParamEntry in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::ParamEntry

source ·
struct ParamEntry {
+ParamEntry in flux_fhir_analysis::conv - Rust

Struct flux_fhir_analysis::conv::ParamEntry

source ·
struct ParamEntry {
     name: Symbol,
     sort: Sort,
     mode: InferMode,
-}

Fields§

§name: Symbol§sort: Sort§mode: InferMode

Implementations§

source§

impl ParamEntry

source

fn new(sort: Sort, mode: InferMode, name: Symbol) -> Self

Trait Implementations§

source§

impl Clone for ParamEntry

source§

fn clone(&self) -> ParamEntry

Returns a 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 ParamEntry

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§name: Symbol§sort: Sort§mode: InferMode

Implementations§

source§

impl ParamEntry

source

fn new(sort: Sort, mode: InferMode, name: Symbol) -> Self

Trait Implementations§

source§

impl Clone for ParamEntry

source§

fn clone(&self) -> ParamEntry

Returns a 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 ParamEntry

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_fhir_analysis/conv/struct_compat/enum.FnSigErr.html b/doc/flux_fhir_analysis/conv/struct_compat/enum.FnSigErr.html index 7b9f58d387..c6036cdcce 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/enum.FnSigErr.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/enum.FnSigErr.html @@ -1,4 +1,4 @@ -FnSigErr in flux_fhir_analysis::conv::struct_compat - Rust

Enum flux_fhir_analysis::conv::struct_compat::FnSigErr

source ·
enum FnSigErr {
+FnSigErr in flux_fhir_analysis::conv::struct_compat - Rust

Enum flux_fhir_analysis::conv::struct_compat::FnSigErr

source ·
enum FnSigErr {
     ArgCountMismatch,
     FnInput(usize),
     FnOutput(Mismatch),
diff --git a/doc/flux_fhir_analysis/conv/struct_compat/errors/index.html b/doc/flux_fhir_analysis/conv/struct_compat/errors/index.html
index 90b0df93f6..c6aad60e7e 100644
--- a/doc/flux_fhir_analysis/conv/struct_compat/errors/index.html
+++ b/doc/flux_fhir_analysis/conv/struct_compat/errors/index.html
@@ -1 +1 @@
-flux_fhir_analysis::conv::struct_compat::errors - Rust
\ No newline at end of file +flux_fhir_analysis::conv::struct_compat::errors - Rust
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.FieldCountMismatch.html b/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.FieldCountMismatch.html index d7b01b10c3..64a48bf7ff 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.FieldCountMismatch.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.FieldCountMismatch.html @@ -1,15 +1,15 @@ -FieldCountMismatch in flux_fhir_analysis::conv::struct_compat::errors - Rust
pub(super) struct FieldCountMismatch {
+FieldCountMismatch in flux_fhir_analysis::conv::struct_compat::errors - Rust
pub(super) struct FieldCountMismatch {
     span: Span,
     fields: usize,
     expected_span: Span,
     expected_fields: usize,
-}

Fields§

§span: Span§fields: usize§expected_span: Span§expected_fields: usize

Implementations§

Fields§

§span: Span§fields: usize§expected_span: Span§expected_fields: usize

Implementations§

source§

impl FieldCountMismatch

source

pub(super) fn new( genv: GlobalEnv<'_, '_>, found: usize, adt_def_id: MaybeExternId, variant_idx: VariantIdx, -) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for FieldCountMismatch
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for FieldCountMismatch
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleParamCount.html b/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleParamCount.html index d99a2d6250..33086e6c09 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleParamCount.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleParamCount.html @@ -1,15 +1,15 @@ -IncompatibleParamCount in flux_fhir_analysis::conv::struct_compat::errors - Rust
pub(super) struct IncompatibleParamCount {
+IncompatibleParamCount in flux_fhir_analysis::conv::struct_compat::errors - Rust
pub(super) struct IncompatibleParamCount {
     span: Span,
     found: usize,
     expected_span: Span,
     expected: usize,
     def_descr: &'static str,
-}

Fields§

§span: Span§found: usize§expected_span: Span§expected: usize§def_descr: &'static str

Implementations§

Fields§

§span: Span§found: usize§expected_span: Span§expected: usize§def_descr: &'static str

Implementations§

source§

impl IncompatibleParamCount

source

pub(super) fn new( genv: GlobalEnv<'_, '_>, decl: &FnDecl<'_>, def_id: MaybeExternId, -) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for IncompatibleParamCount
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for IncompatibleParamCount
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleRefinement.html b/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleRefinement.html index b489ebd027..7b7321709e 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleRefinement.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/errors/struct.IncompatibleRefinement.html @@ -1,34 +1,34 @@ -IncompatibleRefinement in flux_fhir_analysis::conv::struct_compat::errors - Rust
pub(super) struct IncompatibleRefinement<'tcx> {
+IncompatibleRefinement in flux_fhir_analysis::conv::struct_compat::errors - Rust
pub(super) struct IncompatibleRefinement<'tcx> {
     span: Span,
     expected_span: Option<Span>,
     expected_ty: Ty<'tcx>,
     def_descr: &'static str,
-}

Fields§

§span: Span§expected_span: Option<Span>§expected_ty: Ty<'tcx>§def_descr: &'static str

Implementations§

source§

impl<'tcx> IncompatibleRefinement<'tcx>

source

pub(super) fn type_alias( +}

Fields§

§span: Span§expected_span: Option<Span>§expected_ty: Ty<'tcx>§def_descr: &'static str

Implementations§

source§

impl<'tcx> IncompatibleRefinement<'tcx>

source

pub(super) fn type_alias( genv: GlobalEnv<'_, 'tcx>, def_id: MaybeExternId, type_alias: &TyAlias<'_>, -) -> Self

source

pub(super) fn fn_input( +) -> Self

source

pub(super) fn fn_input( genv: GlobalEnv<'_, 'tcx>, fn_id: MaybeExternId, decl: &FnDecl<'_>, pos: usize, -) -> Self

source

pub(super) fn fn_output( +) -> Self

source

pub(super) fn fn_output( genv: GlobalEnv<'_, 'tcx>, fn_id: MaybeExternId, decl: &FnDecl<'_>, -) -> Self

source

pub(super) fn ensures( +) -> Self

source

pub(super) fn ensures( genv: GlobalEnv<'_, 'tcx>, fn_id: MaybeExternId, decl: &FnDecl<'_>, expected: &Ty, i: usize, -) -> Self

source

pub(super) fn field( +) -> Self

source

pub(super) fn field( genv: GlobalEnv<'_, 'tcx>, adt_id: MaybeExternId, variant_idx: VariantIdx, field_idx: FieldIdx, -) -> Self

Trait Implementations§

source§

impl<'_sess, 'tcx, G> Diagnostic<'_sess, G> for IncompatibleRefinement<'tcx>
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

§

impl<'tcx> Freeze for IncompatibleRefinement<'tcx>

§

impl<'tcx> !RefUnwindSafe for IncompatibleRefinement<'tcx>

§

impl<'tcx> Send for IncompatibleRefinement<'tcx>

§

impl<'tcx> Sync for IncompatibleRefinement<'tcx>

§

impl<'tcx> Unpin for IncompatibleRefinement<'tcx>

§

impl<'tcx> !UnwindSafe for IncompatibleRefinement<'tcx>

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

Trait Implementations§

source§

impl<'_sess, 'tcx, G> Diagnostic<'_sess, G> for IncompatibleRefinement<'tcx>
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

§

impl<'tcx> Freeze for IncompatibleRefinement<'tcx>

§

impl<'tcx> !RefUnwindSafe for IncompatibleRefinement<'tcx>

§

impl<'tcx> Send for IncompatibleRefinement<'tcx>

§

impl<'tcx> Sync for IncompatibleRefinement<'tcx>

§

impl<'tcx> Unpin for IncompatibleRefinement<'tcx>

§

impl<'tcx> !UnwindSafe for IncompatibleRefinement<'tcx>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct_compat/fn.assert_eq_or_incompatible.html b/doc/flux_fhir_analysis/conv/struct_compat/fn.assert_eq_or_incompatible.html index aa1a3d126d..2e8a4e3401 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/fn.assert_eq_or_incompatible.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/fn.assert_eq_or_incompatible.html @@ -1 +1 @@ -assert_eq_or_incompatible in flux_fhir_analysis::conv::struct_compat - Rust
fn assert_eq_or_incompatible<T: Eq + Debug>(a: T, b: T) -> Result<(), Mismatch>
\ No newline at end of file +assert_eq_or_incompatible in flux_fhir_analysis::conv::struct_compat - Rust
fn assert_eq_or_incompatible<T: Eq + Debug>(a: T, b: T) -> Result<(), Mismatch>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/struct_compat/fn.fn_sig.html b/doc/flux_fhir_analysis/conv/struct_compat/fn.fn_sig.html index 56799477eb..ffb4769215 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/fn.fn_sig.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/fn.fn_sig.html @@ -1,4 +1,4 @@ -fn_sig in flux_fhir_analysis::conv::struct_compat - Rust

Function flux_fhir_analysis::conv::struct_compat::fn_sig

source ·
pub(crate) fn fn_sig(
+fn_sig in flux_fhir_analysis::conv::struct_compat - Rust

Function flux_fhir_analysis::conv::struct_compat::fn_sig

source ·
pub(crate) fn fn_sig(
     genv: GlobalEnv<'_, '_>,
     decl: &FnDecl<'_>,
     fn_sig: &PolyFnSig,
diff --git a/doc/flux_fhir_analysis/conv/struct_compat/fn.type_alias.html b/doc/flux_fhir_analysis/conv/struct_compat/fn.type_alias.html
index c00b58e075..c29d53e382 100644
--- a/doc/flux_fhir_analysis/conv/struct_compat/fn.type_alias.html
+++ b/doc/flux_fhir_analysis/conv/struct_compat/fn.type_alias.html
@@ -1,6 +1,6 @@
-type_alias in flux_fhir_analysis::conv::struct_compat - Rust

Function flux_fhir_analysis::conv::struct_compat::type_alias

source ·
pub(crate) fn type_alias(
+type_alias in flux_fhir_analysis::conv::struct_compat - Rust

Function flux_fhir_analysis::conv::struct_compat::type_alias

source ·
pub(crate) fn type_alias(
     genv: GlobalEnv<'_, '_>,
     alias: &TyAlias<'_>,
-    ty: &Ty,
+    alias_ty: &TyCtor,
     def_id: MaybeExternId,
-) -> QueryResult<Ty>
\ No newline at end of file +) -> QueryResult<TyCtor>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/struct_compat/fn.variants.html b/doc/flux_fhir_analysis/conv/struct_compat/fn.variants.html index 21fce71122..b22aae3b68 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/fn.variants.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/fn.variants.html @@ -1,4 +1,4 @@ -variants in flux_fhir_analysis::conv::struct_compat - Rust

Function flux_fhir_analysis::conv::struct_compat::variants

source ·
pub(crate) fn variants(
+variants in flux_fhir_analysis::conv::struct_compat - Rust

Function flux_fhir_analysis::conv::struct_compat::variants

source ·
pub(crate) fn variants(
     genv: GlobalEnv<'_, '_>,
     variants: &[PolyVariant],
     adt_def_id: MaybeExternId,
diff --git a/doc/flux_fhir_analysis/conv/struct_compat/index.html b/doc/flux_fhir_analysis/conv/struct_compat/index.html
index 67639c8e52..8c2dc92572 100644
--- a/doc/flux_fhir_analysis/conv/struct_compat/index.html
+++ b/doc/flux_fhir_analysis/conv/struct_compat/index.html
@@ -1,4 +1,4 @@
-flux_fhir_analysis::conv::struct_compat - Rust

Module flux_fhir_analysis::conv::struct_compat

source ·
Expand description

Check whether two refinemnt types/signatures are structurally compatible.

+flux_fhir_analysis::conv::struct_compat - Rust

Module flux_fhir_analysis::conv::struct_compat

source ·
Expand description

Check whether two refinemnt types/signatures are structurally compatible.

Used to check if a user spec is compatible with the underlying rust type. The code also infer types annotated with _ in the surface syntax.

Modules§

Structs§

Enums§

Functions§

\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/struct_compat/struct.Holes.html b/doc/flux_fhir_analysis/conv/struct_compat/struct.Holes.html index 7b2ef57076..0853ed576d 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/struct.Holes.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/struct.Holes.html @@ -1,8 +1,8 @@ -Holes in flux_fhir_analysis::conv::struct_compat - Rust

Struct flux_fhir_analysis::conv::struct_compat::Holes

source ·
struct Holes {
+Holes in flux_fhir_analysis::conv::struct_compat - Rust

Struct flux_fhir_analysis::conv::struct_compat::Holes

source ·
struct Holes {
     types: UnordMap<TyVid, Ty>,
     regions: UnordMap<RegionVid, Region>,
     consts: UnordMap<ConstVid, Const>,
-}

Fields§

§types: UnordMap<TyVid, Ty>§regions: UnordMap<RegionVid, Region>§consts: UnordMap<ConstVid, Const>

Implementations§

Trait Implementations§

source§

impl Default for Holes

source§

fn default() -> Holes

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

Auto Trait Implementations§

§

impl Freeze for Holes

§

impl RefUnwindSafe for Holes

§

impl Send for Holes

§

impl Sync for Holes

§

impl Unpin for Holes

§

impl UnwindSafe for Holes

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§types: UnordMap<TyVid, Ty>§regions: UnordMap<RegionVid, Region>§consts: UnordMap<ConstVid, Const>

Implementations§

Trait Implementations§

source§

impl Default for Holes

source§

fn default() -> Holes

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

Auto Trait Implementations§

§

impl Freeze for Holes

§

impl RefUnwindSafe for Holes

§

impl Send for Holes

§

impl Sync for Holes

§

impl Unpin for Holes

§

impl UnwindSafe for Holes

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct_compat/struct.Mismatch.html b/doc/flux_fhir_analysis/conv/struct_compat/struct.Mismatch.html index e129793577..46c9082bc9 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/struct.Mismatch.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/struct.Mismatch.html @@ -1,4 +1,4 @@ -Mismatch in flux_fhir_analysis::conv::struct_compat - Rust

Struct flux_fhir_analysis::conv::struct_compat::Mismatch

source ·
struct Mismatch(String);

Tuple Fields§

§0: String

Implementations§

source§

impl Mismatch

source

fn new<T: Debug>(a: T, b: T) -> Self

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +Mismatch in flux_fhir_analysis::conv::struct_compat - Rust

Struct flux_fhir_analysis::conv::struct_compat::Mismatch

source ·
struct Mismatch(String);

Tuple Fields§

§0: String

Implementations§

source§

impl Mismatch

source

fn new<T: Debug>(a: T, b: T) -> Self

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/struct_compat/struct.Zipper.html b/doc/flux_fhir_analysis/conv/struct_compat/struct.Zipper.html index 8f45166901..6499236bec 100644 --- a/doc/flux_fhir_analysis/conv/struct_compat/struct.Zipper.html +++ b/doc/flux_fhir_analysis/conv/struct_compat/struct.Zipper.html @@ -1,4 +1,4 @@ -Zipper in flux_fhir_analysis::conv::struct_compat - Rust

Struct flux_fhir_analysis::conv::struct_compat::Zipper

source ·
struct Zipper<'genv, 'tcx> {
+Zipper in flux_fhir_analysis::conv::struct_compat - Rust

Struct flux_fhir_analysis::conv::struct_compat::Zipper

source ·
struct Zipper<'genv, 'tcx> {
     genv: GlobalEnv<'genv, 'tcx>,
     owner_id: MaybeExternId,
     locs: UnordMap<Loc, Ty>,
@@ -6,37 +6,37 @@
     a_index: DebruijnIndex,
     b_index: DebruijnIndex,
     errors: Errors<'genv>,
-}

Fields§

§genv: GlobalEnv<'genv, 'tcx>§owner_id: MaybeExternId§locs: UnordMap<Loc, Ty>§holes: Holes§a_index: DebruijnIndex§b_index: DebruijnIndex§errors: Errors<'genv>

Implementations§

source§

impl<'genv, 'tcx> Zipper<'genv, 'tcx>

source

fn new(genv: GlobalEnv<'genv, 'tcx>, owner_id: MaybeExternId) -> Self

source

fn zip_poly_fn_sig( +}

Fields§

§genv: GlobalEnv<'genv, 'tcx>§owner_id: MaybeExternId§locs: UnordMap<Loc, Ty>§holes: Holes§a_index: DebruijnIndex§b_index: DebruijnIndex§errors: Errors<'genv>

Implementations§

source§

impl<'genv, 'tcx> Zipper<'genv, 'tcx>

source

fn new(genv: GlobalEnv<'genv, 'tcx>, owner_id: MaybeExternId) -> Self

source

fn zip_poly_fn_sig( &mut self, a: &PolyFnSig, b: &PolyFnSig, -) -> Result<(), FnSigErr>

source

fn zip_variant( +) -> Result<(), FnSigErr>

source

fn zip_variant( &mut self, a: &PolyVariant, b: &PolyVariant, variant_idx: VariantIdx, -)

source

fn zip_fn_sig(&mut self, a: &FnSig, b: &FnSig) -> Result<(), FnSigErr>

source

fn zip_output(&mut self, a: &FnOutput, b: &FnOutput) -> Result<(), FnSigErr>

source

fn zip_ty(&mut self, a: &Ty, b: &Ty) -> Result<(), Mismatch>

source

fn zip_bty(&mut self, a: &BaseTy, b: &BaseTy) -> Result<(), Mismatch>

source

fn zip_generic_arg( +)

source

fn zip_fn_sig(&mut self, a: &FnSig, b: &FnSig) -> Result<(), FnSigErr>

source

fn zip_output(&mut self, a: &FnOutput, b: &FnOutput) -> Result<(), FnSigErr>

source

fn zip_ty(&mut self, a: &Ty, b: &Ty) -> Result<(), Mismatch>

source

fn zip_bty(&mut self, a: &BaseTy, b: &BaseTy) -> Result<(), Mismatch>

source

fn zip_generic_arg( &mut self, a: &GenericArg, b: &GenericArg, -) -> Result<(), Mismatch>

source

fn zip_const(&mut self, a: &Const, b: &Const) -> Result<(), Mismatch>

source

fn zip_region(&mut self, a: &Region, b: &Region)

source

fn zip_poly_existential_pred( +) -> Result<(), Mismatch>

source

fn zip_const(&mut self, a: &Const, b: &Const) -> Result<(), Mismatch>

source

fn zip_region(&mut self, a: &Region, b: &Region)

source

fn zip_poly_existential_pred( &mut self, a: &Binder<ExistentialPredicate>, b: &Binder<ExistentialPredicate>, -) -> Result<(), Mismatch>

source

fn enter_binders<T, R>( +) -> Result<(), Mismatch>

source

fn enter_binders<T, R>( &mut self, a: &Binder<T>, b: &Binder<T>, f: impl FnOnce(&mut Self, &T, &T) -> R, -) -> R

source

fn enter_a_binder<T, R>( +) -> R

source

fn enter_a_binder<T, R>( &mut self, t: &Binder<T>, f: impl FnOnce(&mut Self, &T) -> R, -) -> R

source

fn enter_b_binder<T, R>( +) -> R

source

fn enter_b_binder<T, R>( &mut self, t: &Binder<T>, f: impl FnOnce(&mut Self, &T) -> R, -) -> R

source

fn adjust_binders<T: TypeFoldable>(&self, t: &T) -> T

source

fn emit_fn_sig_err(&mut self, err: FnSigErr, decl: &FnDecl<'_>)

Auto Trait Implementations§

§

impl<'genv, 'tcx> !Freeze for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !RefUnwindSafe for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !Send for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !Sync for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> Unpin for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !UnwindSafe for Zipper<'genv, 'tcx>

Blanket Implementations§

source§

impl<T> Any for T
where +) -> R

source

fn adjust_binders<T: TypeFoldable>(&self, t: &T) -> T

source

fn emit_fn_sig_err(&mut self, err: FnSigErr, decl: &FnDecl<'_>)

Auto Trait Implementations§

§

impl<'genv, 'tcx> !Freeze for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !RefUnwindSafe for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !Send for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !Sync for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> Unpin for Zipper<'genv, 'tcx>

§

impl<'genv, 'tcx> !UnwindSafe for Zipper<'genv, 'tcx>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/conv/trait.ConvPhase.html b/doc/flux_fhir_analysis/conv/trait.ConvPhase.html new file mode 100644 index 0000000000..15ba7582c1 --- /dev/null +++ b/doc/flux_fhir_analysis/conv/trait.ConvPhase.html @@ -0,0 +1,18 @@ +ConvPhase in flux_fhir_analysis::conv - Rust

Trait flux_fhir_analysis::conv::ConvPhase

source ·
pub trait ConvPhase {
+    type Results: WfckResultsProvider;
+
+    const EXPAND_TYPE_ALIASES: bool;
+
+    // Required methods
+    fn results(&self) -> &Self::Results;
+    fn insert_bty_sort(&mut self, fhir_id: FhirId, sort: Sort);
+    fn insert_alias_reft_sort(&mut self, fhir_id: FhirId, fsort: FuncSort);
+}
Expand description

We do conversion twice: once before sort checking when we don’t have elaborated information +and then again after sort checking after all information has been elaborated. This is the +interface to configure conversion for both phases.

+

Required Associated Types§

Required Associated Constants§

source

const EXPAND_TYPE_ALIASES: bool

Whether to expand type aliases or to generate a weak rty::AliasTy.

+

Required Methods§

source

fn results(&self) -> &Self::Results

source

fn insert_bty_sort(&mut self, fhir_id: FhirId, sort: Sort)

Called after converting an indexed type b[e] with the fhir_id and sort of b. Used +during the first phase to collect the sort of base types.

+
source

fn insert_alias_reft_sort(&mut self, fhir_id: FhirId, fsort: FuncSort)

Called after converting an fhir::ExprKind::Alias with the sort of the resulting +rty::AliasReft. Used during the first phase to collect the sorts of refinement aliases.

+

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a> ConvPhase for &'a WfckResults

Implementors§

source§

impl<'genv, 'tcx> ConvPhase for &mut InferCtxt<'genv, 'tcx>

source§

const EXPAND_TYPE_ALIASES: bool = false

§

type Results = InferCtxt<'genv, 'tcx>

\ No newline at end of file diff --git a/doc/flux_fhir_analysis/conv/trait.WfckResultsProvider.html b/doc/flux_fhir_analysis/conv/trait.WfckResultsProvider.html new file mode 100644 index 0000000000..11e84dd0f6 --- /dev/null +++ b/doc/flux_fhir_analysis/conv/trait.WfckResultsProvider.html @@ -0,0 +1,23 @@ +WfckResultsProvider in flux_fhir_analysis::conv - Rust

Trait flux_fhir_analysis::conv::WfckResultsProvider

source ·
pub trait WfckResultsProvider: Sized {
+    // Required methods
+    fn owner(&self) -> FluxOwnerId;
+    fn bin_rel_sort(&self, fhir_id: FhirId) -> Sort;
+    fn coercions_for(&self, fhir_id: FhirId) -> &[Coercion];
+    fn field_proj(&self, fhir_id: FhirId) -> FieldProj;
+    fn lambda_output(&self, fhir_id: FhirId) -> Sort;
+    fn record_ctor(&self, fhir_id: FhirId) -> DefId;
+    fn param_sort(&self, param: &RefineParam<'_>) -> Sort;
+}
Expand description

An interface to the information elaborated during sort checking. We mock these results in +the first conversion phase before sort checking.

+

Required Methods§

source

fn owner(&self) -> FluxOwnerId

source

fn bin_rel_sort(&self, fhir_id: FhirId) -> Sort

source

fn coercions_for(&self, fhir_id: FhirId) -> &[Coercion]

source

fn field_proj(&self, fhir_id: FhirId) -> FieldProj

source

fn lambda_output(&self, fhir_id: FhirId) -> Sort

source

fn record_ctor(&self, fhir_id: FhirId) -> DefId

source

fn param_sort(&self, param: &RefineParam<'_>) -> Sort

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl WfckResultsProvider for WfckResults

source§

fn owner(&self) -> FluxOwnerId

source§

fn bin_rel_sort(&self, fhir_id: FhirId) -> Sort

source§

fn coercions_for(&self, fhir_id: FhirId) -> &[Coercion]

source§

fn field_proj(&self, fhir_id: FhirId) -> FieldProj

source§

fn lambda_output(&self, fhir_id: FhirId) -> Sort

source§

fn record_ctor(&self, fhir_id: FhirId) -> DefId

source§

fn param_sort(&self, param: &RefineParam<'_>) -> Sort

Implementors§

source§

impl WfckResultsProvider for InferCtxt<'_, '_>

The purpose of doing conversion before sort checking is to collect the sorts of base types. +Thus, what we return here mostly doesn’t matter because the refinements on a type should not +affect its sort. The one exception is the sort we generate for refinement parameters.

+

For instance, consider the following definition where we refine a struct with a polymorphic set:

+ +
#[flux::refined_by(elems: Set<T>)]
+struct RSet<T> { ... }
+

Now, consider the type RSet<i32{v: v >= 0}>. This type desugars to RSet<λv:σ. {i32[v] | v >= 0}> +where the sort σ needs to be inferred. The type RSet<λv:σ. {i32[v] | v >= 0}> has sort +RSet<σ> where RSet is the sort-level representation of the RSet type. Thus, it is important +that the inference variable we generate for σ is the same we use for sort checking.

+
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/errors/index.html b/doc/flux_fhir_analysis/errors/index.html index 460a4c4ed0..517b470d5e 100644 --- a/doc/flux_fhir_analysis/errors/index.html +++ b/doc/flux_fhir_analysis/errors/index.html @@ -1 +1 @@ -flux_fhir_analysis::errors - Rust

Module flux_fhir_analysis::errors

source ·

Structs§

\ No newline at end of file +flux_fhir_analysis::errors - Rust

Module flux_fhir_analysis::errors

source ·

Structs§

\ No newline at end of file diff --git a/doc/flux_fhir_analysis/errors/struct.DefinitionCycle.html b/doc/flux_fhir_analysis/errors/struct.DefinitionCycle.html index 65b3c6c5c8..8f357d8f59 100644 --- a/doc/flux_fhir_analysis/errors/struct.DefinitionCycle.html +++ b/doc/flux_fhir_analysis/errors/struct.DefinitionCycle.html @@ -1,8 +1,8 @@ -DefinitionCycle in flux_fhir_analysis::errors - Rust

Struct flux_fhir_analysis::errors::DefinitionCycle

source ·
pub struct DefinitionCycle {
+DefinitionCycle in flux_fhir_analysis::errors - Rust

Struct flux_fhir_analysis::errors::DefinitionCycle

source ·
pub struct DefinitionCycle {
     span: Span,
     msg: String,
-}

Fields§

§span: Span§msg: String

Implementations§

source§

impl DefinitionCycle

source

pub(crate) fn new(span: Span, cycle: Vec<Symbol>) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for DefinitionCycle
where - G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§span: Span§msg: String

Implementations§

source§

impl DefinitionCycle

source

pub(crate) fn new(span: Span, cycle: Vec<Symbol>) -> Self

Trait Implementations§

source§

impl<'_sess, G> Diagnostic<'_sess, G> for DefinitionCycle
where + G: EmissionGuarantee,

source§

fn into_diag(self, dcx: DiagCtxtHandle<'_sess>, level: Level) -> Diag<'_sess, G>

Write out as a diagnostic out of DiagCtxt.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_fhir_analysis/fn.assoc_refinement_def.html b/doc/flux_fhir_analysis/fn.assoc_refinement_def.html index e33bd3ec7b..b3ac819df6 100644 --- a/doc/flux_fhir_analysis/fn.assoc_refinement_def.html +++ b/doc/flux_fhir_analysis/fn.assoc_refinement_def.html @@ -1,4 +1,4 @@ -assoc_refinement_def in flux_fhir_analysis - Rust

Function flux_fhir_analysis::assoc_refinement_def

source ·
pub(crate) fn assoc_refinement_def(
+assoc_refinement_def in flux_fhir_analysis - Rust

Function flux_fhir_analysis::assoc_refinement_def

source ·
pub(crate) fn assoc_refinement_def(
     genv: GlobalEnv<'_, '_>,
     impl_id: LocalDefId,
     name: Symbol,
diff --git a/doc/flux_fhir_analysis/fn.assoc_refinements_of.html b/doc/flux_fhir_analysis/fn.assoc_refinements_of.html
index 8bd168b928..49f4438d08 100644
--- a/doc/flux_fhir_analysis/fn.assoc_refinements_of.html
+++ b/doc/flux_fhir_analysis/fn.assoc_refinements_of.html
@@ -1,4 +1,4 @@
-assoc_refinements_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::assoc_refinements_of

source ·
pub(crate) fn assoc_refinements_of(
+assoc_refinements_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::assoc_refinements_of

source ·
pub(crate) fn assoc_refinements_of(
     genv: GlobalEnv<'_, '_>,
     local_id: LocalDefId,
 ) -> QueryResult<AssocRefinements>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.check_crate_wf.html b/doc/flux_fhir_analysis/fn.check_crate_wf.html index f20fa12280..9cc139de3a 100644 --- a/doc/flux_fhir_analysis/fn.check_crate_wf.html +++ b/doc/flux_fhir_analysis/fn.check_crate_wf.html @@ -1 +1 @@ -check_crate_wf in flux_fhir_analysis - Rust

Function flux_fhir_analysis::check_crate_wf

source ·
pub fn check_crate_wf(genv: GlobalEnv<'_, '_>) -> Result<(), ErrorGuaranteed>
\ No newline at end of file +check_crate_wf in flux_fhir_analysis - Rust

Function flux_fhir_analysis::check_crate_wf

source ·
pub fn check_crate_wf(genv: GlobalEnv<'_, '_>) -> Result<(), ErrorGuaranteed>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.check_wf.html b/doc/flux_fhir_analysis/fn.check_wf.html index faec44f3d0..e2cd6259e6 100644 --- a/doc/flux_fhir_analysis/fn.check_wf.html +++ b/doc/flux_fhir_analysis/fn.check_wf.html @@ -1,4 +1,4 @@ -check_wf in flux_fhir_analysis - Rust

Function flux_fhir_analysis::check_wf

source ·
pub(crate) fn check_wf(
+check_wf in flux_fhir_analysis - Rust

Function flux_fhir_analysis::check_wf

source ·
pub(crate) fn check_wf(
     genv: GlobalEnv<'_, '_>,
     def_id: LocalDefId,
 ) -> QueryResult<Rc<WfckResults>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.default_assoc_refinement_def.html b/doc/flux_fhir_analysis/fn.default_assoc_refinement_def.html index 98f3fb2a34..e1501a5247 100644 --- a/doc/flux_fhir_analysis/fn.default_assoc_refinement_def.html +++ b/doc/flux_fhir_analysis/fn.default_assoc_refinement_def.html @@ -1,4 +1,4 @@ -default_assoc_refinement_def in flux_fhir_analysis - Rust
pub(crate) fn default_assoc_refinement_def(
+default_assoc_refinement_def in flux_fhir_analysis - Rust
pub(crate) fn default_assoc_refinement_def(
     genv: GlobalEnv<'_, '_>,
     trait_id: LocalDefId,
     name: Symbol,
diff --git a/doc/flux_fhir_analysis/fn.fn_sig.html b/doc/flux_fhir_analysis/fn.fn_sig.html
index 3a2b91a4a0..22c3633bb8 100644
--- a/doc/flux_fhir_analysis/fn.fn_sig.html
+++ b/doc/flux_fhir_analysis/fn.fn_sig.html
@@ -1,4 +1,4 @@
-fn_sig in flux_fhir_analysis - Rust

Function flux_fhir_analysis::fn_sig

source ·
pub(crate) fn fn_sig(
+fn_sig in flux_fhir_analysis - Rust

Function flux_fhir_analysis::fn_sig

source ·
pub(crate) fn fn_sig(
     genv: GlobalEnv<'_, '_>,
     def_id: LocalDefId,
 ) -> QueryResult<EarlyBinder<PolyFnSig>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.generics_of.html b/doc/flux_fhir_analysis/fn.generics_of.html index 5eeeadc3c6..831cd82df4 100644 --- a/doc/flux_fhir_analysis/fn.generics_of.html +++ b/doc/flux_fhir_analysis/fn.generics_of.html @@ -1,4 +1,4 @@ -generics_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::generics_of

source ·
pub(crate) fn generics_of(
+generics_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::generics_of

source ·
pub(crate) fn generics_of(
     genv: GlobalEnv<'_, '_>,
     def_id: LocalDefId,
 ) -> QueryResult<Generics>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.impl_assoc_refinement_def.html b/doc/flux_fhir_analysis/fn.impl_assoc_refinement_def.html index e9379ee8c8..5d72e15a2b 100644 --- a/doc/flux_fhir_analysis/fn.impl_assoc_refinement_def.html +++ b/doc/flux_fhir_analysis/fn.impl_assoc_refinement_def.html @@ -1,4 +1,4 @@ -impl_assoc_refinement_def in flux_fhir_analysis - Rust

Function flux_fhir_analysis::impl_assoc_refinement_def

source ·
pub(crate) fn impl_assoc_refinement_def(
+impl_assoc_refinement_def in flux_fhir_analysis - Rust

Function flux_fhir_analysis::impl_assoc_refinement_def

source ·
pub(crate) fn impl_assoc_refinement_def(
     genv: GlobalEnv<'_, '_>,
     impl_id: LocalDefId,
     name: Symbol,
diff --git a/doc/flux_fhir_analysis/fn.item_bounds.html b/doc/flux_fhir_analysis/fn.item_bounds.html
index 795acea596..8f741fefcd 100644
--- a/doc/flux_fhir_analysis/fn.item_bounds.html
+++ b/doc/flux_fhir_analysis/fn.item_bounds.html
@@ -1,4 +1,4 @@
-item_bounds in flux_fhir_analysis - Rust

Function flux_fhir_analysis::item_bounds

source ·
pub(crate) fn item_bounds(
+item_bounds in flux_fhir_analysis - Rust

Function flux_fhir_analysis::item_bounds

source ·
pub(crate) fn item_bounds(
     genv: GlobalEnv<'_, '_>,
     local_id: LocalDefId,
 ) -> QueryResult<EarlyBinder<Clauses>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.normalize.html b/doc/flux_fhir_analysis/fn.normalize.html index f1d590fd04..323c4b453d 100644 --- a/doc/flux_fhir_analysis/fn.normalize.html +++ b/doc/flux_fhir_analysis/fn.normalize.html @@ -1,4 +1,4 @@ -normalize in flux_fhir_analysis - Rust

Function flux_fhir_analysis::normalize

source ·
pub(crate) fn normalize<T: TypeFoldable>(
+normalize in flux_fhir_analysis - Rust

Function flux_fhir_analysis::normalize

source ·
pub(crate) fn normalize<T: TypeFoldable>(
     genv: GlobalEnv<'_, '_>,
     t: T,
 ) -> QueryResult<T>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.predicates_of.html b/doc/flux_fhir_analysis/fn.predicates_of.html index 59c01cdf5a..790811eec8 100644 --- a/doc/flux_fhir_analysis/fn.predicates_of.html +++ b/doc/flux_fhir_analysis/fn.predicates_of.html @@ -1,4 +1,4 @@ -predicates_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::predicates_of

source ·
pub(crate) fn predicates_of(
+predicates_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::predicates_of

source ·
pub(crate) fn predicates_of(
     genv: GlobalEnv<'_, '_>,
-    local_id: LocalDefId,
+    def_id: LocalDefId,
 ) -> QueryResult<EarlyBinder<GenericPredicates>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.refinement_generics_of.html b/doc/flux_fhir_analysis/fn.refinement_generics_of.html index 190b771df4..36147064e9 100644 --- a/doc/flux_fhir_analysis/fn.refinement_generics_of.html +++ b/doc/flux_fhir_analysis/fn.refinement_generics_of.html @@ -1,4 +1,4 @@ -refinement_generics_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::refinement_generics_of

source ·
pub(crate) fn refinement_generics_of(
+refinement_generics_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::refinement_generics_of

source ·
pub(crate) fn refinement_generics_of(
     genv: GlobalEnv<'_, '_>,
     local_id: LocalDefId,
 ) -> QueryResult<RefinementGenerics>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.sort_of_assoc_reft.html b/doc/flux_fhir_analysis/fn.sort_of_assoc_reft.html index 6625a26443..c2bf9c4c3c 100644 --- a/doc/flux_fhir_analysis/fn.sort_of_assoc_reft.html +++ b/doc/flux_fhir_analysis/fn.sort_of_assoc_reft.html @@ -1,4 +1,4 @@ -sort_of_assoc_reft in flux_fhir_analysis - Rust

Function flux_fhir_analysis::sort_of_assoc_reft

source ·
pub(crate) fn sort_of_assoc_reft(
+sort_of_assoc_reft in flux_fhir_analysis - Rust

Function flux_fhir_analysis::sort_of_assoc_reft

source ·
pub(crate) fn sort_of_assoc_reft(
     genv: GlobalEnv<'_, '_>,
     def_id: LocalDefId,
     name: Symbol,
diff --git a/doc/flux_fhir_analysis/fn.ty_param_owner.html b/doc/flux_fhir_analysis/fn.ty_param_owner.html
index 15015b0872..d608c7bd4c 100644
--- a/doc/flux_fhir_analysis/fn.ty_param_owner.html
+++ b/doc/flux_fhir_analysis/fn.ty_param_owner.html
@@ -1 +1 @@
-ty_param_owner in flux_fhir_analysis - Rust

Function flux_fhir_analysis::ty_param_owner

source ·
pub(crate) fn ty_param_owner(genv: GlobalEnv<'_, '_>, def_id: DefId) -> DefId
\ No newline at end of file +ty_param_owner in flux_fhir_analysis - Rust

Function flux_fhir_analysis::ty_param_owner

source ·
pub(crate) fn ty_param_owner(genv: GlobalEnv<'_, '_>, def_id: DefId) -> DefId
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.type_of.html b/doc/flux_fhir_analysis/fn.type_of.html index fab5ad5feb..8691d5c1fb 100644 --- a/doc/flux_fhir_analysis/fn.type_of.html +++ b/doc/flux_fhir_analysis/fn.type_of.html @@ -1,4 +1,4 @@ -type_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::type_of

source ·
pub(crate) fn type_of(
+type_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::type_of

source ·
pub(crate) fn type_of(
     genv: GlobalEnv<'_, '_>,
     def_id: LocalDefId,
 ) -> QueryResult<EarlyBinder<TyCtor>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/fn.variants_of.html b/doc/flux_fhir_analysis/fn.variants_of.html index 9cd662c3d2..a56240e40c 100644 --- a/doc/flux_fhir_analysis/fn.variants_of.html +++ b/doc/flux_fhir_analysis/fn.variants_of.html @@ -1,4 +1,4 @@ -variants_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::variants_of

source ·
pub(crate) fn variants_of(
+variants_of in flux_fhir_analysis - Rust

Function flux_fhir_analysis::variants_of

source ·
pub(crate) fn variants_of(
     genv: GlobalEnv<'_, '_>,
     def_id: LocalDefId,
 ) -> QueryResult<Opaqueness<EarlyBinder<PolyVariants>>>
\ No newline at end of file diff --git a/doc/flux_fhir_analysis/index.html b/doc/flux_fhir_analysis/index.html index d8e1b0de15..dde7fdcf19 100644 --- a/doc/flux_fhir_analysis/index.html +++ b/doc/flux_fhir_analysis/index.html @@ -1,2 +1,2 @@ -flux_fhir_analysis - Rust

Crate flux_fhir_analysis

source ·

Modules§

Statics§

source

fn kvar_to_fixpoint( &mut self, kvar: &KVar, bindings: &mut Vec<Bind>, -) -> QueryResult<Pred>

source

fn def_span(&self) -> Span

Auto Trait Implementations§

§

impl<'genv, 'tcx, T> !Freeze for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>
where +) -> QueryResult<Pred>

source

fn def_span(&self) -> Span

Auto Trait Implementations§

§

impl<'genv, 'tcx, T> !Freeze for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>

§

impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>
where T: Unpin,

§

impl<'genv, 'tcx, T> !UnwindSafe for FixpointCtxt<'genv, 'tcx, T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_infer/fixpoint_encoding/struct.FixpointKVar.html b/doc/flux_infer/fixpoint_encoding/struct.FixpointKVar.html index fc4e5212f3..a79f2742b7 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.FixpointKVar.html +++ b/doc/flux_infer/fixpoint_encoding/struct.FixpointKVar.html @@ -1,7 +1,7 @@ -FixpointKVar in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::FixpointKVar

source ·
struct FixpointKVar {
+FixpointKVar in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::FixpointKVar

source ·
struct FixpointKVar {
     sorts: Vec<Sort>,
     orig: KVid,
-}

Fields§

§sorts: Vec<Sort>§orig: KVid

Implementations§

source§

impl FixpointKVar

source

fn new(sorts: Vec<Sort>, orig: KVid) -> Self

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§sorts: Vec<Sort>§orig: KVid

Implementations§

source§

impl FixpointKVar

source

fn new(sorts: Vec<Sort>, orig: KVid) -> Self

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_infer/fixpoint_encoding/struct.KVarDecl.html b/doc/flux_infer/fixpoint_encoding/struct.KVarDecl.html index e6c948bfba..56504e943a 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.KVarDecl.html +++ b/doc/flux_infer/fixpoint_encoding/struct.KVarDecl.html @@ -1,8 +1,8 @@ -KVarDecl in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::KVarDecl

source ·
struct KVarDecl {
+KVarDecl in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::KVarDecl

source ·
struct KVarDecl {
     self_args: usize,
     sorts: Vec<Sort>,
     encoding: KVarEncoding,
-}

Fields§

§self_args: usize§sorts: Vec<Sort>§encoding: KVarEncoding

Trait Implementations§

source§

impl Clone for KVarDecl

source§

fn clone(&self) -> KVarDecl

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

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

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§self_args: usize§sorts: Vec<Sort>§encoding: KVarEncoding

Trait Implementations§

source§

impl Clone for KVarDecl

source§

fn clone(&self) -> KVarDecl

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

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

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_infer/fixpoint_encoding/struct.KVarEncodingCtxt.html b/doc/flux_infer/fixpoint_encoding/struct.KVarEncodingCtxt.html index b8e8028df2..ef593a37ab 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.KVarEncodingCtxt.html +++ b/doc/flux_infer/fixpoint_encoding/struct.KVarEncodingCtxt.html @@ -1,16 +1,16 @@ -KVarEncodingCtxt in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::KVarEncodingCtxt

source ·
struct KVarEncodingCtxt {
+KVarEncodingCtxt in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::KVarEncodingCtxt

source ·
struct KVarEncodingCtxt {
     kvars: IndexVec<KVid, FixpointKVar>,
     map: UnordMap<KVid, Vec<KVid>>,
 }
Expand description

During encoding into fixpoint we generate multiple fixpoint kvars per kvar in flux. A KVarEncodingCtxt is used to keep track of the state needed for this.

Fields§

§kvars: IndexVec<KVid, FixpointKVar>

List of all kvars that need to be defined in fixpoint

§map: UnordMap<KVid, Vec<KVid>>

A mapping from rty::KVid to the list of fixpoint::KVids encoding the kvar.

-

Implementations§

source§

impl KVarEncodingCtxt

Implementations§

source§

impl KVarEncodingCtxt

source

fn encode( &mut self, kvid: KVid, decl: &KVarDecl, scx: &mut SortEncodingCtxt, -) -> &[KVid]

source

fn into_fixpoint(self) -> Vec<KVarDecl>

Trait Implementations§

source§

impl Default for KVarEncodingCtxt

source§

fn default() -> KVarEncodingCtxt

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> &[KVid]

source

fn into_fixpoint(self) -> Vec<KVarDecl>

Trait Implementations§

source§

impl Default for KVarEncodingCtxt

source§

fn default() -> KVarEncodingCtxt

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_infer/fixpoint_encoding/struct.KVarGen.html b/doc/flux_infer/fixpoint_encoding/struct.KVarGen.html index a99dacfb5b..b7f59057d8 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.KVarGen.html +++ b/doc/flux_infer/fixpoint_encoding/struct.KVarGen.html @@ -1,9 +1,9 @@ -KVarGen in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::KVarGen

source ·
pub struct KVarGen {
+KVarGen in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::KVarGen

source ·
pub struct KVarGen {
     kvars: IndexVec<KVid, KVarDecl>,
     dummy: bool,
 }

Fields§

§kvars: IndexVec<KVid, KVarDecl>§dummy: bool

If true, generate dummy holes instead of kvars. Used during shape mode to avoid generating unnecessary kvars.

-

Implementations§

source§

impl KVarGen

source

pub fn new() -> Self

source

pub fn dummy() -> Self

source

fn get(&self, kvid: KVid) -> &KVarDecl

source

pub fn fresh( +

Implementations§

source§

impl KVarGen

source

pub fn new() -> Self

source

pub fn dummy() -> Self

source

fn get(&self, kvid: KVid) -> &KVarDecl

source

pub fn fresh( &mut self, binders: &[BoundVariableKinds], scope: impl IntoIterator<Item = (Var, Sort)>, @@ -17,7 +17,7 @@

Note that the returned expression will have escaping variables and it is up to the caller to put it under an appropriate number of binders.

Prefer using InferCtxt::fresh_kvar when possible.

-

source

fn fresh_inner<A>( +

source

fn fresh_inner<A>( &mut self, self_args: usize, args: A, diff --git a/doc/flux_infer/fixpoint_encoding/struct.LocalVarEnv.html b/doc/flux_infer/fixpoint_encoding/struct.LocalVarEnv.html index f0d0a01265..b7b684cf5f 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.LocalVarEnv.html +++ b/doc/flux_infer/fixpoint_encoding/struct.LocalVarEnv.html @@ -1,11 +1,11 @@ -LocalVarEnv in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::LocalVarEnv

source ·
struct LocalVarEnv {
+LocalVarEnv in flux_infer::fixpoint_encoding - Rust

Struct flux_infer::fixpoint_encoding::LocalVarEnv

source ·
struct LocalVarEnv {
     local_var_gen: IndexGen<LocalVar>,
     fvars: UnordMap<Name, LocalVar>,
     layers: Vec<Vec<LocalVar>>,
 }
Expand description

Environment used to map from rty::Var to a fixpoint::LocalVar.

Fields§

§local_var_gen: IndexGen<LocalVar>§fvars: UnordMap<Name, LocalVar>§layers: Vec<Vec<LocalVar>>

Layers of late bound variables

-

Implementations§

source§

impl LocalVarEnv

source

fn new() -> Self

source

fn fresh_name(&mut self) -> LocalVar

source

fn insert_fvar_map(&mut self, name: Name) -> LocalVar

source

fn remove_fvar_map(&mut self, name: Name)

source

fn push_layer_with_fresh_names(&mut self, count: usize)

Push a layer of bound variables assigning a fresh fixpoint::LocalVar to each one

-
source

fn pop_layer(&mut self) -> Vec<LocalVar>

source

fn get_fvar(&self, name: Name) -> Option<LocalVar>

source

fn get_late_bvar( +

Implementations§

source§

impl LocalVarEnv

source

fn new() -> Self

source

fn fresh_name(&mut self) -> LocalVar

source

fn insert_fvar_map(&mut self, name: Name) -> LocalVar

source

fn remove_fvar_map(&mut self, name: Name)

source

fn push_layer_with_fresh_names(&mut self, count: usize)

Push a layer of bound variables assigning a fresh fixpoint::LocalVar to each one

+
source

fn pop_layer(&mut self) -> Vec<LocalVar>

source

fn get_fvar(&self, name: Name) -> Option<LocalVar>

source

fn get_late_bvar( &self, debruijn: DebruijnIndex, var: BoundVar, diff --git a/doc/flux_infer/fixpoint_encoding/struct.SortEncodingCtxt.html b/doc/flux_infer/fixpoint_encoding/struct.SortEncodingCtxt.html index 77f8167150..6c420ebe8d 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.SortEncodingCtxt.html +++ b/doc/flux_infer/fixpoint_encoding/struct.SortEncodingCtxt.html @@ -3,7 +3,7 @@ }

Expand description

Keep track of all the data sorts that we need to define in fixpoint to encode the constraint. Currently, we encode all aggregate sorts as tuples.

Fields§

§tuples: UnordSet<usize>

Set of all the tuple arities that need to be defined

-

Implementations§

Trait Implementations§

source§

impl Default for SortEncodingCtxt

source§

fn default() -> SortEncodingCtxt

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

Trait Implementations§

source§

impl Default for SortEncodingCtxt

source§

fn default() -> SortEncodingCtxt

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_infer/fixpoint_encoding/struct.TagIdx.html b/doc/flux_infer/fixpoint_encoding/struct.TagIdx.html index 6067260c6e..22b99652e1 100644 --- a/doc/flux_infer/fixpoint_encoding/struct.TagIdx.html +++ b/doc/flux_infer/fixpoint_encoding/struct.TagIdx.html @@ -20,7 +20,7 @@
§Safety
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for TagIdx

§

type Output = TagIdx

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl Clone for TagIdx

source§

fn clone(&self) -> TagIdx

Returns a 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 TagIdx

source§

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

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

impl Display for TagIdx

source§

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

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

impl From<TagIdx> for u32

source§

fn from(v: TagIdx) -> u32

Converts to this type from the input type.
source§

impl From<TagIdx> for usize

source§

fn from(v: TagIdx) -> usize

Converts to this type from the input type.
source§

impl From<u32> for TagIdx

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for TagIdx

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl FromStr for TagIdx

§

type Err = ParseIntError

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

fn from_str(s: &str) -> Result<Self, Self::Err>

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

impl Hash for TagIdx

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 +

Trait Implementations§

source§

impl Add<usize> for TagIdx

§

type Output = TagIdx

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl Clone for TagIdx

source§

fn clone(&self) -> TagIdx

Returns a 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 TagIdx

source§

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

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

impl Display for TagIdx

source§

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

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

impl From<TagIdx> for u32

source§

fn from(v: TagIdx) -> u32

Converts to this type from the input type.
source§

impl From<TagIdx> for usize

source§

fn from(v: TagIdx) -> usize

Converts to this type from the input type.
source§

impl From<u32> for TagIdx

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for TagIdx

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl FromStr for TagIdx

§

type Err = ParseIntError

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

fn from_str(s: &str) -> Result<Self, Self::Err>

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

impl Hash for TagIdx

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 Idx for TagIdx

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for TagIdx

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for TagIdx

source§

impl Eq for TagIdx

source§

impl StructuralPartialEq for TagIdx

Auto Trait Implementations§

§

impl Freeze for TagIdx

§

impl RefUnwindSafe for TagIdx

§

impl Send for TagIdx

§

impl Sync for TagIdx

§

impl Unpin for TagIdx

§

impl UnwindSafe for TagIdx

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/flux_infer/fixpoint_encoding/type.ConstMap.html b/doc/flux_infer/fixpoint_encoding/type.ConstMap.html index 8fdbb31313..b444efe4a5 100644 --- a/doc/flux_infer/fixpoint_encoding/type.ConstMap.html +++ b/doc/flux_infer/fixpoint_encoding/type.ConstMap.html @@ -1 +1 @@ -ConstMap in flux_infer::fixpoint_encoding - Rust

Type Alias flux_infer::fixpoint_encoding::ConstMap

source ·
type ConstMap<'tcx> = FxIndexMap<Key<'tcx>, ConstInfo>;

Aliased Type§

struct ConstMap<'tcx> { /* private fields */ }
\ No newline at end of file +ConstMap in flux_infer::fixpoint_encoding - Rust

Type Alias flux_infer::fixpoint_encoding::ConstMap

source ·
type ConstMap<'tcx> = FxIndexMap<Key<'tcx>, ConstInfo>;

Aliased Type§

struct ConstMap<'tcx> { /* private fields */ }
\ No newline at end of file diff --git a/doc/flux_middle/enum.ExternSpecMappingErr.html b/doc/flux_middle/enum.ExternSpecMappingErr.html index b8d77ec9c9..c011b80663 100644 --- a/doc/flux_middle/enum.ExternSpecMappingErr.html +++ b/doc/flux_middle/enum.ExternSpecMappingErr.html @@ -1,4 +1,4 @@ -ExternSpecMappingErr in flux_middle - Rust

Enum flux_middle::ExternSpecMappingErr

source ·
pub enum ExternSpecMappingErr {
+ExternSpecMappingErr in flux_middle - Rust

Enum flux_middle::ExternSpecMappingErr

source ·
pub enum ExternSpecMappingErr {
     IsLocal(LocalDefId),
     Dup(LocalDefId),
 }
Expand description

Represents errors that can occur when inserting a mapping between a LocalDefId and a DefId diff --git a/doc/flux_middle/enum.MaybeExternId.html b/doc/flux_middle/enum.MaybeExternId.html index f64638ffe4..4b4e10c42d 100644 --- a/doc/flux_middle/enum.MaybeExternId.html +++ b/doc/flux_middle/enum.MaybeExternId.html @@ -1,4 +1,4 @@ -MaybeExternId in flux_middle - Rust

Enum flux_middle::MaybeExternId

source ·
pub enum MaybeExternId<Id = LocalDefId> {
+MaybeExternId in flux_middle - Rust

Enum flux_middle::MaybeExternId

source ·
pub enum MaybeExternId<Id = LocalDefId> {
     Local(Id),
     Extern(Id, DefId),
 }
Expand description

This enum serves as a type-level reminder that local ids can wrap an extern spec. The @@ -11,11 +11,11 @@

Variants§

§

Local(Id)

An id for a local spec.

§

Extern(Id, DefId)

A “dummy” local definition wrapping an external spec. The Id is the local id of a definition corresponding to the extern spec. The DefId is the resolved id for the external definition.

-

Implementations§

source§

impl<Id> MaybeExternId<Id>

source

pub fn map<R>(self, f: impl FnOnce(Id) -> R) -> MaybeExternId<R>

source

pub fn local_id(self) -> Id

source

pub fn is_local(self) -> bool

Returns true if the maybe extern id is Local.

-
source

pub fn is_extern(&self) -> bool

Returns true if the maybe extern id is Extern.

-
source

pub fn as_local(self) -> Option<Id>

source

pub fn as_extern(self) -> Option<DefId>

source§

impl<Id: Into<DefId>> MaybeExternId<Id>

source

pub fn resolved_id(self) -> DefId

Returns the DefId this id truly corresponds to, i.e, returns the DefId of the +

Implementations§

source§

impl<Id> MaybeExternId<Id>

source

pub fn map<R>(self, f: impl FnOnce(Id) -> R) -> MaybeExternId<R>

source

pub fn local_id(self) -> Id

source

pub fn expect_local(self) -> Id

source

pub fn is_local(self) -> bool

Returns true if the maybe extern id is Local.

+
source

pub fn is_extern(&self) -> bool

Returns true if the maybe extern id is Extern.

+
source

pub fn as_local(self) -> Option<Id>

source

pub fn as_extern(self) -> Option<DefId>

source§

impl<Id: Into<DefId>> MaybeExternId<Id>

source

pub fn resolved_id(self) -> DefId

Returns the DefId this id truly corresponds to, i.e, returns the DefId of the extern definition if Extern or converts the local id into a DefId if Local.

-

Trait Implementations§

source§

impl<Id: Clone> Clone for MaybeExternId<Id>

source§

fn clone(&self) -> MaybeExternId<Id>

Returns a 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<Id: Debug> Debug for MaybeExternId<Id>

source§

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

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

impl IntoQueryParam<DefId> for MaybeExternId

source§

impl<Id: Copy> Copy for MaybeExternId<Id>

Auto Trait Implementations§

§

impl<Id> Freeze for MaybeExternId<Id>
where +

Trait Implementations§

source§

impl<Id: Clone> Clone for MaybeExternId<Id>

source§

fn clone(&self) -> MaybeExternId<Id>

Returns a 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<Id: Debug> Debug for MaybeExternId<Id>

source§

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

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

impl IntoQueryParam<DefId> for MaybeExternId

source§

impl<Id: Copy> Copy for MaybeExternId<Id>

Auto Trait Implementations§

§

impl<Id> Freeze for MaybeExternId<Id>
where Id: Freeze,

§

impl<Id> RefUnwindSafe for MaybeExternId<Id>
where Id: RefUnwindSafe,

§

impl<Id> Send for MaybeExternId<Id>
where Id: Send,

§

impl<Id> Sync for MaybeExternId<Id>
where diff --git a/doc/flux_middle/enum.ResolvedDefId.html b/doc/flux_middle/enum.ResolvedDefId.html index ea1a5d0a42..dcf3c467a1 100644 --- a/doc/flux_middle/enum.ResolvedDefId.html +++ b/doc/flux_middle/enum.ResolvedDefId.html @@ -1,4 +1,4 @@ -ResolvedDefId in flux_middle - Rust

Enum flux_middle::ResolvedDefId

source ·
pub enum ResolvedDefId {
+ResolvedDefId in flux_middle - Rust

Enum flux_middle::ResolvedDefId

source ·
pub enum ResolvedDefId {
     Local(LocalDefId),
     ExternSpec(LocalDefId, DefId),
     Extern(DefId),
@@ -14,7 +14,7 @@
 and the DefId is the resolved id for the external spec. Corresponds to
 MaybeExternId::Extern.

§

Extern(DefId)

An external definition with no corresponding (local) extern spec.

-

Implementations§

Trait Implementations§

source§

impl Clone for ResolvedDefId

source§

fn clone(&self) -> ResolvedDefId

Returns a 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 Copy for ResolvedDefId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

Trait Implementations§

source§

impl Clone for ResolvedDefId

source§

fn clone(&self) -> ResolvedDefId

Returns a 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 Copy for ResolvedDefId

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.AssocItemConstraintKind.html b/doc/flux_middle/fhir/enum.AssocItemConstraintKind.html index c942c491f8..2540bd5b05 100644 --- a/doc/flux_middle/fhir/enum.AssocItemConstraintKind.html +++ b/doc/flux_middle/fhir/enum.AssocItemConstraintKind.html @@ -1,8 +1,8 @@ -AssocItemConstraintKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::AssocItemConstraintKind

source ·
pub enum AssocItemConstraintKind<'fhir> {
+AssocItemConstraintKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::AssocItemConstraintKind

source ·
pub enum AssocItemConstraintKind<'fhir> {
     Equality {
         term: Ty<'fhir>,
     },
-}

Variants§

§

Equality

Fields

§term: Ty<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for AssocItemConstraintKind<'fhir>

source§

fn clone(&self) -> AssocItemConstraintKind<'fhir>

Returns a 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<'fhir> Copy for AssocItemConstraintKind<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for AssocItemConstraintKind<'fhir>

§

impl<'fhir> RefUnwindSafe for AssocItemConstraintKind<'fhir>

§

impl<'fhir> Send for AssocItemConstraintKind<'fhir>

§

impl<'fhir> Sync for AssocItemConstraintKind<'fhir>

§

impl<'fhir> Unpin for AssocItemConstraintKind<'fhir>

§

impl<'fhir> UnwindSafe for AssocItemConstraintKind<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Equality

Fields

§term: Ty<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for AssocItemConstraintKind<'fhir>

source§

fn clone(&self) -> AssocItemConstraintKind<'fhir>

Returns a 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<'fhir> Copy for AssocItemConstraintKind<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for AssocItemConstraintKind<'fhir>

§

impl<'fhir> RefUnwindSafe for AssocItemConstraintKind<'fhir>

§

impl<'fhir> Send for AssocItemConstraintKind<'fhir>

§

impl<'fhir> Sync for AssocItemConstraintKind<'fhir>

§

impl<'fhir> Unpin for AssocItemConstraintKind<'fhir>

§

impl<'fhir> UnwindSafe for AssocItemConstraintKind<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.BaseTyKind.html b/doc/flux_middle/fhir/enum.BaseTyKind.html index 1a1bdb2ee3..17134a4fd0 100644 --- a/doc/flux_middle/fhir/enum.BaseTyKind.html +++ b/doc/flux_middle/fhir/enum.BaseTyKind.html @@ -1,7 +1,7 @@ -BaseTyKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::BaseTyKind

source ·
pub enum BaseTyKind<'fhir> {
+BaseTyKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::BaseTyKind

source ·
pub enum BaseTyKind<'fhir> {
     Path(QPath<'fhir>),
     Slice(&'fhir Ty<'fhir>),
-}

Variants§

§

Path(QPath<'fhir>)

§

Slice(&'fhir Ty<'fhir>)

Trait Implementations§

source§

impl<'fhir> Clone for BaseTyKind<'fhir>

source§

fn clone(&self) -> BaseTyKind<'fhir>

Returns a 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<'fhir> Copy for BaseTyKind<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for BaseTyKind<'fhir>

§

impl<'fhir> RefUnwindSafe for BaseTyKind<'fhir>

§

impl<'fhir> Send for BaseTyKind<'fhir>

§

impl<'fhir> Sync for BaseTyKind<'fhir>

§

impl<'fhir> Unpin for BaseTyKind<'fhir>

§

impl<'fhir> UnwindSafe for BaseTyKind<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Path(QPath<'fhir>)

§

Slice(&'fhir Ty<'fhir>)

Trait Implementations§

source§

impl<'fhir> Clone for BaseTyKind<'fhir>

source§

fn clone(&self) -> BaseTyKind<'fhir>

Returns a 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<'fhir> Copy for BaseTyKind<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for BaseTyKind<'fhir>

§

impl<'fhir> RefUnwindSafe for BaseTyKind<'fhir>

§

impl<'fhir> Send for BaseTyKind<'fhir>

§

impl<'fhir> Sync for BaseTyKind<'fhir>

§

impl<'fhir> Unpin for BaseTyKind<'fhir>

§

impl<'fhir> UnwindSafe for BaseTyKind<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.ConstArgKind.html b/doc/flux_middle/fhir/enum.ConstArgKind.html index 81d8f4fa92..307f68f052 100644 --- a/doc/flux_middle/fhir/enum.ConstArgKind.html +++ b/doc/flux_middle/fhir/enum.ConstArgKind.html @@ -1,9 +1,9 @@ -ConstArgKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::ConstArgKind

source ·
pub enum ConstArgKind {
+ConstArgKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::ConstArgKind

source ·
pub enum ConstArgKind {
     Lit(usize),
     Param(DefId),
     Infer,
-}

Variants§

§

Lit(usize)

§

Param(DefId)

§

Infer

Trait Implementations§

source§

impl Clone for ConstArgKind

source§

fn clone(&self) -> ConstArgKind

Returns a 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 ConstArgKind

source§

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

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

impl PartialEq for ConstArgKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ConstArgKind

source§

impl Eq for ConstArgKind

source§

impl StructuralPartialEq for ConstArgKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Lit(usize)

§

Param(DefId)

§

Infer

Trait Implementations§

source§

impl Clone for ConstArgKind

source§

fn clone(&self) -> ConstArgKind

Returns a 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 ConstArgKind

source§

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

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

impl PartialEq for ConstArgKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ConstArgKind

source§

impl Eq for ConstArgKind

source§

impl StructuralPartialEq for ConstArgKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.Ensures.html b/doc/flux_middle/fhir/enum.Ensures.html index 9071540c83..69d034a683 100644 --- a/doc/flux_middle/fhir/enum.Ensures.html +++ b/doc/flux_middle/fhir/enum.Ensures.html @@ -3,7 +3,7 @@ Pred(Expr<'fhir>), }

Variants§

§

Type(PathExpr<'fhir>, Ty<'fhir>)

A type constraint on a location

§

Pred(Expr<'fhir>)

A predicate that needs to hold on function exit

-

Trait Implementations§

source§

impl<'fhir> Clone for Ensures<'fhir>

source§

fn clone(&self) -> Ensures<'fhir>

Returns a 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 Ensures<'_>

source§

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

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

impl<'fhir> Copy for Ensures<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Ensures<'fhir>

§

impl<'fhir> RefUnwindSafe for Ensures<'fhir>

§

impl<'fhir> Send for Ensures<'fhir>

§

impl<'fhir> Sync for Ensures<'fhir>

§

impl<'fhir> Unpin for Ensures<'fhir>

§

impl<'fhir> UnwindSafe for Ensures<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl<'fhir> Clone for Ensures<'fhir>

source§

fn clone(&self) -> Ensures<'fhir>

Returns a 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 Ensures<'_>

source§

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

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

impl<'fhir> Copy for Ensures<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Ensures<'fhir>

§

impl<'fhir> RefUnwindSafe for Ensures<'fhir>

§

impl<'fhir> Send for Ensures<'fhir>

§

impl<'fhir> Sync for Ensures<'fhir>

§

impl<'fhir> Unpin for Ensures<'fhir>

§

impl<'fhir> UnwindSafe for Ensures<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.ExprKind.html b/doc/flux_middle/fhir/enum.ExprKind.html index 162a54243b..a08953d2eb 100644 --- a/doc/flux_middle/fhir/enum.ExprKind.html +++ b/doc/flux_middle/fhir/enum.ExprKind.html @@ -1,4 +1,4 @@ -ExprKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::ExprKind

source ·
pub enum ExprKind<'fhir> {
+ExprKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::ExprKind

source ·
pub enum ExprKind<'fhir> {
     Var(PathExpr<'fhir>, Option<ParamKind>),
     Dot(PathExpr<'fhir>, Ident),
     Literal(Lit),
@@ -7,7 +7,7 @@
     App(PathExpr<'fhir>, &'fhir [Expr<'fhir>]),
     Alias(AliasReft<'fhir>, &'fhir [Expr<'fhir>]),
     IfThenElse(&'fhir Expr<'fhir>, &'fhir Expr<'fhir>, &'fhir Expr<'fhir>),
-}

Variants§

§

Var(PathExpr<'fhir>, Option<ParamKind>)

§

Dot(PathExpr<'fhir>, Ident)

§

Literal(Lit)

§

BinaryOp(BinOp, &'fhir Expr<'fhir>, &'fhir Expr<'fhir>)

§

UnaryOp(UnOp, &'fhir Expr<'fhir>)

§

App(PathExpr<'fhir>, &'fhir [Expr<'fhir>])

§

Alias(AliasReft<'fhir>, &'fhir [Expr<'fhir>])

§

IfThenElse(&'fhir Expr<'fhir>, &'fhir Expr<'fhir>, &'fhir Expr<'fhir>)

Trait Implementations§

source§

impl<'fhir> Clone for ExprKind<'fhir>

source§

fn clone(&self) -> ExprKind<'fhir>

Returns a 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<'fhir> Copy for ExprKind<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for ExprKind<'fhir>

§

impl<'fhir> RefUnwindSafe for ExprKind<'fhir>

§

impl<'fhir> Send for ExprKind<'fhir>

§

impl<'fhir> Sync for ExprKind<'fhir>

§

impl<'fhir> Unpin for ExprKind<'fhir>

§

impl<'fhir> UnwindSafe for ExprKind<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Var(PathExpr<'fhir>, Option<ParamKind>)

§

Dot(PathExpr<'fhir>, Ident)

§

Literal(Lit)

§

BinaryOp(BinOp, &'fhir Expr<'fhir>, &'fhir Expr<'fhir>)

§

UnaryOp(UnOp, &'fhir Expr<'fhir>)

§

App(PathExpr<'fhir>, &'fhir [Expr<'fhir>])

§

Alias(AliasReft<'fhir>, &'fhir [Expr<'fhir>])

§

IfThenElse(&'fhir Expr<'fhir>, &'fhir Expr<'fhir>, &'fhir Expr<'fhir>)

Trait Implementations§

source§

impl<'fhir> Clone for ExprKind<'fhir>

source§

fn clone(&self) -> ExprKind<'fhir>

Returns a 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<'fhir> Copy for ExprKind<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for ExprKind<'fhir>

§

impl<'fhir> RefUnwindSafe for ExprKind<'fhir>

§

impl<'fhir> Send for ExprKind<'fhir>

§

impl<'fhir> Sync for ExprKind<'fhir>

§

impl<'fhir> Unpin for ExprKind<'fhir>

§

impl<'fhir> UnwindSafe for ExprKind<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.ExprRes.html b/doc/flux_middle/fhir/enum.ExprRes.html index 2e92284ae9..7c53f4fba3 100644 --- a/doc/flux_middle/fhir/enum.ExprRes.html +++ b/doc/flux_middle/fhir/enum.ExprRes.html @@ -1,10 +1,10 @@ -ExprRes in flux_middle::fhir - Rust

Enum flux_middle::fhir::ExprRes

source ·
pub enum ExprRes<Id = ParamId> {
+ExprRes in flux_middle::fhir - Rust

Enum flux_middle::fhir::ExprRes

source ·
pub enum ExprRes<Id = ParamId> {
     Param(ParamKind, Id),
     Const(DefId),
     ConstGeneric(DefId),
     NumConst(i128),
     GlobalFunc(SpecFuncKind, Symbol),
-}

Variants§

§

Param(ParamKind, Id)

§

Const(DefId)

§

ConstGeneric(DefId)

§

NumConst(i128)

§

GlobalFunc(SpecFuncKind, Symbol)

Implementations§

source§

impl<Id> ExprRes<Id>

source

pub fn map_param_id<R>(self, f: impl FnOnce(Id) -> R) -> ExprRes<R>

source

pub fn expect_param(self) -> (ParamKind, Id)

Trait Implementations§

source§

impl<Id: Clone> Clone for ExprRes<Id>

source§

fn clone(&self) -> ExprRes<Id>

Returns a 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<Id: Debug> Debug for ExprRes<Id>

source§

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

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

impl<Id: Copy> Copy for ExprRes<Id>

Auto Trait Implementations§

§

impl<Id> Freeze for ExprRes<Id>
where +}

Variants§

§

Param(ParamKind, Id)

§

Const(DefId)

§

ConstGeneric(DefId)

§

NumConst(i128)

§

GlobalFunc(SpecFuncKind, Symbol)

Implementations§

source§

impl<Id> ExprRes<Id>

source

pub fn map_param_id<R>(self, f: impl FnOnce(Id) -> R) -> ExprRes<R>

source

pub fn expect_param(self) -> (ParamKind, Id)

Trait Implementations§

source§

impl<Id: Clone> Clone for ExprRes<Id>

source§

fn clone(&self) -> ExprRes<Id>

Returns a 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<Id: Debug> Debug for ExprRes<Id>

source§

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

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

impl<Id: Copy> Copy for ExprRes<Id>

Auto Trait Implementations§

§

impl<Id> Freeze for ExprRes<Id>
where Id: Freeze,

§

impl<Id> RefUnwindSafe for ExprRes<Id>
where Id: RefUnwindSafe,

§

impl<Id> Send for ExprRes<Id>
where Id: Send,

§

impl<Id> Sync for ExprRes<Id>
where diff --git a/doc/flux_middle/fhir/enum.FluxLocalDefId.html b/doc/flux_middle/fhir/enum.FluxLocalDefId.html index 4077d0f157..ce513db247 100644 --- a/doc/flux_middle/fhir/enum.FluxLocalDefId.html +++ b/doc/flux_middle/fhir/enum.FluxLocalDefId.html @@ -3,7 +3,7 @@ Rust(LocalDefId), }

Variants§

§

Flux(Symbol)

An item without a corresponding Rust definition, e.g., a qualifier or an uninterpreted function

§

Rust(LocalDefId)

An item with a corresponding Rust definition, e.g., struct, enum, or function.

-

Trait Implementations§

source§

impl Clone for FluxLocalDefId

source§

fn clone(&self) -> FluxLocalDefId

Returns a 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 FluxLocalDefId

source§

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

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

impl From<FluxOwnerId> for FluxLocalDefId

source§

fn from(flux_id: FluxOwnerId) -> Self

Converts to this type from the input type.
source§

impl From<LocalDefId> for FluxLocalDefId

source§

fn from(def_id: LocalDefId) -> Self

Converts to this type from the input type.
source§

impl Hash for FluxLocalDefId

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 +

Trait Implementations§

source§

impl Clone for FluxLocalDefId

source§

fn clone(&self) -> FluxLocalDefId

Returns a 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 FluxLocalDefId

source§

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

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

impl From<FluxOwnerId> for FluxLocalDefId

source§

fn from(flux_id: FluxOwnerId) -> Self

Converts to this type from the input type.
source§

impl From<LocalDefId> for FluxLocalDefId

source§

fn from(def_id: LocalDefId) -> Self

Converts to this type from the input type.
source§

impl Hash for FluxLocalDefId

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 for FluxLocalDefId

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for FluxLocalDefId

source§

impl Eq for FluxLocalDefId

source§

impl StructuralPartialEq for FluxLocalDefId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/flux_middle/fhir/enum.FluxOwnerId.html b/doc/flux_middle/fhir/enum.FluxOwnerId.html index 3ff937b45c..9b23bf68ef 100644 --- a/doc/flux_middle/fhir/enum.FluxOwnerId.html +++ b/doc/flux_middle/fhir/enum.FluxOwnerId.html @@ -2,7 +2,7 @@ Flux(Symbol), Rust(OwnerId), }

Expand description

Owner version of FluxLocalDefId

-

Variants§

§

Flux(Symbol)

§

Rust(OwnerId)

Implementations§

Trait Implementations§

source§

impl Clone for FluxOwnerId

source§

fn clone(&self) -> FluxOwnerId

Returns a 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 FluxOwnerId

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for FluxOwnerId

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for FluxOwnerId

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<FluxOwnerId> for FluxLocalDefId

source§

fn from(flux_id: FluxOwnerId) -> Self

Converts to this type from the input type.
source§

impl From<OwnerId> for FluxOwnerId

source§

fn from(owner_id: OwnerId) -> Self

Converts to this type from the input type.
source§

impl Hash for FluxOwnerId

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 +

Variants§

§

Flux(Symbol)

§

Rust(OwnerId)

Implementations§

Trait Implementations§

source§

impl Clone for FluxOwnerId

source§

fn clone(&self) -> FluxOwnerId

Returns a 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 FluxOwnerId

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for FluxOwnerId

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for FluxOwnerId

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<FluxOwnerId> for FluxLocalDefId

source§

fn from(flux_id: FluxOwnerId) -> Self

Converts to this type from the input type.
source§

impl From<OwnerId> for FluxOwnerId

source§

fn from(owner_id: OwnerId) -> Self

Converts to this type from the input type.
source§

impl Hash for FluxOwnerId

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 for FluxOwnerId

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for FluxOwnerId

source§

impl Eq for FluxOwnerId

source§

impl StructuralPartialEq for FluxOwnerId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/flux_middle/fhir/enum.GenericArg.html b/doc/flux_middle/fhir/enum.GenericArg.html index eea6d498ac..7473b27e0a 100644 --- a/doc/flux_middle/fhir/enum.GenericArg.html +++ b/doc/flux_middle/fhir/enum.GenericArg.html @@ -1,8 +1,8 @@ -GenericArg in flux_middle::fhir - Rust

Enum flux_middle::fhir::GenericArg

source ·
pub enum GenericArg<'fhir> {
+GenericArg in flux_middle::fhir - Rust

Enum flux_middle::fhir::GenericArg

source ·
pub enum GenericArg<'fhir> {
     Lifetime(Lifetime),
     Type(&'fhir Ty<'fhir>),
     Const(ConstArg),
-}

Variants§

§

Lifetime(Lifetime)

§

Type(&'fhir Ty<'fhir>)

§

Const(ConstArg)

Implementations§

source§

impl<'fhir> GenericArg<'fhir>

source

pub fn expect_type(&self) -> &'fhir Ty<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for GenericArg<'fhir>

source§

fn clone(&self) -> GenericArg<'fhir>

Returns a 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 GenericArg<'_>

source§

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

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

impl<'fhir> Copy for GenericArg<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for GenericArg<'fhir>

§

impl<'fhir> RefUnwindSafe for GenericArg<'fhir>

§

impl<'fhir> Send for GenericArg<'fhir>

§

impl<'fhir> Sync for GenericArg<'fhir>

§

impl<'fhir> Unpin for GenericArg<'fhir>

§

impl<'fhir> UnwindSafe for GenericArg<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Lifetime(Lifetime)

§

Type(&'fhir Ty<'fhir>)

§

Const(ConstArg)

Implementations§

source§

impl<'fhir> GenericArg<'fhir>

source

pub fn expect_type(&self) -> &'fhir Ty<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for GenericArg<'fhir>

source§

fn clone(&self) -> GenericArg<'fhir>

Returns a 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 GenericArg<'_>

source§

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

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

impl<'fhir> Copy for GenericArg<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for GenericArg<'fhir>

§

impl<'fhir> RefUnwindSafe for GenericArg<'fhir>

§

impl<'fhir> Send for GenericArg<'fhir>

§

impl<'fhir> Sync for GenericArg<'fhir>

§

impl<'fhir> Unpin for GenericArg<'fhir>

§

impl<'fhir> UnwindSafe for GenericArg<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.InferMode.html b/doc/flux_middle/fhir/enum.InferMode.html index f9b3bdb0fd..432d790c08 100644 --- a/doc/flux_middle/fhir/enum.InferMode.html +++ b/doc/flux_middle/fhir/enum.InferMode.html @@ -1,4 +1,4 @@ -InferMode in flux_middle::fhir - Rust

Enum flux_middle::fhir::InferMode

source ·
pub enum InferMode {
+InferMode in flux_middle::fhir - Rust

Enum flux_middle::fhir::InferMode

source ·
pub enum InferMode {
     EVar,
     KVar,
 }
Expand description

Inference mode for a parameter.

@@ -8,13 +8,13 @@
§

KVar

Generate a fresh kvar and let fixpoint infer it. This mode can only be used with abstract refinement predicates. If the parameter is marked as kvar then it can only appear in positions that will result in a horn constraint as required by fixpoint.

-

Implementations§

source§

impl InferMode

source

pub fn from_param_kind(kind: ParamKind) -> InferMode

source

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

Trait Implementations§

source§

impl Clone for InferMode

source§

fn clone(&self) -> InferMode

Returns a 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 InferMode

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for InferMode

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for InferMode

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for InferMode

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 +

Implementations§

source§

impl InferMode

source

pub fn from_param_kind(kind: ParamKind) -> InferMode

source

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

Trait Implementations§

source§

impl Clone for InferMode

source§

fn clone(&self) -> InferMode

Returns a 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 InferMode

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for InferMode

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for InferMode

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for InferMode

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 for InferMode

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl SliceInternable for InferMode

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for InferMode

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

source§

impl PartialEq for InferMode

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl SliceInternable for InferMode

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for InferMode

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -27,8 +27,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for InferMode

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for InferMode

source§

impl Eq for InferMode

source§

impl StructuralPartialEq for InferMode

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for InferMode

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for InferMode

source§

impl Eq for InferMode

source§

impl StructuralPartialEq for InferMode

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.Lifetime.html b/doc/flux_middle/fhir/enum.Lifetime.html index 652c634062..37e6db4940 100644 --- a/doc/flux_middle/fhir/enum.Lifetime.html +++ b/doc/flux_middle/fhir/enum.Lifetime.html @@ -5,7 +5,7 @@ which we then resolve when we check for structural compatibility against the rust type.

Variants§

§

Hole(FhirId)

A lifetime hole created during desugaring.

§

Resolved(ResolvedArg)

A resolved lifetime created during lifting.

-

Trait Implementations§

source§

impl Clone for Lifetime

source§

fn clone(&self) -> Lifetime

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl PartialEq for Lifetime

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, +

Trait Implementations§

source§

impl Clone for Lifetime

source§

fn clone(&self) -> Lifetime

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl PartialEq for Lifetime

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for Lifetime

source§

impl Eq for Lifetime

source§

impl StructuralPartialEq for Lifetime

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/fhir/enum.Lit.html b/doc/flux_middle/fhir/enum.Lit.html index e068e09c03..96ffe99cfd 100644 --- a/doc/flux_middle/fhir/enum.Lit.html +++ b/doc/flux_middle/fhir/enum.Lit.html @@ -1,9 +1,9 @@ -Lit in flux_middle::fhir - Rust

Enum flux_middle::fhir::Lit

source ·
pub enum Lit {
+Lit in flux_middle::fhir - Rust

Enum flux_middle::fhir::Lit

source ·
pub enum Lit {
     Int(i128),
     Real(i128),
     Bool(bool),
     Str(Symbol),
-}

Variants§

§

Int(i128)

§

Real(i128)

§

Bool(bool)

§

Str(Symbol)

Implementations§

source§

impl Lit

source

pub const TRUE: Lit = _

Trait Implementations§

source§

impl Clone for Lit

source§

fn clone(&self) -> Lit

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl Copy for Lit

Auto Trait Implementations§

§

impl Freeze for Lit

§

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 T
where +}

Variants§

§

Int(i128)

§

Real(i128)

§

Bool(bool)

§

Str(Symbol)

Implementations§

source§

impl Lit

source

pub const TRUE: Lit = _

Trait Implementations§

source§

impl Clone for Lit

source§

fn clone(&self) -> Lit

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl Copy for Lit

Auto Trait Implementations§

§

impl Freeze for Lit

§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.ParamKind.html b/doc/flux_middle/fhir/enum.ParamKind.html index b327b776bc..41f72be216 100644 --- a/doc/flux_middle/fhir/enum.ParamKind.html +++ b/doc/flux_middle/fhir/enum.ParamKind.html @@ -1,4 +1,4 @@ -ParamKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::ParamKind

source ·
pub enum ParamKind {
+ParamKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::ParamKind

source ·
pub enum ParamKind {
     Explicit(Option<ParamMode>),
     At,
     Pound,
@@ -19,8 +19,8 @@
 to use x as an index in the return type.

These parameters should not appear in a desugared item and we only track them during name resolution to report errors at the use site.

-

Implementations§

source§

impl ParamKind

source

pub fn is_loc(&self) -> bool

Trait Implementations§

source§

impl Clone for ParamKind

source§

fn clone(&self) -> ParamKind

Returns a 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 ParamKind

source§

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

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

impl PartialEq for ParamKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ParamKind

source§

impl Eq for ParamKind

source§

impl StructuralPartialEq for ParamKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

source§

impl ParamKind

source

pub fn is_loc(&self) -> bool

Trait Implementations§

source§

impl Clone for ParamKind

source§

fn clone(&self) -> ParamKind

Returns a 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 ParamKind

source§

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

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

impl PartialEq for ParamKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ParamKind

source§

impl Eq for ParamKind

source§

impl StructuralPartialEq for ParamKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.PrimSort.html b/doc/flux_middle/fhir/enum.PrimSort.html index 5323889de7..1ad85a7372 100644 --- a/doc/flux_middle/fhir/enum.PrimSort.html +++ b/doc/flux_middle/fhir/enum.PrimSort.html @@ -1,10 +1,10 @@ -PrimSort in flux_middle::fhir - Rust

Enum flux_middle::fhir::PrimSort

source ·
pub enum PrimSort {
+PrimSort in flux_middle::fhir - Rust

Enum flux_middle::fhir::PrimSort

source ·
pub enum PrimSort {
     Int,
     Bool,
     Real,
     Set,
     Map,
-}

Variants§

§

Int

§

Bool

§

Real

§

Set

§

Map

Trait Implementations§

source§

impl Clone for PrimSort

source§

fn clone(&self) -> PrimSort

Returns a 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 Copy for PrimSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Int

§

Bool

§

Real

§

Set

§

Map

Trait Implementations§

source§

impl Clone for PrimSort

source§

fn clone(&self) -> PrimSort

Returns a 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 Copy for PrimSort

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.QPath.html b/doc/flux_middle/fhir/enum.QPath.html index 3adbeeba97..0645641949 100644 --- a/doc/flux_middle/fhir/enum.QPath.html +++ b/doc/flux_middle/fhir/enum.QPath.html @@ -1,11 +1,11 @@ -QPath in flux_middle::fhir - Rust

Enum flux_middle::fhir::QPath

source ·
pub enum QPath<'fhir> {
+QPath in flux_middle::fhir - Rust

Enum flux_middle::fhir::QPath

source ·
pub enum QPath<'fhir> {
     Resolved(Option<&'fhir Ty<'fhir>>, Path<'fhir>),
     TypeRelative(&'fhir Ty<'fhir>, &'fhir PathSegment<'fhir>),
-}

Variants§

§

Resolved(Option<&'fhir Ty<'fhir>>, Path<'fhir>)

§

TypeRelative(&'fhir Ty<'fhir>, &'fhir PathSegment<'fhir>)

Implementations§

source§

impl<'fhir> QPath<'fhir>

source

pub fn span(&self) -> Span

Trait Implementations§

source§

impl<'fhir> Clone for QPath<'fhir>

source§

fn clone(&self) -> QPath<'fhir>

Returns a 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 QPath<'_>

source§

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

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

impl<'fhir> From<QPath<'fhir>> for BaseTy<'fhir>

source§

fn from(qpath: QPath<'fhir>) -> Self

Converts to this type from the input type.
source§

impl<'fhir> Copy for QPath<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for QPath<'fhir>

§

impl<'fhir> RefUnwindSafe for QPath<'fhir>

§

impl<'fhir> Send for QPath<'fhir>

§

impl<'fhir> Sync for QPath<'fhir>

§

impl<'fhir> Unpin for QPath<'fhir>

§

impl<'fhir> UnwindSafe for QPath<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Resolved(Option<&'fhir Ty<'fhir>>, Path<'fhir>)

§

TypeRelative(&'fhir Ty<'fhir>, &'fhir PathSegment<'fhir>)

Implementations§

source§

impl<'fhir> QPath<'fhir>

source

pub fn span(&self) -> Span

Trait Implementations§

source§

impl<'fhir> Clone for QPath<'fhir>

source§

fn clone(&self) -> QPath<'fhir>

Returns a 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 QPath<'_>

source§

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

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

impl<'fhir> Copy for QPath<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for QPath<'fhir>

§

impl<'fhir> RefUnwindSafe for QPath<'fhir>

§

impl<'fhir> Send for QPath<'fhir>

§

impl<'fhir> Sync for QPath<'fhir>

§

impl<'fhir> Unpin for QPath<'fhir>

§

impl<'fhir> UnwindSafe for QPath<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

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

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of diff --git a/doc/flux_middle/fhir/enum.Res.html b/doc/flux_middle/fhir/enum.Res.html index 6f301a0354..43255a3b1a 100644 --- a/doc/flux_middle/fhir/enum.Res.html +++ b/doc/flux_middle/fhir/enum.Res.html @@ -1,4 +1,4 @@ -Res in flux_middle::fhir - Rust

Enum flux_middle::fhir::Res

source ·
pub enum Res {
+Res in flux_middle::fhir - Rust

Enum flux_middle::fhir::Res

source ·
pub enum Res {
     Def(DefKind, DefId),
     PrimTy(PrimTy),
     SelfTyAlias {
@@ -9,8 +9,8 @@
         trait_: DefId,
     },
     Err,
-}

Variants§

§

Def(DefKind, DefId)

§

PrimTy(PrimTy)

§

SelfTyAlias

Fields

§alias_to: DefId
§is_trait_impl: bool
§

SelfTyParam

Fields

§trait_: DefId
§

Err

Implementations§

source§

impl Res

source

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

source

pub fn is_box(&self, tcx: TyCtxt<'_>) -> bool

Trait Implementations§

source§

impl Clone for Res

source§

fn clone(&self) -> Res

Returns a 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 Res

source§

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

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

impl PartialEq for Res

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl<Id> TryFrom<Res<Id>> for Res

§

type Error = ()

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

fn try_from(res: Res<Id>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Copy for Res

source§

impl Eq for Res

source§

impl StructuralPartialEq for Res

Auto Trait Implementations§

§

impl Freeze for Res

§

impl RefUnwindSafe for Res

§

impl Send for Res

§

impl Sync for Res

§

impl Unpin for Res

§

impl UnwindSafe for Res

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Def(DefKind, DefId)

§

PrimTy(PrimTy)

§

SelfTyAlias

Fields

§alias_to: DefId
§is_trait_impl: bool
§

SelfTyParam

Fields

§trait_: DefId
§

Err

Implementations§

source§

impl Res

source

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

source

pub fn is_box(&self, tcx: TyCtxt<'_>) -> bool

Trait Implementations§

source§

impl Clone for Res

source§

fn clone(&self) -> Res

Returns a 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 Res

source§

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

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

impl PartialEq for Res

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl<Id> TryFrom<Res<Id>> for Res

§

type Error = ()

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

fn try_from(res: Res<Id>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Copy for Res

source§

impl Eq for Res

source§

impl StructuralPartialEq for Res

Auto Trait Implementations§

§

impl Freeze for Res

§

impl RefUnwindSafe for Res

§

impl Send for Res

§

impl Sync for Res

§

impl Unpin for Res

§

impl UnwindSafe for Res

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.Sort.html b/doc/flux_middle/fhir/enum.Sort.html index 416d80426b..c942fafdda 100644 --- a/doc/flux_middle/fhir/enum.Sort.html +++ b/doc/flux_middle/fhir/enum.Sort.html @@ -1,4 +1,4 @@ -Sort in flux_middle::fhir - Rust

Enum flux_middle::fhir::Sort

source ·
pub enum Sort<'fhir> {
+Sort in flux_middle::fhir - Rust

Enum flux_middle::fhir::Sort

source ·
pub enum Sort<'fhir> {
     Path(SortPath<'fhir>),
     Loc,
     BitVec(usize),
@@ -8,7 +8,7 @@
 
§

BitVec(usize)

A bit vector with the given width.

§

Func(PolyFuncSort<'fhir>)

A polymorphic sort function.

§

Infer

A sort that needs to be inferred.

-

Trait Implementations§

source§

impl<'fhir> Clone for Sort<'fhir>

source§

fn clone(&self) -> Sort<'fhir>

Returns a 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 Sort<'_>

source§

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

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

impl<'fhir> From<PolyFuncSort<'fhir>> for Sort<'fhir>

source§

fn from(fsort: PolyFuncSort<'fhir>) -> Self

Converts to this type from the input type.
source§

impl<'fhir> Copy for Sort<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Sort<'fhir>

§

impl<'fhir> RefUnwindSafe for Sort<'fhir>

§

impl<'fhir> Send for Sort<'fhir>

§

impl<'fhir> Sync for Sort<'fhir>

§

impl<'fhir> Unpin for Sort<'fhir>

§

impl<'fhir> UnwindSafe for Sort<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl<'fhir> Clone for Sort<'fhir>

source§

fn clone(&self) -> Sort<'fhir>

Returns a 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 Sort<'_>

source§

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

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

impl<'fhir> From<PolyFuncSort<'fhir>> for Sort<'fhir>

source§

fn from(fsort: PolyFuncSort<'fhir>) -> Self

Converts to this type from the input type.
source§

impl<'fhir> Copy for Sort<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Sort<'fhir>

§

impl<'fhir> RefUnwindSafe for Sort<'fhir>

§

impl<'fhir> Send for Sort<'fhir>

§

impl<'fhir> Sync for Sort<'fhir>

§

impl<'fhir> Unpin for Sort<'fhir>

§

impl<'fhir> UnwindSafe for Sort<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.SortRes.html b/doc/flux_middle/fhir/enum.SortRes.html index ba806794c8..a45e8dd677 100644 --- a/doc/flux_middle/fhir/enum.SortRes.html +++ b/doc/flux_middle/fhir/enum.SortRes.html @@ -1,4 +1,4 @@ -SortRes in flux_middle::fhir - Rust

Enum flux_middle::fhir::SortRes

source ·
pub enum SortRes {
+SortRes in flux_middle::fhir - Rust

Enum flux_middle::fhir::SortRes

source ·
pub enum SortRes {
     PrimSort(PrimSort),
     User {
         name: Symbol,
@@ -21,7 +21,7 @@
 
§

SelfAlias

The sort of a Self type, as used somewhere other than within a trait.

Fields

§alias_to: DefId

The item introducing the Self type alias, e.g., an impl block.

§

Adt(DefId)

The sort of an adt (enum/struct) or type alias.

-

Trait Implementations§

source§

impl Clone for SortRes

source§

fn clone(&self) -> SortRes

Returns a 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 SortRes

source§

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

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

impl Copy for SortRes

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for SortRes

source§

fn clone(&self) -> SortRes

Returns a 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 SortRes

source§

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

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

impl Copy for SortRes

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/enum.SpecFuncKind.html b/doc/flux_middle/fhir/enum.SpecFuncKind.html index 942faa0dec..58fc2b15b7 100644 --- a/doc/flux_middle/fhir/enum.SpecFuncKind.html +++ b/doc/flux_middle/fhir/enum.SpecFuncKind.html @@ -1,14 +1,14 @@ -SpecFuncKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::SpecFuncKind

source ·
pub enum SpecFuncKind {
+SpecFuncKind in flux_middle::fhir - Rust

Enum flux_middle::fhir::SpecFuncKind

source ·
pub enum SpecFuncKind {
     Thy(Symbol),
     Uif,
     Def,
 }

Variants§

§

Thy(Symbol)

Theory symbols “interpreted” by the SMT solver: Symbol is Fixpoint’s name for the operation e.g. set_cup for flux’s set_union

§

Uif

User-defined uninterpreted functions with no definition

§

Def

User-defined functions with a body definition

-

Trait Implementations§

source§

impl Clone for SpecFuncKind

source§

fn clone(&self) -> SpecFuncKind

Returns a 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 SpecFuncKind

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for SpecFuncKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SpecFuncKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SpecFuncKind

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 +

Trait Implementations§

source§

impl Clone for SpecFuncKind

source§

fn clone(&self) -> SpecFuncKind

Returns a 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 SpecFuncKind

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for SpecFuncKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SpecFuncKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SpecFuncKind

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 for SpecFuncKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for SpecFuncKind

source§

impl Eq for SpecFuncKind

source§

impl StructuralPartialEq for SpecFuncKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

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

impl PartialEq for SpecFuncKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for SpecFuncKind

source§

impl Eq for SpecFuncKind

source§

impl StructuralPartialEq for SpecFuncKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/index.html b/doc/flux_middle/fhir/index.html index d12544c072..6435372059 100644 --- a/doc/flux_middle/fhir/index.html +++ b/doc/flux_middle/fhir/index.html @@ -1,4 +1,4 @@ -flux_middle::fhir - Rust

Module flux_middle::fhir

source ·
Expand description

Flux High-Level Intermediate Representation

+flux_middle::fhir - Rust

Module flux_middle::fhir

source ·
Expand description

Flux High-Level Intermediate Representation

The fhir corresponds to the desugared version of source level flux annotations. The main difference with the surface syntax is that the list of refinement parameters is explicit in fhir. For example, the following signature

diff --git a/doc/flux_middle/fhir/struct.AliasReft.html b/doc/flux_middle/fhir/struct.AliasReft.html index 874fb4b423..10171c37e2 100644 --- a/doc/flux_middle/fhir/struct.AliasReft.html +++ b/doc/flux_middle/fhir/struct.AliasReft.html @@ -1,9 +1,9 @@ -AliasReft in flux_middle::fhir - Rust

Struct flux_middle::fhir::AliasReft

source ·
pub struct AliasReft<'fhir> {
+AliasReft in flux_middle::fhir - Rust

Struct flux_middle::fhir::AliasReft

source ·
pub struct AliasReft<'fhir> {
     pub qself: &'fhir Ty<'fhir>,
     pub path: Path<'fhir>,
     pub name: Symbol,
 }
Expand description

<qself as path>::name

-

Fields§

§qself: &'fhir Ty<'fhir>§path: Path<'fhir>§name: Symbol

Trait Implementations§

source§

impl<'fhir> Clone for AliasReft<'fhir>

source§

fn clone(&self) -> AliasReft<'fhir>

Returns a 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 AliasReft<'_>

source§

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

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

impl<'fhir> Copy for AliasReft<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for AliasReft<'fhir>

§

impl<'fhir> RefUnwindSafe for AliasReft<'fhir>

§

impl<'fhir> Send for AliasReft<'fhir>

§

impl<'fhir> Sync for AliasReft<'fhir>

§

impl<'fhir> Unpin for AliasReft<'fhir>

§

impl<'fhir> UnwindSafe for AliasReft<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Fields§

§qself: &'fhir Ty<'fhir>§path: Path<'fhir>§name: Symbol

Trait Implementations§

source§

impl<'fhir> Clone for AliasReft<'fhir>

source§

fn clone(&self) -> AliasReft<'fhir>

Returns a 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 AliasReft<'_>

source§

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

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

impl<'fhir> Copy for AliasReft<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for AliasReft<'fhir>

§

impl<'fhir> RefUnwindSafe for AliasReft<'fhir>

§

impl<'fhir> Send for AliasReft<'fhir>

§

impl<'fhir> Sync for AliasReft<'fhir>

§

impl<'fhir> Unpin for AliasReft<'fhir>

§

impl<'fhir> UnwindSafe for AliasReft<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.AssocItemConstraint.html b/doc/flux_middle/fhir/struct.AssocItemConstraint.html index bc3ea6690c..cfac193d0a 100644 --- a/doc/flux_middle/fhir/struct.AssocItemConstraint.html +++ b/doc/flux_middle/fhir/struct.AssocItemConstraint.html @@ -1,7 +1,7 @@ -AssocItemConstraint in flux_middle::fhir - Rust

Struct flux_middle::fhir::AssocItemConstraint

source ·
pub struct AssocItemConstraint<'fhir> {
+AssocItemConstraint in flux_middle::fhir - Rust

Struct flux_middle::fhir::AssocItemConstraint

source ·
pub struct AssocItemConstraint<'fhir> {
     pub ident: Ident,
     pub kind: AssocItemConstraintKind<'fhir>,
-}

Fields§

§ident: Ident§kind: AssocItemConstraintKind<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for AssocItemConstraint<'fhir>

source§

fn clone(&self) -> AssocItemConstraint<'fhir>

Returns a 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 AssocItemConstraint<'_>

source§

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

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

impl<'fhir> Copy for AssocItemConstraint<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for AssocItemConstraint<'fhir>

§

impl<'fhir> RefUnwindSafe for AssocItemConstraint<'fhir>

§

impl<'fhir> Send for AssocItemConstraint<'fhir>

§

impl<'fhir> Sync for AssocItemConstraint<'fhir>

§

impl<'fhir> Unpin for AssocItemConstraint<'fhir>

§

impl<'fhir> UnwindSafe for AssocItemConstraint<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§ident: Ident§kind: AssocItemConstraintKind<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for AssocItemConstraint<'fhir>

source§

fn clone(&self) -> AssocItemConstraint<'fhir>

Returns a 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 AssocItemConstraint<'_>

source§

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

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

impl<'fhir> Copy for AssocItemConstraint<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for AssocItemConstraint<'fhir>

§

impl<'fhir> RefUnwindSafe for AssocItemConstraint<'fhir>

§

impl<'fhir> Send for AssocItemConstraint<'fhir>

§

impl<'fhir> Sync for AssocItemConstraint<'fhir>

§

impl<'fhir> Unpin for AssocItemConstraint<'fhir>

§

impl<'fhir> UnwindSafe for AssocItemConstraint<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.BareFnTy.html b/doc/flux_middle/fhir/struct.BareFnTy.html index 14df0d9cea..35873074f9 100644 --- a/doc/flux_middle/fhir/struct.BareFnTy.html +++ b/doc/flux_middle/fhir/struct.BareFnTy.html @@ -4,7 +4,7 @@ pub generic_params: &'fhir [GenericParam<'fhir>], pub decl: &'fhir FnDecl<'fhir>, pub param_names: &'fhir [Ident], -}

Fields§

§safety: Safety§abi: Abi§generic_params: &'fhir [GenericParam<'fhir>]§decl: &'fhir FnDecl<'fhir>§param_names: &'fhir [Ident]

Trait Implementations§

source§

impl Debug for BareFnTy<'_>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'fhir> Freeze for BareFnTy<'fhir>

§

impl<'fhir> RefUnwindSafe for BareFnTy<'fhir>

§

impl<'fhir> Send for BareFnTy<'fhir>

§

impl<'fhir> Sync for BareFnTy<'fhir>

§

impl<'fhir> Unpin for BareFnTy<'fhir>

§

impl<'fhir> UnwindSafe for BareFnTy<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§safety: Safety§abi: Abi§generic_params: &'fhir [GenericParam<'fhir>]§decl: &'fhir FnDecl<'fhir>§param_names: &'fhir [Ident]

Trait Implementations§

source§

impl Debug for BareFnTy<'_>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'fhir> Freeze for BareFnTy<'fhir>

§

impl<'fhir> RefUnwindSafe for BareFnTy<'fhir>

§

impl<'fhir> Send for BareFnTy<'fhir>

§

impl<'fhir> Sync for BareFnTy<'fhir>

§

impl<'fhir> Unpin for BareFnTy<'fhir>

§

impl<'fhir> UnwindSafe for BareFnTy<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/fhir/struct.BaseTy.html b/doc/flux_middle/fhir/struct.BaseTy.html index 834e97f608..27b253d71c 100644 --- a/doc/flux_middle/fhir/struct.BaseTy.html +++ b/doc/flux_middle/fhir/struct.BaseTy.html @@ -1,12 +1,13 @@ -BaseTy in flux_middle::fhir - Rust

Struct flux_middle::fhir::BaseTy

source ·
pub struct BaseTy<'fhir> {
+BaseTy in flux_middle::fhir - Rust

Struct flux_middle::fhir::BaseTy

source ·
pub struct BaseTy<'fhir> {
     pub kind: BaseTyKind<'fhir>,
+    pub fhir_id: FhirId,
     pub span: Span,
 }
Expand description

These are types of things that may be refined with indices or existentials

-

Fields§

§kind: BaseTyKind<'fhir>§span: Span

Implementations§

source§

impl<'fhir> BaseTy<'fhir>

source

fn as_path(&self) -> Option<Path<'fhir>>

Trait Implementations§

source§

impl<'fhir> Clone for BaseTy<'fhir>

source§

fn clone(&self) -> BaseTy<'fhir>

Returns a 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 BaseTy<'_>

source§

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

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

impl<'fhir> From<QPath<'fhir>> for BaseTy<'fhir>

source§

fn from(qpath: QPath<'fhir>) -> Self

Converts to this type from the input type.
source§

impl<'fhir> Copy for BaseTy<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for BaseTy<'fhir>

§

impl<'fhir> RefUnwindSafe for BaseTy<'fhir>

§

impl<'fhir> Send for BaseTy<'fhir>

§

impl<'fhir> Sync for BaseTy<'fhir>

§

impl<'fhir> Unpin for BaseTy<'fhir>

§

impl<'fhir> UnwindSafe for BaseTy<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Fields§

§kind: BaseTyKind<'fhir>§fhir_id: FhirId§span: Span

Implementations§

source§

impl<'fhir> BaseTy<'fhir>

source

pub fn from_qpath(qpath: QPath<'fhir>, fhir_id: FhirId) -> Self

source

fn as_path(&self) -> Option<Path<'fhir>>

Trait Implementations§

source§

impl<'fhir> Clone for BaseTy<'fhir>

source§

fn clone(&self) -> BaseTy<'fhir>

Returns a 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 BaseTy<'_>

source§

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

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

impl<'fhir> Copy for BaseTy<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for BaseTy<'fhir>

§

impl<'fhir> RefUnwindSafe for BaseTy<'fhir>

§

impl<'fhir> Send for BaseTy<'fhir>

§

impl<'fhir> Sync for BaseTy<'fhir>

§

impl<'fhir> Unpin for BaseTy<'fhir>

§

impl<'fhir> UnwindSafe for BaseTy<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

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

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of diff --git a/doc/flux_middle/fhir/struct.ConstArg.html b/doc/flux_middle/fhir/struct.ConstArg.html index e12e0c8cd4..8483b9633c 100644 --- a/doc/flux_middle/fhir/struct.ConstArg.html +++ b/doc/flux_middle/fhir/struct.ConstArg.html @@ -1,8 +1,8 @@ -ConstArg in flux_middle::fhir - Rust

Struct flux_middle::fhir::ConstArg

source ·
pub struct ConstArg {
+ConstArg in flux_middle::fhir - Rust

Struct flux_middle::fhir::ConstArg

source ·
pub struct ConstArg {
     pub kind: ConstArgKind,
     pub span: Span,
-}

Fields§

§kind: ConstArgKind§span: Span

Trait Implementations§

source§

impl Clone for ConstArg

source§

fn clone(&self) -> ConstArg

Returns a 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 ConstArg

source§

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

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

impl PartialEq for ConstArg

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ConstArg

source§

impl Eq for ConstArg

source§

impl StructuralPartialEq for ConstArg

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§kind: ConstArgKind§span: Span

Trait Implementations§

source§

impl Clone for ConstArg

source§

fn clone(&self) -> ConstArg

Returns a 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 ConstArg

source§

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

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

impl PartialEq for ConstArg

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ConstArg

source§

impl Eq for ConstArg

source§

impl StructuralPartialEq for ConstArg

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.Expr.html b/doc/flux_middle/fhir/struct.Expr.html index 46a547b456..3cd80c4281 100644 --- a/doc/flux_middle/fhir/struct.Expr.html +++ b/doc/flux_middle/fhir/struct.Expr.html @@ -1,8 +1,8 @@ -Expr in flux_middle::fhir - Rust

Struct flux_middle::fhir::Expr

source ·
pub struct Expr<'fhir> {
+Expr in flux_middle::fhir - Rust

Struct flux_middle::fhir::Expr

source ·
pub struct Expr<'fhir> {
     pub kind: ExprKind<'fhir>,
     pub span: Span,
     pub fhir_id: FhirId,
-}

Fields§

§kind: ExprKind<'fhir>§span: Span§fhir_id: FhirId

Trait Implementations§

source§

impl<'fhir> Clone for Expr<'fhir>

source§

fn clone(&self) -> Expr<'fhir>

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl<'fhir> Copy for Expr<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Expr<'fhir>

§

impl<'fhir> RefUnwindSafe for Expr<'fhir>

§

impl<'fhir> Send for Expr<'fhir>

§

impl<'fhir> Sync for Expr<'fhir>

§

impl<'fhir> Unpin for Expr<'fhir>

§

impl<'fhir> UnwindSafe for Expr<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§kind: ExprKind<'fhir>§span: Span§fhir_id: FhirId

Trait Implementations§

source§

impl<'fhir> Clone for Expr<'fhir>

source§

fn clone(&self) -> Expr<'fhir>

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl<'fhir> Copy for Expr<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Expr<'fhir>

§

impl<'fhir> RefUnwindSafe for Expr<'fhir>

§

impl<'fhir> Send for Expr<'fhir>

§

impl<'fhir> Sync for Expr<'fhir>

§

impl<'fhir> Unpin for Expr<'fhir>

§

impl<'fhir> UnwindSafe for Expr<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.FnDecl.html b/doc/flux_middle/fhir/struct.FnDecl.html index 9862438777..209a3b1c21 100644 --- a/doc/flux_middle/fhir/struct.FnDecl.html +++ b/doc/flux_middle/fhir/struct.FnDecl.html @@ -5,7 +5,7 @@ pub span: Span, pub lifted: bool, }

Fields§

§requires: &'fhir [Requires<'fhir>]§inputs: &'fhir [Ty<'fhir>]§output: FnOutput<'fhir>§span: Span§lifted: bool

Whether the sig was lifted from a hir signature

-

Trait Implementations§

source§

impl<'fhir> Clone for FnDecl<'fhir>

source§

fn clone(&self) -> FnDecl<'fhir>

Returns a 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 FnDecl<'_>

source§

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

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

impl<'fhir> Copy for FnDecl<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FnDecl<'fhir>

§

impl<'fhir> RefUnwindSafe for FnDecl<'fhir>

§

impl<'fhir> Send for FnDecl<'fhir>

§

impl<'fhir> Sync for FnDecl<'fhir>

§

impl<'fhir> Unpin for FnDecl<'fhir>

§

impl<'fhir> UnwindSafe for FnDecl<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl<'fhir> Clone for FnDecl<'fhir>

source§

fn clone(&self) -> FnDecl<'fhir>

Returns a 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 FnDecl<'_>

source§

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

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

impl<'fhir> Copy for FnDecl<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FnDecl<'fhir>

§

impl<'fhir> RefUnwindSafe for FnDecl<'fhir>

§

impl<'fhir> Send for FnDecl<'fhir>

§

impl<'fhir> Sync for FnDecl<'fhir>

§

impl<'fhir> Unpin for FnDecl<'fhir>

§

impl<'fhir> UnwindSafe for FnDecl<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.FnOutput.html b/doc/flux_middle/fhir/struct.FnOutput.html index 11312ad0ee..1c1a33a915 100644 --- a/doc/flux_middle/fhir/struct.FnOutput.html +++ b/doc/flux_middle/fhir/struct.FnOutput.html @@ -2,7 +2,7 @@ pub params: &'fhir [RefineParam<'fhir>], pub ret: Ty<'fhir>, pub ensures: &'fhir [Ensures<'fhir>], -}

Fields§

§params: &'fhir [RefineParam<'fhir>]§ret: Ty<'fhir>§ensures: &'fhir [Ensures<'fhir>]

Trait Implementations§

source§

impl<'fhir> Clone for FnOutput<'fhir>

source§

fn clone(&self) -> FnOutput<'fhir>

Returns a 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 FnOutput<'_>

source§

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

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

impl<'fhir> Copy for FnOutput<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FnOutput<'fhir>

§

impl<'fhir> RefUnwindSafe for FnOutput<'fhir>

§

impl<'fhir> Send for FnOutput<'fhir>

§

impl<'fhir> Sync for FnOutput<'fhir>

§

impl<'fhir> Unpin for FnOutput<'fhir>

§

impl<'fhir> UnwindSafe for FnOutput<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§params: &'fhir [RefineParam<'fhir>]§ret: Ty<'fhir>§ensures: &'fhir [Ensures<'fhir>]

Trait Implementations§

source§

impl<'fhir> Clone for FnOutput<'fhir>

source§

fn clone(&self) -> FnOutput<'fhir>

Returns a 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 FnOutput<'_>

source§

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

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

impl<'fhir> Copy for FnOutput<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FnOutput<'fhir>

§

impl<'fhir> RefUnwindSafe for FnOutput<'fhir>

§

impl<'fhir> Send for FnOutput<'fhir>

§

impl<'fhir> Sync for FnOutput<'fhir>

§

impl<'fhir> Unpin for FnOutput<'fhir>

§

impl<'fhir> UnwindSafe for FnOutput<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.FnSig.html b/doc/flux_middle/fhir/struct.FnSig.html index 33294176c4..1c71817f84 100644 --- a/doc/flux_middle/fhir/struct.FnSig.html +++ b/doc/flux_middle/fhir/struct.FnSig.html @@ -2,7 +2,7 @@ pub header: FnHeader, pub qualifiers: &'fhir [Ident], pub decl: &'fhir FnDecl<'fhir>, -}

Fields§

§header: FnHeader§qualifiers: &'fhir [Ident]§decl: &'fhir FnDecl<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for FnSig<'fhir>

source§

fn clone(&self) -> FnSig<'fhir>

Returns a 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 FnSig<'_>

source§

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

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

impl<'fhir> Copy for FnSig<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FnSig<'fhir>

§

impl<'fhir> RefUnwindSafe for FnSig<'fhir>

§

impl<'fhir> Send for FnSig<'fhir>

§

impl<'fhir> Sync for FnSig<'fhir>

§

impl<'fhir> Unpin for FnSig<'fhir>

§

impl<'fhir> UnwindSafe for FnSig<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§header: FnHeader§qualifiers: &'fhir [Ident]§decl: &'fhir FnDecl<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for FnSig<'fhir>

source§

fn clone(&self) -> FnSig<'fhir>

Returns a 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 FnSig<'_>

source§

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

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

impl<'fhir> Copy for FnSig<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FnSig<'fhir>

§

impl<'fhir> RefUnwindSafe for FnSig<'fhir>

§

impl<'fhir> Send for FnSig<'fhir>

§

impl<'fhir> Sync for FnSig<'fhir>

§

impl<'fhir> Unpin for FnSig<'fhir>

§

impl<'fhir> UnwindSafe for FnSig<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.FuncSort.html b/doc/flux_middle/fhir/struct.FuncSort.html index f17af0cf70..a0edc8f143 100644 --- a/doc/flux_middle/fhir/struct.FuncSort.html +++ b/doc/flux_middle/fhir/struct.FuncSort.html @@ -1,7 +1,7 @@ -FuncSort in flux_middle::fhir - Rust

Struct flux_middle::fhir::FuncSort

source ·
pub struct FuncSort<'fhir> {
+FuncSort in flux_middle::fhir - Rust

Struct flux_middle::fhir::FuncSort

source ·
pub struct FuncSort<'fhir> {
     pub inputs_and_output: &'fhir [Sort<'fhir>],
 }

Fields§

§inputs_and_output: &'fhir [Sort<'fhir>]

inputs and output in order

-

Implementations§

source§

impl<'fhir> FuncSort<'fhir>

source

pub fn inputs(&self) -> &[Sort<'_>]

source

pub fn output(&self) -> &Sort<'_>

Trait Implementations§

source§

impl<'fhir> Clone for FuncSort<'fhir>

source§

fn clone(&self) -> FuncSort<'fhir>

Returns a 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 FuncSort<'_>

source§

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

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

impl<'fhir> Copy for FuncSort<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FuncSort<'fhir>

§

impl<'fhir> RefUnwindSafe for FuncSort<'fhir>

§

impl<'fhir> Send for FuncSort<'fhir>

§

impl<'fhir> Sync for FuncSort<'fhir>

§

impl<'fhir> Unpin for FuncSort<'fhir>

§

impl<'fhir> UnwindSafe for FuncSort<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

source§

impl<'fhir> FuncSort<'fhir>

source

pub fn inputs(&self) -> &[Sort<'_>]

source

pub fn output(&self) -> &Sort<'_>

Trait Implementations§

source§

impl<'fhir> Clone for FuncSort<'fhir>

source§

fn clone(&self) -> FuncSort<'fhir>

Returns a 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 FuncSort<'_>

source§

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

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

impl<'fhir> Copy for FuncSort<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for FuncSort<'fhir>

§

impl<'fhir> RefUnwindSafe for FuncSort<'fhir>

§

impl<'fhir> Send for FuncSort<'fhir>

§

impl<'fhir> Sync for FuncSort<'fhir>

§

impl<'fhir> Unpin for FuncSort<'fhir>

§

impl<'fhir> UnwindSafe for FuncSort<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.Generics.html b/doc/flux_middle/fhir/struct.Generics.html index 50c5ae1edc..e45297b9c6 100644 --- a/doc/flux_middle/fhir/struct.Generics.html +++ b/doc/flux_middle/fhir/struct.Generics.html @@ -3,7 +3,7 @@ pub refinement_params: &'fhir [RefineParam<'fhir>], pub self_kind: Option<GenericParamKind<'fhir>>, pub predicates: &'fhir [WhereBoundPredicate<'fhir>], -}

Fields§

§params: &'fhir [GenericParam<'fhir>]§refinement_params: &'fhir [RefineParam<'fhir>]§self_kind: Option<GenericParamKind<'fhir>>§predicates: &'fhir [WhereBoundPredicate<'fhir>]

Implementations§

source§

impl<'fhir> Generics<'fhir>

source

pub fn get_param(&self, def_id: LocalDefId) -> &'fhir GenericParam<'fhir>

source

pub fn with_refined_by( +}

Fields§

§params: &'fhir [GenericParam<'fhir>]§refinement_params: &'fhir [RefineParam<'fhir>]§self_kind: Option<GenericParamKind<'fhir>>§predicates: &'fhir [WhereBoundPredicate<'fhir>]

Implementations§

source§

impl<'fhir> Generics<'fhir>

source

pub fn get_param(&self, def_id: LocalDefId) -> &'fhir GenericParam<'fhir>

source

pub fn with_refined_by( self, genv: GlobalEnv<'fhir, '_>, refined_by: &RefinedBy<'_>, diff --git a/doc/flux_middle/fhir/struct.ParamId.html b/doc/flux_middle/fhir/struct.ParamId.html index a5edde5a82..994bfb008f 100644 --- a/doc/flux_middle/fhir/struct.ParamId.html +++ b/doc/flux_middle/fhir/struct.ParamId.html @@ -1,29 +1,29 @@ -ParamId in flux_middle::fhir - Rust

Struct flux_middle::fhir::ParamId

source ·
pub struct ParamId {
+ParamId in flux_middle::fhir - Rust

Struct flux_middle::fhir::ParamId

source ·
pub struct ParamId {
     private_use_as_methods_instead: u32,
-}

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl ParamId

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const ZERO: Self = _

Zero value of the index.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

+}

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl ParamId

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

+
source

pub const MAX: Self = _

Maximum value the index can take.

+
source

pub const ZERO: Self = _

Zero value of the index.

+
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

+
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

§Panics

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

§Safety

The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for ParamId

§

type Output = ParamId

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl Clone for ParamId

source§

fn clone(&self) -> ParamId

Returns a 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 ParamId

source§

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

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

impl From<ParamId> for u32

source§

fn from(v: ParamId) -> u32

Converts to this type from the input type.
source§

impl From<ParamId> for usize

source§

fn from(v: ParamId) -> usize

Converts to this type from the input type.
source§

impl From<u32> for ParamId

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for ParamId

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for ParamId

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 +

source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

+
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

+
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

+

Trait Implementations§

source§

impl Add<usize> for ParamId

§

type Output = ParamId

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl Clone for ParamId

source§

fn clone(&self) -> ParamId

Returns a 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 ParamId

source§

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

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

impl From<ParamId> for u32

source§

fn from(v: ParamId) -> u32

Converts to this type from the input type.
source§

impl From<ParamId> for usize

source§

fn from(v: ParamId) -> usize

Converts to this type from the input type.
source§

impl From<u32> for ParamId

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for ParamId

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for ParamId

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 Idx for ParamId

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for ParamId

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ParamId

source§

impl Eq for ParamId

source§

impl StructuralPartialEq for ParamId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

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

source§

impl Idx for ParamId

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for ParamId

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for ParamId

source§

impl Eq for ParamId

source§

impl StructuralPartialEq for ParamId

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.PartialRes.html b/doc/flux_middle/fhir/struct.PartialRes.html index 0ec3a129cb..efb944d30f 100644 --- a/doc/flux_middle/fhir/struct.PartialRes.html +++ b/doc/flux_middle/fhir/struct.PartialRes.html @@ -1,11 +1,11 @@ -PartialRes in flux_middle::fhir - Rust

Struct flux_middle::fhir::PartialRes

source ·
pub struct PartialRes {
+PartialRes in flux_middle::fhir - Rust

Struct flux_middle::fhir::PartialRes

source ·
pub struct PartialRes {
     base_res: Res,
     unresolved_segments: usize,
 }
Expand description

See [rustc_hir::def::PartialRes]

-

Fields§

§base_res: Res§unresolved_segments: usize

Implementations§

source§

impl PartialRes

source

pub fn new(base_res: Res) -> Self

source

pub fn with_unresolved_segments( +

Fields§

§base_res: Res§unresolved_segments: usize

Implementations§

source§

impl PartialRes

source

pub fn new(base_res: Res) -> Self

source

pub fn with_unresolved_segments( base_res: Res, unresolved_segments: usize, -) -> Self

source

pub fn base_res(&self) -> Res

source

pub fn unresolved_segments(&self) -> usize

source

pub fn full_res(&self) -> Option<Res>

source

pub fn expect_full_res(&self) -> Res

source

pub fn is_box(&self, tcx: TyCtxt<'_>) -> bool

Trait Implementations§

source§

impl Clone for PartialRes

source§

fn clone(&self) -> PartialRes

Returns a 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 PartialRes

source§

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

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

impl Copy for PartialRes

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

source

pub fn base_res(&self) -> Res

source

pub fn unresolved_segments(&self) -> usize

source

pub fn full_res(&self) -> Option<Res>

source

pub fn expect_full_res(&self) -> Res

source

pub fn is_box(&self, tcx: TyCtxt<'_>) -> bool

Trait Implementations§

source§

impl Clone for PartialRes

source§

fn clone(&self) -> PartialRes

Returns a 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 PartialRes

source§

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

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

impl Copy for PartialRes

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.Path.html b/doc/flux_middle/fhir/struct.Path.html index 2715f10794..50e784e77b 100644 --- a/doc/flux_middle/fhir/struct.Path.html +++ b/doc/flux_middle/fhir/struct.Path.html @@ -1,9 +1,9 @@ -Path in flux_middle::fhir - Rust

Struct flux_middle::fhir::Path

source ·
pub struct Path<'fhir> {
+Path in flux_middle::fhir - Rust

Struct flux_middle::fhir::Path

source ·
pub struct Path<'fhir> {
     pub res: Res,
     pub segments: &'fhir [PathSegment<'fhir>],
     pub refine: &'fhir [RefineArg<'fhir>],
     pub span: Span,
-}

Fields§

§res: Res§segments: &'fhir [PathSegment<'fhir>]§refine: &'fhir [RefineArg<'fhir>]§span: Span

Implementations§

source§

impl<'fhir> Path<'fhir>

source

pub fn last_segment(&self) -> &'fhir PathSegment<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for Path<'fhir>

source§

fn clone(&self) -> Path<'fhir>

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl IntoDiagArg for Path<'_>

source§

impl<'fhir> Copy for Path<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Path<'fhir>

§

impl<'fhir> RefUnwindSafe for Path<'fhir>

§

impl<'fhir> Send for Path<'fhir>

§

impl<'fhir> Sync for Path<'fhir>

§

impl<'fhir> Unpin for Path<'fhir>

§

impl<'fhir> UnwindSafe for Path<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§res: Res§segments: &'fhir [PathSegment<'fhir>]§refine: &'fhir [RefineArg<'fhir>]§span: Span

Implementations§

source§

impl<'fhir> Path<'fhir>

source

pub fn last_segment(&self) -> &'fhir PathSegment<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for Path<'fhir>

source§

fn clone(&self) -> Path<'fhir>

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl IntoDiagArg for Path<'_>

source§

impl<'fhir> Copy for Path<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Path<'fhir>

§

impl<'fhir> RefUnwindSafe for Path<'fhir>

§

impl<'fhir> Send for Path<'fhir>

§

impl<'fhir> Sync for Path<'fhir>

§

impl<'fhir> Unpin for Path<'fhir>

§

impl<'fhir> UnwindSafe for Path<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.PathExpr.html b/doc/flux_middle/fhir/struct.PathExpr.html index d11c9b5096..a999c0ed9d 100644 --- a/doc/flux_middle/fhir/struct.PathExpr.html +++ b/doc/flux_middle/fhir/struct.PathExpr.html @@ -1,9 +1,9 @@ -PathExpr in flux_middle::fhir - Rust

Struct flux_middle::fhir::PathExpr

source ·
pub struct PathExpr<'fhir> {
+PathExpr in flux_middle::fhir - Rust

Struct flux_middle::fhir::PathExpr

source ·
pub struct PathExpr<'fhir> {
     pub segments: &'fhir [Ident],
     pub res: ExprRes,
     pub fhir_id: FhirId,
     pub span: Span,
-}

Fields§

§segments: &'fhir [Ident]§res: ExprRes§fhir_id: FhirId§span: Span

Trait Implementations§

source§

impl<'fhir> Clone for PathExpr<'fhir>

source§

fn clone(&self) -> PathExpr<'fhir>

Returns a 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 PathExpr<'_>

source§

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

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

impl<'fhir> Copy for PathExpr<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PathExpr<'fhir>

§

impl<'fhir> RefUnwindSafe for PathExpr<'fhir>

§

impl<'fhir> Send for PathExpr<'fhir>

§

impl<'fhir> Sync for PathExpr<'fhir>

§

impl<'fhir> Unpin for PathExpr<'fhir>

§

impl<'fhir> UnwindSafe for PathExpr<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§segments: &'fhir [Ident]§res: ExprRes§fhir_id: FhirId§span: Span

Trait Implementations§

source§

impl<'fhir> Clone for PathExpr<'fhir>

source§

fn clone(&self) -> PathExpr<'fhir>

Returns a 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 PathExpr<'_>

source§

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

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

impl<'fhir> Copy for PathExpr<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PathExpr<'fhir>

§

impl<'fhir> RefUnwindSafe for PathExpr<'fhir>

§

impl<'fhir> Send for PathExpr<'fhir>

§

impl<'fhir> Sync for PathExpr<'fhir>

§

impl<'fhir> Unpin for PathExpr<'fhir>

§

impl<'fhir> UnwindSafe for PathExpr<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.PathSegment.html b/doc/flux_middle/fhir/struct.PathSegment.html index 1e09f963a0..984807326f 100644 --- a/doc/flux_middle/fhir/struct.PathSegment.html +++ b/doc/flux_middle/fhir/struct.PathSegment.html @@ -1,9 +1,9 @@ -PathSegment in flux_middle::fhir - Rust

Struct flux_middle::fhir::PathSegment

source ·
pub struct PathSegment<'fhir> {
+PathSegment in flux_middle::fhir - Rust

Struct flux_middle::fhir::PathSegment

source ·
pub struct PathSegment<'fhir> {
     pub ident: Ident,
     pub res: Res,
     pub args: &'fhir [GenericArg<'fhir>],
     pub constraints: &'fhir [AssocItemConstraint<'fhir>],
-}

Fields§

§ident: Ident§res: Res§args: &'fhir [GenericArg<'fhir>]§constraints: &'fhir [AssocItemConstraint<'fhir>]

Trait Implementations§

source§

impl<'fhir> Clone for PathSegment<'fhir>

source§

fn clone(&self) -> PathSegment<'fhir>

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl<'fhir> Copy for PathSegment<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PathSegment<'fhir>

§

impl<'fhir> RefUnwindSafe for PathSegment<'fhir>

§

impl<'fhir> Send for PathSegment<'fhir>

§

impl<'fhir> Sync for PathSegment<'fhir>

§

impl<'fhir> Unpin for PathSegment<'fhir>

§

impl<'fhir> UnwindSafe for PathSegment<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§ident: Ident§res: Res§args: &'fhir [GenericArg<'fhir>]§constraints: &'fhir [AssocItemConstraint<'fhir>]

Trait Implementations§

source§

impl<'fhir> Clone for PathSegment<'fhir>

source§

fn clone(&self) -> PathSegment<'fhir>

Returns a 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, f: &mut Formatter<'_>) -> Result

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

impl<'fhir> Copy for PathSegment<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PathSegment<'fhir>

§

impl<'fhir> RefUnwindSafe for PathSegment<'fhir>

§

impl<'fhir> Send for PathSegment<'fhir>

§

impl<'fhir> Sync for PathSegment<'fhir>

§

impl<'fhir> Unpin for PathSegment<'fhir>

§

impl<'fhir> UnwindSafe for PathSegment<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.PolyFuncSort.html b/doc/flux_middle/fhir/struct.PolyFuncSort.html index f036f8fdf7..3e5532215b 100644 --- a/doc/flux_middle/fhir/struct.PolyFuncSort.html +++ b/doc/flux_middle/fhir/struct.PolyFuncSort.html @@ -1,7 +1,7 @@ -PolyFuncSort in flux_middle::fhir - Rust

Struct flux_middle::fhir::PolyFuncSort

source ·
pub struct PolyFuncSort<'fhir> {
+PolyFuncSort in flux_middle::fhir - Rust

Struct flux_middle::fhir::PolyFuncSort

source ·
pub struct PolyFuncSort<'fhir> {
     pub params: usize,
     pub fsort: FuncSort<'fhir>,
-}

Fields§

§params: usize§fsort: FuncSort<'fhir>

Implementations§

source§

impl<'fhir> PolyFuncSort<'fhir>

source

pub fn new(params: usize, inputs_and_output: &'fhir [Sort<'_>]) -> Self

Trait Implementations§

source§

impl<'fhir> Clone for PolyFuncSort<'fhir>

source§

fn clone(&self) -> PolyFuncSort<'fhir>

Returns a 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 PolyFuncSort<'_>

source§

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

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

impl<'fhir> From<PolyFuncSort<'fhir>> for Sort<'fhir>

source§

fn from(fsort: PolyFuncSort<'fhir>) -> Self

Converts to this type from the input type.
source§

impl<'fhir> Copy for PolyFuncSort<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PolyFuncSort<'fhir>

§

impl<'fhir> RefUnwindSafe for PolyFuncSort<'fhir>

§

impl<'fhir> Send for PolyFuncSort<'fhir>

§

impl<'fhir> Sync for PolyFuncSort<'fhir>

§

impl<'fhir> Unpin for PolyFuncSort<'fhir>

§

impl<'fhir> UnwindSafe for PolyFuncSort<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§params: usize§fsort: FuncSort<'fhir>

Implementations§

source§

impl<'fhir> PolyFuncSort<'fhir>

source

pub fn new(params: usize, inputs_and_output: &'fhir [Sort<'_>]) -> Self

Trait Implementations§

source§

impl<'fhir> Clone for PolyFuncSort<'fhir>

source§

fn clone(&self) -> PolyFuncSort<'fhir>

Returns a 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 PolyFuncSort<'_>

source§

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

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

impl<'fhir> From<PolyFuncSort<'fhir>> for Sort<'fhir>

source§

fn from(fsort: PolyFuncSort<'fhir>) -> Self

Converts to this type from the input type.
source§

impl<'fhir> Copy for PolyFuncSort<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PolyFuncSort<'fhir>

§

impl<'fhir> RefUnwindSafe for PolyFuncSort<'fhir>

§

impl<'fhir> Send for PolyFuncSort<'fhir>

§

impl<'fhir> Sync for PolyFuncSort<'fhir>

§

impl<'fhir> Unpin for PolyFuncSort<'fhir>

§

impl<'fhir> UnwindSafe for PolyFuncSort<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.PolyTraitRef.html b/doc/flux_middle/fhir/struct.PolyTraitRef.html index ad3b053022..be047138b3 100644 --- a/doc/flux_middle/fhir/struct.PolyTraitRef.html +++ b/doc/flux_middle/fhir/struct.PolyTraitRef.html @@ -2,7 +2,7 @@ pub bound_generic_params: &'fhir [GenericParam<'fhir>], pub trait_ref: Path<'fhir>, pub span: Span, -}

Fields§

§bound_generic_params: &'fhir [GenericParam<'fhir>]§trait_ref: Path<'fhir>§span: Span

Implementations§

source§

impl<'fhir> PolyTraitRef<'fhir>

source

pub fn trait_def_id(&self) -> DefId

Trait Implementations§

source§

impl<'fhir> Clone for PolyTraitRef<'fhir>

source§

fn clone(&self) -> PolyTraitRef<'fhir>

Returns a 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<'fhir> Debug for PolyTraitRef<'fhir>

source§

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

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

impl<'fhir> Copy for PolyTraitRef<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PolyTraitRef<'fhir>

§

impl<'fhir> RefUnwindSafe for PolyTraitRef<'fhir>

§

impl<'fhir> Send for PolyTraitRef<'fhir>

§

impl<'fhir> Sync for PolyTraitRef<'fhir>

§

impl<'fhir> Unpin for PolyTraitRef<'fhir>

§

impl<'fhir> UnwindSafe for PolyTraitRef<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§bound_generic_params: &'fhir [GenericParam<'fhir>]§trait_ref: Path<'fhir>§span: Span

Implementations§

source§

impl<'fhir> PolyTraitRef<'fhir>

source

pub fn trait_def_id(&self) -> DefId

Trait Implementations§

source§

impl<'fhir> Clone for PolyTraitRef<'fhir>

source§

fn clone(&self) -> PolyTraitRef<'fhir>

Returns a 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<'fhir> Debug for PolyTraitRef<'fhir>

source§

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

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

impl<'fhir> Copy for PolyTraitRef<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for PolyTraitRef<'fhir>

§

impl<'fhir> RefUnwindSafe for PolyTraitRef<'fhir>

§

impl<'fhir> Send for PolyTraitRef<'fhir>

§

impl<'fhir> Sync for PolyTraitRef<'fhir>

§

impl<'fhir> Unpin for PolyTraitRef<'fhir>

§

impl<'fhir> UnwindSafe for PolyTraitRef<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.RefineArg.html b/doc/flux_middle/fhir/struct.RefineArg.html index bf5ec9892d..0e1aaffc55 100644 --- a/doc/flux_middle/fhir/struct.RefineArg.html +++ b/doc/flux_middle/fhir/struct.RefineArg.html @@ -2,7 +2,7 @@ pub kind: RefineArgKind<'fhir>, pub fhir_id: FhirId, pub span: Span, -}

Fields§

§kind: RefineArgKind<'fhir>§fhir_id: FhirId§span: Span

Implementations§

source§

impl<'fhir> RefineArg<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for RefineArg<'fhir>

source§

fn clone(&self) -> RefineArg<'fhir>

Returns a 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 RefineArg<'_>

source§

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

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

impl<'fhir> Copy for RefineArg<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for RefineArg<'fhir>

§

impl<'fhir> RefUnwindSafe for RefineArg<'fhir>

§

impl<'fhir> Send for RefineArg<'fhir>

§

impl<'fhir> Sync for RefineArg<'fhir>

§

impl<'fhir> Unpin for RefineArg<'fhir>

§

impl<'fhir> UnwindSafe for RefineArg<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§kind: RefineArgKind<'fhir>§fhir_id: FhirId§span: Span

Implementations§

source§

impl<'fhir> RefineArg<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for RefineArg<'fhir>

source§

fn clone(&self) -> RefineArg<'fhir>

Returns a 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 RefineArg<'_>

source§

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

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

impl<'fhir> Copy for RefineArg<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for RefineArg<'fhir>

§

impl<'fhir> RefUnwindSafe for RefineArg<'fhir>

§

impl<'fhir> Send for RefineArg<'fhir>

§

impl<'fhir> Sync for RefineArg<'fhir>

§

impl<'fhir> Unpin for RefineArg<'fhir>

§

impl<'fhir> UnwindSafe for RefineArg<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.RefineParam.html b/doc/flux_middle/fhir/struct.RefineParam.html index e1e1fda081..9060d2314c 100644 --- a/doc/flux_middle/fhir/struct.RefineParam.html +++ b/doc/flux_middle/fhir/struct.RefineParam.html @@ -1,11 +1,11 @@ -RefineParam in flux_middle::fhir - Rust

Struct flux_middle::fhir::RefineParam

source ·
pub struct RefineParam<'fhir> {
+RefineParam in flux_middle::fhir - Rust

Struct flux_middle::fhir::RefineParam

source ·
pub struct RefineParam<'fhir> {
     pub id: ParamId,
     pub name: Symbol,
     pub span: Span,
     pub sort: Sort<'fhir>,
     pub kind: ParamKind,
     pub fhir_id: FhirId,
-}

Fields§

§id: ParamId§name: Symbol§span: Span§sort: Sort<'fhir>§kind: ParamKind§fhir_id: FhirId

Trait Implementations§

source§

impl<'fhir> Clone for RefineParam<'fhir>

source§

fn clone(&self) -> RefineParam<'fhir>

Returns a 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<'fhir> Debug for RefineParam<'fhir>

source§

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

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

impl<'fhir> Copy for RefineParam<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for RefineParam<'fhir>

§

impl<'fhir> RefUnwindSafe for RefineParam<'fhir>

§

impl<'fhir> Send for RefineParam<'fhir>

§

impl<'fhir> Sync for RefineParam<'fhir>

§

impl<'fhir> Unpin for RefineParam<'fhir>

§

impl<'fhir> UnwindSafe for RefineParam<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§id: ParamId§name: Symbol§span: Span§sort: Sort<'fhir>§kind: ParamKind§fhir_id: FhirId

Trait Implementations§

source§

impl<'fhir> Clone for RefineParam<'fhir>

source§

fn clone(&self) -> RefineParam<'fhir>

Returns a 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<'fhir> Debug for RefineParam<'fhir>

source§

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

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

impl<'fhir> Copy for RefineParam<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for RefineParam<'fhir>

§

impl<'fhir> RefUnwindSafe for RefineParam<'fhir>

§

impl<'fhir> Send for RefineParam<'fhir>

§

impl<'fhir> Sync for RefineParam<'fhir>

§

impl<'fhir> Unpin for RefineParam<'fhir>

§

impl<'fhir> UnwindSafe for RefineParam<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.RefinedBy.html b/doc/flux_middle/fhir/struct.RefinedBy.html index 9b7f61690e..a2e4bf3859 100644 --- a/doc/flux_middle/fhir/struct.RefinedBy.html +++ b/doc/flux_middle/fhir/struct.RefinedBy.html @@ -1,18 +1,23 @@ -RefinedBy in flux_middle::fhir - Rust

Struct flux_middle::fhir::RefinedBy

source ·
pub struct RefinedBy<'fhir> {
+RefinedBy in flux_middle::fhir - Rust

Struct flux_middle::fhir::RefinedBy

source ·
pub struct RefinedBy<'fhir> {
     pub sort_params: FxIndexSet<DefId>,
     pub fields: FxIndexMap<Symbol, Sort<'fhir>>,
 }
Expand description

Information about the refinement parameters associated with a type alias or an adt (struct/enum).

-

Fields§

§sort_params: FxIndexSet<DefId>

Tracks the mapping from bound var to generic def ids. e.g. if we have

+

Fields§

§sort_params: FxIndexSet<DefId>

When a #[flux::refined_by(..)] annotation mentions generic type parameters we implicitly +generate a polymorphic data sort.

+

For example, if we have:

#[refined_by(keys: Set<K>)]
-RMap<K, V> { ...}
-

then the sort associated to RMap is of the form forall #0. { keys: Set<#0> } -and sort_params will be vec![K], i.e., it maps Var(0) to K.

+RMap<K, V> { ... }
+

we implicitly create a data sort of the form forall #0. { keys: Set<#0> }, where #0 is a +sort variable.

+

The FxIndexSet is used to track a mapping between sort varriables and their corresponding +type parameter. The DefId is the id of the type parameter and its index in the set is the +position of the sort variable.

§fields: FxIndexMap<Symbol, Sort<'fhir>>

Fields indexed by their name and in the same order they appear in the definition.

-

Implementations§

source§

impl<'fhir> RefinedBy<'fhir>

source

pub fn new( +

Implementations§

source§

impl<'fhir> RefinedBy<'fhir>

source

pub fn new( fields: FxIndexMap<Symbol, Sort<'fhir>>, sort_params: FxIndexSet<DefId>, -) -> Self

source

pub fn trivial() -> Self

source

fn is_base_generic(&self, def_id: DefId) -> bool

Trait Implementations§

source§

impl<'fhir> Clone for RefinedBy<'fhir>

source§

fn clone(&self) -> RefinedBy<'fhir>

Returns a 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<'fhir> Debug for RefinedBy<'fhir>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'fhir> Freeze for RefinedBy<'fhir>

§

impl<'fhir> RefUnwindSafe for RefinedBy<'fhir>

§

impl<'fhir> Send for RefinedBy<'fhir>

§

impl<'fhir> Sync for RefinedBy<'fhir>

§

impl<'fhir> Unpin for RefinedBy<'fhir>

§

impl<'fhir> UnwindSafe for RefinedBy<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Self

source

pub fn trivial() -> Self

source

fn is_base_generic(&self, def_id: DefId) -> bool

Trait Implementations§

source§

impl<'fhir> Clone for RefinedBy<'fhir>

source§

fn clone(&self) -> RefinedBy<'fhir>

Returns a 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<'fhir> Debug for RefinedBy<'fhir>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'fhir> Freeze for RefinedBy<'fhir>

§

impl<'fhir> RefUnwindSafe for RefinedBy<'fhir>

§

impl<'fhir> Send for RefinedBy<'fhir>

§

impl<'fhir> Sync for RefinedBy<'fhir>

§

impl<'fhir> Unpin for RefinedBy<'fhir>

§

impl<'fhir> UnwindSafe for RefinedBy<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.Requires.html b/doc/flux_middle/fhir/struct.Requires.html index 34fa96a55d..71c2bf6672 100644 --- a/doc/flux_middle/fhir/struct.Requires.html +++ b/doc/flux_middle/fhir/struct.Requires.html @@ -3,7 +3,7 @@ pub pred: Expr<'fhir>, }
Expand description

A predicate required to hold before calling a function.

Fields§

§params: &'fhir [RefineParam<'fhir>]

An (optional) list of universally quantified parameters

-
§pred: Expr<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for Requires<'fhir>

source§

fn clone(&self) -> Requires<'fhir>

Returns a 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 Requires<'_>

source§

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

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

impl<'fhir> Copy for Requires<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Requires<'fhir>

§

impl<'fhir> RefUnwindSafe for Requires<'fhir>

§

impl<'fhir> Send for Requires<'fhir>

§

impl<'fhir> Sync for Requires<'fhir>

§

impl<'fhir> Unpin for Requires<'fhir>

§

impl<'fhir> UnwindSafe for Requires<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +
§pred: Expr<'fhir>

Trait Implementations§

source§

impl<'fhir> Clone for Requires<'fhir>

source§

fn clone(&self) -> Requires<'fhir>

Returns a 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 Requires<'_>

source§

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

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

impl<'fhir> Copy for Requires<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Requires<'fhir>

§

impl<'fhir> RefUnwindSafe for Requires<'fhir>

§

impl<'fhir> Send for Requires<'fhir>

§

impl<'fhir> Sync for Requires<'fhir>

§

impl<'fhir> Unpin for Requires<'fhir>

§

impl<'fhir> UnwindSafe for Requires<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.SortPath.html b/doc/flux_middle/fhir/struct.SortPath.html index 6974d5cc01..a8fbe0413c 100644 --- a/doc/flux_middle/fhir/struct.SortPath.html +++ b/doc/flux_middle/fhir/struct.SortPath.html @@ -1,9 +1,9 @@ -SortPath in flux_middle::fhir - Rust

Struct flux_middle::fhir::SortPath

source ·
pub struct SortPath<'fhir> {
+SortPath in flux_middle::fhir - Rust

Struct flux_middle::fhir::SortPath

source ·
pub struct SortPath<'fhir> {
     pub res: SortRes,
     pub segments: &'fhir [Ident],
     pub args: &'fhir [Sort<'fhir>],
 }
Expand description

Fields§

§res: SortRes§segments: &'fhir [Ident]§args: &'fhir [Sort<'fhir>]

Trait Implementations§

source§

impl<'fhir> Clone for SortPath<'fhir>

source§

fn clone(&self) -> SortPath<'fhir>

Returns a 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 SortPath<'_>

source§

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

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

impl<'fhir> Copy for SortPath<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for SortPath<'fhir>

§

impl<'fhir> RefUnwindSafe for SortPath<'fhir>

§

impl<'fhir> Send for SortPath<'fhir>

§

impl<'fhir> Sync for SortPath<'fhir>

§

impl<'fhir> Unpin for SortPath<'fhir>

§

impl<'fhir> UnwindSafe for SortPath<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +

Fields§

§res: SortRes§segments: &'fhir [Ident]§args: &'fhir [Sort<'fhir>]

Trait Implementations§

source§

impl<'fhir> Clone for SortPath<'fhir>

source§

fn clone(&self) -> SortPath<'fhir>

Returns a 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 SortPath<'_>

source§

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

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

impl<'fhir> Copy for SortPath<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for SortPath<'fhir>

§

impl<'fhir> RefUnwindSafe for SortPath<'fhir>

§

impl<'fhir> Send for SortPath<'fhir>

§

impl<'fhir> Sync for SortPath<'fhir>

§

impl<'fhir> Unpin for SortPath<'fhir>

§

impl<'fhir> UnwindSafe for SortPath<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.SpecFunc.html b/doc/flux_middle/fhir/struct.SpecFunc.html index 6edc82159e..6d3bc20993 100644 --- a/doc/flux_middle/fhir/struct.SpecFunc.html +++ b/doc/flux_middle/fhir/struct.SpecFunc.html @@ -1,10 +1,10 @@ -SpecFunc in flux_middle::fhir - Rust

Struct flux_middle::fhir::SpecFunc

source ·
pub struct SpecFunc<'fhir> {
+SpecFunc in flux_middle::fhir - Rust

Struct flux_middle::fhir::SpecFunc

source ·
pub struct SpecFunc<'fhir> {
     pub name: Symbol,
     pub params: usize,
     pub args: &'fhir [RefineParam<'fhir>],
     pub sort: Sort<'fhir>,
     pub body: Option<Expr<'fhir>>,
-}

Fields§

§name: Symbol§params: usize§args: &'fhir [RefineParam<'fhir>]§sort: Sort<'fhir>§body: Option<Expr<'fhir>>

Trait Implementations§

source§

impl<'fhir> Debug for SpecFunc<'fhir>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'fhir> Freeze for SpecFunc<'fhir>

§

impl<'fhir> RefUnwindSafe for SpecFunc<'fhir>

§

impl<'fhir> Send for SpecFunc<'fhir>

§

impl<'fhir> Sync for SpecFunc<'fhir>

§

impl<'fhir> Unpin for SpecFunc<'fhir>

§

impl<'fhir> UnwindSafe for SpecFunc<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§name: Symbol§params: usize§args: &'fhir [RefineParam<'fhir>]§sort: Sort<'fhir>§body: Option<Expr<'fhir>>

Trait Implementations§

source§

impl<'fhir> Debug for SpecFunc<'fhir>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'fhir> Freeze for SpecFunc<'fhir>

§

impl<'fhir> RefUnwindSafe for SpecFunc<'fhir>

§

impl<'fhir> Send for SpecFunc<'fhir>

§

impl<'fhir> Sync for SpecFunc<'fhir>

§

impl<'fhir> Unpin for SpecFunc<'fhir>

§

impl<'fhir> UnwindSafe for SpecFunc<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/fhir/struct.StructDef.html b/doc/flux_middle/fhir/struct.StructDef.html index cdf4d87673..bb2e1edb7f 100644 --- a/doc/flux_middle/fhir/struct.StructDef.html +++ b/doc/flux_middle/fhir/struct.StructDef.html @@ -3,7 +3,7 @@ pub params: &'fhir [RefineParam<'fhir>], pub kind: StructKind<'fhir>, pub invariants: &'fhir [Expr<'fhir>], -}

Fields§

§refined_by: &'fhir RefinedBy<'fhir>§params: &'fhir [RefineParam<'fhir>]§kind: StructKind<'fhir>§invariants: &'fhir [Expr<'fhir>]

Implementations§

source§

impl<'fhir> StructDef<'fhir>

source

pub fn is_opaque(&self) -> bool

Trait Implementations§

source§

impl<'fhir> Clone for StructDef<'fhir>

source§

fn clone(&self) -> StructDef<'fhir>

Returns a 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<'fhir> Debug for StructDef<'fhir>

source§

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

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

impl<'fhir> Copy for StructDef<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for StructDef<'fhir>

§

impl<'fhir> RefUnwindSafe for StructDef<'fhir>

§

impl<'fhir> Send for StructDef<'fhir>

§

impl<'fhir> Sync for StructDef<'fhir>

§

impl<'fhir> Unpin for StructDef<'fhir>

§

impl<'fhir> UnwindSafe for StructDef<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§refined_by: &'fhir RefinedBy<'fhir>§params: &'fhir [RefineParam<'fhir>]§kind: StructKind<'fhir>§invariants: &'fhir [Expr<'fhir>]

Implementations§

source§

impl<'fhir> StructDef<'fhir>

source

pub fn is_opaque(&self) -> bool

Trait Implementations§

source§

impl<'fhir> Clone for StructDef<'fhir>

source§

fn clone(&self) -> StructDef<'fhir>

Returns a 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<'fhir> Debug for StructDef<'fhir>

source§

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

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

impl<'fhir> Copy for StructDef<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for StructDef<'fhir>

§

impl<'fhir> RefUnwindSafe for StructDef<'fhir>

§

impl<'fhir> Send for StructDef<'fhir>

§

impl<'fhir> Sync for StructDef<'fhir>

§

impl<'fhir> Unpin for StructDef<'fhir>

§

impl<'fhir> UnwindSafe for StructDef<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/fhir/struct.Ty.html b/doc/flux_middle/fhir/struct.Ty.html index da4800ba3a..402b9e338d 100644 --- a/doc/flux_middle/fhir/struct.Ty.html +++ b/doc/flux_middle/fhir/struct.Ty.html @@ -1,7 +1,7 @@ Ty in flux_middle::fhir - Rust

Struct flux_middle::fhir::Ty

source ·
pub struct Ty<'fhir> {
     pub kind: TyKind<'fhir>,
     pub span: Span,
-}

Fields§

§kind: TyKind<'fhir>§span: Span

Implementations§

source§

impl<'fhir> Ty<'fhir>

source

pub fn as_path(&self) -> Option<Path<'fhir>>

Trait Implementations§

source§

impl<'fhir> Clone for Ty<'fhir>

source§

fn clone(&self) -> Ty<'fhir>

Returns a 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 Ty<'_>

source§

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

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

impl IntoDiagArg for Ty<'_>

source§

impl<'fhir> Copy for Ty<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Ty<'fhir>

§

impl<'fhir> RefUnwindSafe for Ty<'fhir>

§

impl<'fhir> Send for Ty<'fhir>

§

impl<'fhir> Sync for Ty<'fhir>

§

impl<'fhir> Unpin for Ty<'fhir>

§

impl<'fhir> UnwindSafe for Ty<'fhir>

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§kind: TyKind<'fhir>§span: Span

Implementations§

source§

impl<'fhir> Ty<'fhir>

source

pub fn as_path(&self) -> Option<Path<'fhir>>

Trait Implementations§

source§

impl<'fhir> Clone for Ty<'fhir>

source§

fn clone(&self) -> Ty<'fhir>

Returns a 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 Ty<'_>

source§

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

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

impl IntoDiagArg for Ty<'_>

source§

impl<'fhir> Copy for Ty<'fhir>

Auto Trait Implementations§

§

impl<'fhir> Freeze for Ty<'fhir>

§

impl<'fhir> RefUnwindSafe for Ty<'fhir>

§

impl<'fhir> Send for Ty<'fhir>

§

impl<'fhir> Sync for Ty<'fhir>

§

impl<'fhir> Unpin for Ty<'fhir>

§

impl<'fhir> UnwindSafe for Ty<'fhir>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/global_env/struct.GlobalEnv.html b/doc/flux_middle/global_env/struct.GlobalEnv.html index a62139e272..d0bf8e960b 100644 --- a/doc/flux_middle/global_env/struct.GlobalEnv.html +++ b/doc/flux_middle/global_env/struct.GlobalEnv.html @@ -1,4 +1,4 @@ -GlobalEnv in flux_middle::global_env - Rust

Struct flux_middle::global_env::GlobalEnv

source ·
pub struct GlobalEnv<'genv, 'tcx> {
+GlobalEnv in flux_middle::global_env - Rust

Struct flux_middle::global_env::GlobalEnv

source ·
pub struct GlobalEnv<'genv, 'tcx> {
     inner: &'genv GlobalEnvInner<'genv, 'tcx>,
 }

Fields§

§inner: &'genv GlobalEnvInner<'genv, 'tcx>

Implementations§

source§

impl<'tcx> GlobalEnv<'_, 'tcx>

source

pub fn enter<'a, R>( tcx: TyCtxt<'tcx>, @@ -105,10 +105,7 @@

§Panics
def_id: LocalDefId, f: impl Fn(LocalDefId) -> Option<T>, ) -> Option<T>

Traverse the parent chain of def_id until the first node for which f returns Some.

-
source

pub fn crate_config(self) -> Option<CrateConfig>

source§

impl<'sess, 'tcx> GlobalEnv<'sess, 'tcx>

Trait Implementations§

source§

impl<'genv, 'tcx> Clone for GlobalEnv<'genv, 'tcx>

source§

fn clone(&self) -> GlobalEnv<'genv, 'tcx>

Returns a 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 ErrorEmitter for GlobalEnv<'_, '_>

source§

fn emit<'a>(&'a self, err: impl Diagnostic<'a>) -> ErrorGuaranteed

source§

impl<'genv, 'tcx> Copy for GlobalEnv<'genv, 'tcx>

Auto Trait Implementations§

§

impl<'genv, 'tcx> Freeze for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !RefUnwindSafe for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !Send for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !Sync for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> Unpin for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !UnwindSafe for GlobalEnv<'genv, 'tcx>

Blanket Implementations§

source§

impl<T> Any for T
where +

source

pub fn crate_config(self) -> Option<CrateConfig>

source§

impl<'sess, 'tcx> GlobalEnv<'sess, 'tcx>

Trait Implementations§

source§

impl<'genv, 'tcx> Clone for GlobalEnv<'genv, 'tcx>

source§

fn clone(&self) -> GlobalEnv<'genv, 'tcx>

Returns a 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 ErrorEmitter for GlobalEnv<'_, '_>

source§

fn emit<'a>(&'a self, err: impl Diagnostic<'a>) -> ErrorGuaranteed

source§

impl<'genv, 'tcx> Copy for GlobalEnv<'genv, 'tcx>

Auto Trait Implementations§

§

impl<'genv, 'tcx> Freeze for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !RefUnwindSafe for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !Send for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !Sync for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> Unpin for GlobalEnv<'genv, 'tcx>

§

impl<'genv, 'tcx> !UnwindSafe for GlobalEnv<'genv, 'tcx>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/global_env/struct.Symbol.html b/doc/flux_middle/global_env/struct.Symbol.html index 5e66abe7a3..e571b3b450 100644 --- a/doc/flux_middle/global_env/struct.Symbol.html +++ b/doc/flux_middle/global_env/struct.Symbol.html @@ -5,10 +5,10 @@ because rustc_index::newtype_index! reserves the last 256 values for tagging purposes.

Note that Symbol cannot directly be a rustc_index::newtype_index! because it implements fmt::Debug, Encodable, and Decodable in special ways.

-

Tuple Fields§

§0: SymbolIndex

Trait Implementations§

source§

impl From<Symbol> for Constant

source§

fn from(s: Symbol) -> Self

Converts to this type from the input type.
source§

impl TypeFoldable for Symbol

Tuple Fields§

§0: SymbolIndex

Trait Implementations§

source§

impl From<Symbol> for Constant

source§

fn from(s: Symbol) -> Self

Converts to this type from the input type.
source§

impl TypeFoldable for Symbol

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -21,7 +21,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Symbol

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Symbol

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.

Auto Trait Implementations§

§

impl Freeze for Symbol

§

impl RefUnwindSafe for Symbol

§

impl Send for Symbol

§

impl Sync for Symbol

§

impl Unpin for Symbol

§

impl UnwindSafe for Symbol

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/index.html b/doc/flux_middle/index.html index 9bbcdef98c..7589f18225 100644 --- a/doc/flux_middle/index.html +++ b/doc/flux_middle/index.html @@ -1,4 +1,4 @@ -flux_middle - Rust

Crate flux_middle

source ·
Expand description

This crate contains common type definitions that are used by other crates.

+flux_middle - Rust

Crate flux_middle

source ·
Expand description

This crate contains common type definitions that are used by other crates.

Modules§

  • Flux High-Level Intermediate Representation
  • Defines how flux represents refinement types internally. Definitions in this module are used during refinement type checking. A couple of important differences between definitions in this module and in crate::fhir are:
  • sort_of 🔒

Macros§

Structs§

Enums§

source§

impl PartialOrd for BoundReftKind

source§

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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl TypeFoldable for BoundReftKind

source§

impl TypeFoldable for BoundReftKind

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -26,7 +26,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BoundReftKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BoundReftKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for BoundReftKind

source§

impl Eq for BoundReftKind

source§

impl StructuralPartialEq for BoundReftKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/binder/struct.Binder.html b/doc/flux_middle/rty/binder/struct.Binder.html index a784694c12..d6f441cfdf 100644 --- a/doc/flux_middle/rty/binder/struct.Binder.html +++ b/doc/flux_middle/rty/binder/struct.Binder.html @@ -1,4 +1,4 @@ -Binder in flux_middle::rty::binder - Rust

Struct flux_middle::rty::binder::Binder

source ·
pub struct Binder<T> {
+Binder in flux_middle::rty::binder - Rust

Struct flux_middle::rty::binder::Binder

source ·
pub struct Binder<T> {
     vars: List<BoundVariableKind>,
     value: T,
 }

Fields§

§vars: List<BoundVariableKind>§value: T

Implementations§

source§

impl<T> Binder<T>

source

pub fn bind_with_vars(value: T, vars: BoundVariableKinds) -> Binder<T>

source

pub fn dummy(value: T) -> Binder<T>

source

pub fn bind_with_sorts(value: T, sorts: &[Sort]) -> Binder<T>

source

pub fn bind_with_sort(value: T, sort: Sort) -> Binder<T>

source

pub fn vars(&self) -> &List<BoundVariableKind>

source

pub fn as_ref(&self) -> Binder<&T>

source

pub fn skip_binder(self) -> T

source

pub fn skip_binder_ref(&self) -> &T

source

pub fn rebind<U>(self, value: U) -> Binder<U>

source

pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

source

pub fn try_map<U, E>( @@ -12,17 +12,16 @@ ) -> T

source

pub fn replace_bound_refts(&self, exprs: &[Expr]) -> T

source

pub fn replace_bound_reft(&self, expr: &Expr) -> T

source

pub fn replace_bound_refts_with( &self, f: impl FnMut(&Sort, InferMode, BoundReftKind) -> Expr, -) -> T

source§

impl Binder<TraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<ExistentialTraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<Ty>

source

pub fn to_ty(&self) -> Ty

source§

impl Binder<SubsetTy>

source

pub fn trait_object_dummy_self() -> Self

This is the subset type version of Ty::trait_object_dummy_self

-
source

pub fn as_bty_skipping_binder(&self) -> &BaseTy

source

pub fn to_ty(&self) -> Ty

source§

impl Binder<Expr>

Trait Implementations§

source§

impl<T: Clone> Clone for Binder<T>

source§

fn clone(&self) -> Binder<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<T: Pretty> Debug for Binder<T>

source§

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

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

impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>
where +) -> T

source§

impl Binder<TraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<ExistentialTraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<Ty>

source

pub fn to_ty(&self) -> Ty

source§

impl Binder<SubsetTy>

source

pub fn trait_object_dummy_self() -> Self

This is the subset type version of Ty::trait_object_dummy_self

+
source

pub fn as_bty_skipping_binder(&self) -> &BaseTy

source

pub fn to_ty(&self) -> Ty

Trait Implementations§

source§

impl<T: Clone> Clone for Binder<T>

source§

fn clone(&self) -> Binder<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<T: Pretty> Debug for Binder<T>

source§

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

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

impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>
where T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>
where - T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Binder<ClauseKind>> for Clause

source§

fn from(kind: Binder<ClauseKind>) -> Self

Converts to this type from the input type.
source§

impl<T: Hash> Hash for Binder<T>

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 + T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Binder<ClauseKind>> for Clause

source§

fn from(kind: Binder<ClauseKind>) -> Self

Converts to this type from the input type.
source§

impl<T: Hash> Hash for Binder<T>

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: PartialEq> PartialEq for Binder<T>

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for Binder<FnOutput>

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<T> Pretty for Binder<T>
where - T: Pretty,

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Binder<ExistentialPredicate>

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx, V> ToRustc<'tcx> for Binder<V>
where - V: ToRustc<'tcx, T: TypeVisitable<TyCtxt<'tcx>>>,

§

type T = Binder<TyCtxt<'tcx>, <V as ToRustc<'tcx>>::T>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl<T> TypeFoldable for Binder<T>
where - T: TypeFoldable,

source§

fn try_fold_with<F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for Binder<FnOutput>

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<T> Pretty for Binder<T>
where + T: Pretty,

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Binder<ExistentialPredicate>

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx, V> ToRustc<'tcx> for Binder<V>
where + V: ToRustc<'tcx, T: TypeVisitable<TyCtxt<'tcx>>>,

§

type T = Binder<TyCtxt<'tcx>, <V as ToRustc<'tcx>>::T>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl<T> TypeFoldable for Binder<T>
where + T: TypeFoldable,

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -38,16 +37,16 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeSuperFoldable for Binder<T>
where - T: TypeFoldable,

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeSuperFoldable for Binder<T>
where + T: TypeFoldable,

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl<T> TypeSuperVisitable for Binder<T>
where - T: TypeVisitable,

source§

fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl<T> TypeSuperVisitable for Binder<T>
where + T: TypeVisitable,

source§

impl<T> TypeVisitable for Binder<T>
where - T: TypeVisitable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +) -> ControlFlow<V::BreakTy>

source§

impl<T> TypeVisitable for Binder<T>
where + T: TypeVisitable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl<T: Eq> Eq for Binder<T>

source§

impl<T> StructuralPartialEq for Binder<T>

Auto Trait Implementations§

§

impl<T> Freeze for Binder<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Binder<T>
where T: RefUnwindSafe,

§

impl<T> Send for Binder<T>
where diff --git a/doc/flux_middle/rty/binder/struct.EarlyBinder.html b/doc/flux_middle/rty/binder/struct.EarlyBinder.html index b7c081b6bf..da69cf962c 100644 --- a/doc/flux_middle/rty/binder/struct.EarlyBinder.html +++ b/doc/flux_middle/rty/binder/struct.EarlyBinder.html @@ -7,11 +7,11 @@ tcx: TyCtxt<'_>, args: &[GenericArg], refine_args: &[Expr], -) -> T

source§

impl EarlyBinder<GenericPredicates>

source§

impl EarlyBinder<FuncSort>

source

pub fn instantiate_func_sort<E>( +) -> T

source§

impl EarlyBinder<GenericPredicates>

source§

impl EarlyBinder<FuncSort>

source

pub fn instantiate_func_sort<E>( self, sort_for_param: impl FnMut(ParamTy) -> Result<Sort, E>, ) -> Result<FuncSort, E>

source§

impl EarlyBinder<PolyVariant>

Trait Implementations§

source§

impl<T: Clone> Clone for EarlyBinder<T>

source§

fn clone(&self) -> EarlyBinder<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<T: Debug> Debug for EarlyBinder<T>

source§

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

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

impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>
where +

source§

impl EarlyBinder<PolyVariant>

Trait Implementations§

source§

impl<T: Clone> Clone for EarlyBinder<T>

source§

fn clone(&self) -> EarlyBinder<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<T: Debug> Debug for EarlyBinder<T>

source§

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

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

impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>
where T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<T, __E: TyEncoder> Encodable<__E> for EarlyBinder<T>
where T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

§

impl<T> Freeze for EarlyBinder<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for EarlyBinder<T>
where diff --git a/doc/flux_middle/rty/binder/type.List.html b/doc/flux_middle/rty/binder/type.List.html index 0160b3ce96..fc1f96c243 100644 --- a/doc/flux_middle/rty/binder/type.List.html +++ b/doc/flux_middle/rty/binder/type.List.html @@ -1,6 +1,6 @@ -List in flux_middle::rty::binder - Rust

Type Alias flux_middle::rty::binder::List

source ·
pub type List<T> = Interned<[T]>;

Aliased Type§

struct List<T> { /* private fields */ }

Trait Implementations§

source§

impl Pretty for List<Ty>

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<T> TypeFoldable for List<T>
where +List in flux_middle::rty::binder - Rust

Type Alias flux_middle::rty::binder::List

source ·
pub type List<T> = Interned<[T]>;

Aliased Type§

struct List<T> { /* private fields */ }

Trait Implementations§

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -16,7 +16,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeVisitable for List<T>
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeVisitable for List<T>

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. + [T]: Internable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
\ No newline at end of file diff --git a/doc/flux_middle/rty/constant.SELF_PARAM_TY.html b/doc/flux_middle/rty/constant.SELF_PARAM_TY.html index a4f2a5961b..7c0998e3c2 100644 --- a/doc/flux_middle/rty/constant.SELF_PARAM_TY.html +++ b/doc/flux_middle/rty/constant.SELF_PARAM_TY.html @@ -1 +1 @@ -SELF_PARAM_TY in flux_middle::rty - Rust

Constant flux_middle::rty::SELF_PARAM_TY

source ·
pub const SELF_PARAM_TY: ParamTy;
\ No newline at end of file +SELF_PARAM_TY in flux_middle::rty - Rust

Constant flux_middle::rty::SELF_PARAM_TY

source ·
pub const SELF_PARAM_TY: ParamTy;
\ No newline at end of file diff --git a/doc/flux_middle/rty/enum.AliasKind.html b/doc/flux_middle/rty/enum.AliasKind.html index bd1e7e8bf6..9414a71965 100644 --- a/doc/flux_middle/rty/enum.AliasKind.html +++ b/doc/flux_middle/rty/enum.AliasKind.html @@ -5,7 +5,7 @@ __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 for AliasKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for AliasKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for AliasKind

§

type T = AliasTyKind

source§

fn to_rustc(&self, _tcx: TyCtxt<'tcx>) -> <AliasKind as ToRustc<'tcx>>::T

source§

impl Copy for AliasKind

source§

impl Eq for AliasKind

source§

impl StructuralPartialEq for AliasKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +and should not be overridden without very good reason.

source§

impl Pretty for AliasKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for AliasKind

§

type T = AliasTyKind

source§

fn to_rustc(&self, _tcx: TyCtxt<'tcx>) -> <AliasKind as ToRustc<'tcx>>::T

source§

impl Copy for AliasKind

source§

impl Eq for AliasKind

source§

impl StructuralPartialEq for AliasKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.BaseTy.html b/doc/flux_middle/rty/enum.BaseTy.html index e9ea741c51..f381f0a970 100644 --- a/doc/flux_middle/rty/enum.BaseTy.html +++ b/doc/flux_middle/rty/enum.BaseTy.html @@ -1,5 +1,5 @@ -BaseTy in flux_middle::rty - Rust

Enum flux_middle::rty::BaseTy

source ·
pub enum BaseTy {
-
Show 20 variants Int(IntTy), +BaseTy in flux_middle::rty - Rust

Enum flux_middle::rty::BaseTy

source ·
pub enum BaseTy {
+
Show 21 variants Int(IntTy), Uint(UintTy), Bool, Str, @@ -12,6 +12,7 @@ FnPtr(PolyFnSig), FnDef(DefId, GenericArgs), Tuple(List<Ty>), + Alias(AliasTy), Array(Ty, Const), Never, Closure(DefId, List<Ty>, GenericArgs), @@ -19,11 +20,11 @@ Dynamic(List<Binder<ExistentialPredicate>>, Region), Param(ParamTy), Infer(TyVid), -
}

Variants§

§

Int(IntTy)

§

Uint(UintTy)

§

Bool

§

Str

§

Char

§

Slice(Ty)

§

Adt(AdtDef, GenericArgs)

§

Float(FloatTy)

§

RawPtr(Ty, Mutability)

§

Ref(Region, Ty, Mutability)

§

FnPtr(PolyFnSig)

§

FnDef(DefId, GenericArgs)

§

Tuple(List<Ty>)

§

Array(Ty, Const)

§

Never

§

Closure(DefId, List<Ty>, GenericArgs)

§

Coroutine(DefId, Ty, List<Ty>)

§

Dynamic(List<Binder<ExistentialPredicate>>, Region)

§

Param(ParamTy)

§

Infer(TyVid)

Implementations§

source§

impl BaseTy

source

pub fn adt(adt_def: AdtDef, args: impl Into<GenericArgs>) -> BaseTy

source

pub fn fn_def(def_id: DefId, args: impl Into<GenericArgs>) -> BaseTy

source

pub fn from_primitive_str(s: &str) -> Option<BaseTy>

source

pub fn primitive_symbol(&self) -> Option<Symbol>

If self is a primitive, return its Symbol.

-
source

pub fn is_integral(&self) -> bool

source

pub fn is_numeric(&self) -> bool

source

pub fn is_signed(&self) -> bool

source

pub fn is_unsigned(&self) -> bool

source

pub fn is_float(&self) -> bool

source

pub fn is_bool(&self) -> bool

source

fn is_struct(&self) -> bool

source

fn is_array(&self) -> bool

source

fn is_slice(&self) -> bool

source

fn is_adt(&self) -> bool

source

pub fn is_box(&self) -> bool

source

pub fn unpack_box(&self) -> Option<(&Ty, &Ty)>

source

pub fn invariants(&self, overflow_checking: bool) -> &[Invariant]

source

pub fn to_ty(&self) -> Ty

source

pub fn sort(&self) -> Sort

source

pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg])

Trait Implementations§

source§

impl Clone for BaseTy

source§

fn clone(&self) -> BaseTy

Returns a 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 BaseTy

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for BaseTy

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BaseTy

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BaseTy

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 +

}

Variants§

§

Int(IntTy)

§

Uint(UintTy)

§

Bool

§

Str

§

Char

§

Slice(Ty)

§

Adt(AdtDef, GenericArgs)

§

Float(FloatTy)

§

RawPtr(Ty, Mutability)

§

Ref(Region, Ty, Mutability)

§

FnPtr(PolyFnSig)

§

FnDef(DefId, GenericArgs)

§

Tuple(List<Ty>)

§

Alias(AliasTy)

§

Array(Ty, Const)

§

Never

§

Closure(DefId, List<Ty>, GenericArgs)

§

Coroutine(DefId, Ty, List<Ty>)

§

Dynamic(List<Binder<ExistentialPredicate>>, Region)

§

Param(ParamTy)

§

Infer(TyVid)

Implementations§

source§

impl BaseTy

source

pub fn adt(adt_def: AdtDef, args: impl Into<GenericArgs>) -> BaseTy

source

pub fn fn_def(def_id: DefId, args: impl Into<GenericArgs>) -> BaseTy

source

pub fn from_primitive_str(s: &str) -> Option<BaseTy>

source

pub fn primitive_symbol(&self) -> Option<Symbol>

If self is a primitive, return its Symbol.

+
source

pub fn is_integral(&self) -> bool

source

pub fn is_numeric(&self) -> bool

source

pub fn is_signed(&self) -> bool

source

pub fn is_unsigned(&self) -> bool

source

pub fn is_float(&self) -> bool

source

pub fn is_bool(&self) -> bool

source

fn is_struct(&self) -> bool

source

fn is_array(&self) -> bool

source

fn is_slice(&self) -> bool

source

fn is_adt(&self) -> bool

source

pub fn is_box(&self) -> bool

source

pub fn unpack_box(&self) -> Option<(&Ty, &Ty)>

source

pub fn invariants(&self, overflow_checking: bool) -> &[Invariant]

source

pub fn to_ty(&self) -> Ty

source

pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg])

source§

impl BaseTy

source

pub fn sort(&self) -> Sort

Trait Implementations§

source§

impl Clone for BaseTy

source§

fn clone(&self) -> BaseTy

Returns a 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 BaseTy

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for BaseTy

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BaseTy

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BaseTy

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 for BaseTy

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for BaseTy

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for BaseTy

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for BaseTy

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

source§

impl PartialEq for BaseTy

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for BaseTy

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for BaseTy

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for BaseTy

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -39,14 +40,14 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for BaseTy

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for BaseTy

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for BaseTy

source§

fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for BaseTy

source§

impl TypeVisitable for BaseTy

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for BaseTy

source§

impl StructuralPartialEq for BaseTy

Auto Trait Implementations§

§

impl Freeze for BaseTy

§

impl RefUnwindSafe for BaseTy

§

impl Send for BaseTy

§

impl Sync for BaseTy

§

impl Unpin for BaseTy

§

impl UnwindSafe for BaseTy

Blanket Implementations§

source§

impl<T> Any for T
where +) -> ControlFlow<V::BreakTy>

source§

impl TypeVisitable for BaseTy

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for BaseTy

source§

impl StructuralPartialEq for BaseTy

Auto Trait Implementations§

§

impl Freeze for BaseTy

§

impl RefUnwindSafe for BaseTy

§

impl Send for BaseTy

§

impl Sync for BaseTy

§

impl Unpin for BaseTy

§

impl UnwindSafe for BaseTy

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.BinOp.html b/doc/flux_middle/rty/enum.BinOp.html index 8b6085183d..bf9e9962a9 100644 --- a/doc/flux_middle/rty/enum.BinOp.html +++ b/doc/flux_middle/rty/enum.BinOp.html @@ -14,10 +14,10 @@ Mul, Div, Mod, -

}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt(Sort)

§

Ge(Sort)

§

Lt(Sort)

§

Le(Sort)

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Implementations§

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a 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<__D: TyDecoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

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 +

}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt(Sort)

§

Ge(Sort)

§

Lt(Sort)

§

Le(Sort)

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Implementations§

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a 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<__D: TyDecoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

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 for BinOp

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for BinOp

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BinOp

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for BinOp

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BinOp

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/enum.BoundReftKind.html b/doc/flux_middle/rty/enum.BoundReftKind.html index 8602ab4799..c3f03bc037 100644 --- a/doc/flux_middle/rty/enum.BoundReftKind.html +++ b/doc/flux_middle/rty/enum.BoundReftKind.html @@ -10,10 +10,10 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for BoundReftKind

source§

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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl TypeFoldable for BoundReftKind

source§

impl TypeFoldable for BoundReftKind

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -26,7 +26,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BoundReftKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BoundReftKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for BoundReftKind

source§

impl Eq for BoundReftKind

source§

impl StructuralPartialEq for BoundReftKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/enum.BoundRegionKind.html b/doc/flux_middle/rty/enum.BoundRegionKind.html index c5d8fd1d12..7b5e3d0fbc 100644 --- a/doc/flux_middle/rty/enum.BoundRegionKind.html +++ b/doc/flux_middle/rty/enum.BoundRegionKind.html @@ -8,10 +8,10 @@ the event of shadowing.

§

BrEnv

Anonymous region for the implicit env pointer parameter to a closure

-

Trait Implementations§

Trait Implementations§

source§

impl Pretty for BoundRegionKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BoundRegionKind

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -24,7 +24,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BoundRegionKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BoundRegionKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/enum.BvSize.html b/doc/flux_middle/rty/enum.BvSize.html index 202e422ac2..3a0f018fa2 100644 --- a/doc/flux_middle/rty/enum.BvSize.html +++ b/doc/flux_middle/rty/enum.BvSize.html @@ -1,4 +1,4 @@ -BvSize in flux_middle::rty - Rust

Enum flux_middle::rty::BvSize

source ·
pub enum BvSize {
+BvSize in flux_middle::rty - Rust

Enum flux_middle::rty::BvSize

source ·
pub enum BvSize {
     Fixed(usize),
     Param(ParamSort),
     Infer(BvSizeVid),
@@ -7,13 +7,13 @@
 
§

Param(ParamSort)

A size that has been parameterized, e.g., bound under a PolyFuncSort

§

Infer(BvSizeVid)

A size that needs to be inferred. Used during sort checking to instantiate bit-vector sizes at call-sites.

-

Trait Implementations§

source§

impl Clone for BvSize

source§

fn clone(&self) -> BvSize

Returns a 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 BvSize

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for BvSize

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BvSize

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BvSize

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 +

Trait Implementations§

source§

impl Clone for BvSize

source§

fn clone(&self) -> BvSize

Returns a 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 BvSize

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for BvSize

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BvSize

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BvSize

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 for BvSize

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for BvSize

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BvSize

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

impl PartialEq for BvSize

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for BvSize

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BvSize

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -26,8 +26,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BvSize

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for BvSize

source§

impl Eq for BvSize

source§

impl EqUnifyValue for BvSize

source§

impl StructuralPartialEq for BvSize

Auto Trait Implementations§

§

impl Freeze for BvSize

§

impl RefUnwindSafe for BvSize

§

impl Send for BvSize

§

impl Sync for BvSize

§

impl Unpin for BvSize

§

impl UnwindSafe for BvSize

Blanket Implementations§

source§

impl<T> Any for T
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BvSize

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for BvSize

source§

impl Eq for BvSize

source§

impl EqUnifyValue for BvSize

source§

impl StructuralPartialEq for BvSize

Auto Trait Implementations§

§

impl Freeze for BvSize

§

impl RefUnwindSafe for BvSize

§

impl Send for BvSize

§

impl Sync for BvSize

§

impl Unpin for BvSize

§

impl UnwindSafe for BvSize

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.ClauseKind.html b/doc/flux_middle/rty/enum.ClauseKind.html index fdf7ed179b..9892cd940a 100644 --- a/doc/flux_middle/rty/enum.ClauseKind.html +++ b/doc/flux_middle/rty/enum.ClauseKind.html @@ -1,14 +1,14 @@ -ClauseKind in flux_middle::rty - Rust

Enum flux_middle::rty::ClauseKind

source ·
pub enum ClauseKind {
+ClauseKind in flux_middle::rty - Rust

Enum flux_middle::rty::ClauseKind

source ·
pub enum ClauseKind {
     FnTrait(FnTraitPredicate),
     Trait(TraitPredicate),
     Projection(ProjectionPredicate),
     TypeOutlives(TypeOutlivesPredicate),
     ConstArgHasType(Const, Ty),
     CoroutineOblig(CoroutineObligPredicate),
-}

Variants§

§

FnTrait(FnTraitPredicate)

§

Trait(TraitPredicate)

§

Projection(ProjectionPredicate)

§

TypeOutlives(TypeOutlivesPredicate)

§

ConstArgHasType(Const, Ty)

§

CoroutineOblig(CoroutineObligPredicate)

Trait Implementations§

source§

impl Clone for ClauseKind

source§

fn clone(&self) -> ClauseKind

Returns a 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 ClauseKind

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for ClauseKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ClauseKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ClauseKind

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 +}

Variants§

§

FnTrait(FnTraitPredicate)

§

Trait(TraitPredicate)

§

Projection(ProjectionPredicate)

§

TypeOutlives(TypeOutlivesPredicate)

§

ConstArgHasType(Const, Ty)

§

CoroutineOblig(CoroutineObligPredicate)

Trait Implementations§

source§

impl Clone for ClauseKind

source§

fn clone(&self) -> ClauseKind

Returns a 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 ClauseKind

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for ClauseKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ClauseKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ClauseKind

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 for ClauseKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for ClauseKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for ClauseKind

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

impl PartialEq for ClauseKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for ClauseKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for ClauseKind

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -24,11 +24,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ClauseKind

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ClauseKind

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for ClauseKind

source§

impl StructuralPartialEq for ClauseKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for ClauseKind

source§

impl StructuralPartialEq for ClauseKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.ClosureKind.html b/doc/flux_middle/rty/enum.ClosureKind.html index 16d792773b..efa8b253c0 100644 --- a/doc/flux_middle/rty/enum.ClosureKind.html +++ b/doc/flux_middle/rty/enum.ClosureKind.html @@ -7,10 +7,10 @@ desugaring) argument that the closure expects.

You can get the environment type of a closure using tcx.closure_env_ty().

-

Variants§

§

Fn

§

FnMut

§

FnOnce

Trait Implementations§

source§

impl TypeFoldable for ClosureKind

Variants§

§

Fn

§

FnMut

§

FnOnce

Trait Implementations§

source§

impl TypeFoldable for ClosureKind

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -23,7 +23,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ClosureKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ClosureKind

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/enum.Coercion.html b/doc/flux_middle/rty/enum.Coercion.html index fe207e9ee8..cbbb53910b 100644 --- a/doc/flux_middle/rty/enum.Coercion.html +++ b/doc/flux_middle/rty/enum.Coercion.html @@ -1,10 +1,11 @@ -Coercion in flux_middle::rty - Rust

Enum flux_middle::rty::Coercion

source ·
pub enum Coercion {
+Coercion in flux_middle::rty - Rust

Enum flux_middle::rty::Coercion

source ·
pub enum Coercion {
     Inject(DefId),
     Project(DefId),
-}

Variants§

§

Inject(DefId)

§

Project(DefId)

Trait Implementations§

source§

impl Debug for Coercion

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Inject(DefId)

§

Project(DefId)

Trait Implementations§

source§

impl Clone for Coercion

source§

fn clone(&self) -> Coercion

Returns a 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 Coercion

source§

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

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

impl Copy for Coercion

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

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

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of @@ -16,6 +17,7 @@ F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> -otherwise. Read more
source§

impl<P> IntoQueryParam<P> for P

source§

impl<T, U> TryFrom<U> for T
where +otherwise. Read more

source§

impl<P> IntoQueryParam<P> for P

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
\ No newline at end of file diff --git a/doc/flux_middle/rty/enum.Constant.html b/doc/flux_middle/rty/enum.Constant.html index e613828ae4..b9e5812b55 100644 --- a/doc/flux_middle/rty/enum.Constant.html +++ b/doc/flux_middle/rty/enum.Constant.html @@ -1,20 +1,20 @@ -Constant in flux_middle::rty - Rust

Enum flux_middle::rty::Constant

source ·
pub enum Constant {
+Constant in flux_middle::rty - Rust

Enum flux_middle::rty::Constant

source ·
pub enum Constant {
     Int(BigInt),
     Real(Real),
     Bool(bool),
     Str(Symbol),
-}

Variants§

§

Int(BigInt)

§

Real(Real)

§

Bool(bool)

§

Str(Symbol)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

pub const TRUE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn from_scalar_int<'tcx, T>( +}

Variants§

§

Int(BigInt)

§

Real(Real)

§

Bool(bool)

§

Str(Symbol)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

pub const TRUE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn from_scalar_int<'tcx, T>( tcx: TyCtxt<'tcx>, scalar: ScalarInt, t: &T, ) -> Option<Self>
where - T: ToRustc<'tcx, T = Ty<'tcx>>,

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a 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 Constant

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Symbol> for Constant

source§

fn from(s: Symbol) -> Self

Converts to this type from the input type.
source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

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 + T: ToRustc<'tcx, T = Ty<'tcx>>,

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a 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 Constant

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Symbol> for Constant

source§

fn from(s: Symbol) -> Self

Converts to this type from the input type.
source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

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 for Constant

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for Constant

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

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

impl PartialEq for Constant

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for Constant

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.Ensures.html b/doc/flux_middle/rty/enum.Ensures.html index 44d795af5b..b1258788b1 100644 --- a/doc/flux_middle/rty/enum.Ensures.html +++ b/doc/flux_middle/rty/enum.Ensures.html @@ -1,10 +1,10 @@ -Ensures in flux_middle::rty - Rust

Enum flux_middle::rty::Ensures

source ·
pub enum Ensures {
+Ensures in flux_middle::rty - Rust

Enum flux_middle::rty::Ensures

source ·
pub enum Ensures {
     Type(Path, Ty),
     Pred(Expr),
-}

Variants§

§

Type(Path, Ty)

§

Pred(Expr)

Trait Implementations§

source§

impl Clone for Ensures

source§

fn clone(&self) -> Ensures

Returns a 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 Ensures

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for Ensures

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Ensures

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Ensures

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 +}

Variants§

§

Type(Path, Ty)

§

Pred(Expr)

Trait Implementations§

source§

impl Clone for Ensures

source§

fn clone(&self) -> Ensures

Returns a 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 Ensures

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for Ensures

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Ensures

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Ensures

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 for Ensures

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for Ensures

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Ensures

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Ensures

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

impl PartialEq for Ensures

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for Ensures

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Ensures

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Ensures

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -20,8 +20,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Ensures

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Ensures

source§

impl StructuralPartialEq for Ensures

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Ensures

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Ensures

source§

impl StructuralPartialEq for Ensures

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.ExistentialPredicate.html b/doc/flux_middle/rty/enum.ExistentialPredicate.html index f4d73470ab..2820331bfb 100644 --- a/doc/flux_middle/rty/enum.ExistentialPredicate.html +++ b/doc/flux_middle/rty/enum.ExistentialPredicate.html @@ -1,12 +1,12 @@ -ExistentialPredicate in flux_middle::rty - Rust

Enum flux_middle::rty::ExistentialPredicate

source ·
pub enum ExistentialPredicate {
+ExistentialPredicate in flux_middle::rty - Rust

Enum flux_middle::rty::ExistentialPredicate

source ·
pub enum ExistentialPredicate {
     Trait(ExistentialTraitRef),
     Projection(ExistentialProjection),
     AutoTrait(DefId),
-}

Variants§

Implementations§

Trait Implementations§

source§

impl Clone for ExistentialPredicate

source§

fn clone(&self) -> ExistentialPredicate

Returns a 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 ExistentialPredicate

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for ExistentialPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExistentialPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExistentialPredicate

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 +}

Variants§

Implementations§

Trait Implementations§

source§

impl Clone for ExistentialPredicate

source§

fn clone(&self) -> ExistentialPredicate

Returns a 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 ExistentialPredicate

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for ExistentialPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExistentialPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExistentialPredicate

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 for ExistentialPredicate

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for ExistentialPredicate

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for ExistentialPredicate

§

type T = ExistentialPredicate<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for ExistentialPredicate

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

impl PartialEq for ExistentialPredicate

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for ExistentialPredicate

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for ExistentialPredicate

§

type T = ExistentialPredicate<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for ExistentialPredicate

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -22,11 +22,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ExistentialPredicate

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ExistentialPredicate

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for ExistentialPredicate

source§

impl StructuralPartialEq for ExistentialPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for ExistentialPredicate

source§

impl StructuralPartialEq for ExistentialPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.ExprKind.html b/doc/flux_middle/rty/enum.ExprKind.html index eb35332358..eaf2cdbda4 100644 --- a/doc/flux_middle/rty/enum.ExprKind.html +++ b/doc/flux_middle/rty/enum.ExprKind.html @@ -43,9 +43,9 @@ decouple the places where we generate holes (where we don’t want to worry about the scope), and the places where we generate inference variable for them (where we do need to worry about the scope).

-
§

ForAll(Binder<Expr>)

Implementations§

Trait Implementations§

source§

impl Clone for ExprKind

source§

fn clone(&self) -> ExprKind

Returns a 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<__D: TyDecoder> Decodable<__D> for ExprKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExprKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExprKind

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

ForAll(Binder<Expr>)

Implementations§

Trait Implementations§

source§

impl Clone for ExprKind

source§

fn clone(&self) -> ExprKind

Returns a 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<__D: TyDecoder> Decodable<__D> for ExprKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExprKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExprKind

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 Internable for ExprKind

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for ExprKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient, + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
source§

impl Internable for ExprKind

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for ExprKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Eq for ExprKind

source§

impl StructuralPartialEq for ExprKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/enum.GenericArg.html b/doc/flux_middle/rty/enum.GenericArg.html index 630cb32c13..9e4e0b3e95 100644 --- a/doc/flux_middle/rty/enum.GenericArg.html +++ b/doc/flux_middle/rty/enum.GenericArg.html @@ -1,9 +1,9 @@ -GenericArg in flux_middle::rty - Rust

Enum flux_middle::rty::GenericArg

source ·
pub enum GenericArg {
+GenericArg in flux_middle::rty - Rust

Enum flux_middle::rty::GenericArg

source ·
pub enum GenericArg {
     Ty(Ty),
     Base(SubsetTyCtor),
     Lifetime(Region),
     Const(Const),
-}

Variants§

§

Ty(Ty)

§

Base(SubsetTyCtor)

§

Lifetime(Region)

§

Const(Const)

Implementations§

source§

impl GenericArg

source

pub fn expect_type(&self) -> &Ty

source

pub fn expect_base(&self) -> &SubsetTyCtor

source

pub fn from_param_def(param: &GenericParamDef) -> Self

source

pub fn for_item<F>( +}

Variants§

§

Ty(Ty)

§

Base(SubsetTyCtor)

§

Lifetime(Region)

§

Const(Const)

Implementations§

source§

impl GenericArg

source

pub fn expect_type(&self) -> &Ty

source

pub fn expect_base(&self) -> &SubsetTyCtor

source

pub fn from_param_def(param: &GenericParamDef) -> Self

source

pub fn for_item<F>( genv: GlobalEnv<'_, '_>, def_id: DefId, mk_kind: F, @@ -11,19 +11,19 @@ F: FnMut(&GenericParamDef, &[GenericArg]) -> GenericArg,

Creates a GenericArgs from the definition of generic parameters, by calling a closure to obtain arg. The closures get to observe the GenericArgs as they’re being built, which can be used to correctly replace defaults of generic parameters.

-
source

pub fn identity_for_item( +

source

pub fn identity_for_item( genv: GlobalEnv<'_, '_>, def_id: impl Into<DefId>, -) -> QueryResult<GenericArgs>

source

fn fill_item<F>( +) -> QueryResult<GenericArgs>

source

fn fill_item<F>( genv: GlobalEnv<'_, '_>, args: &mut Vec<GenericArg>, generics: &Generics, mk_kind: &mut F, ) -> QueryResult<()>

Trait Implementations§

source§

impl Clone for GenericArg

source§

fn clone(&self) -> GenericArg

Returns a 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 GenericArg

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for GenericArg

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for GenericArg

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for GenericArg

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)

Trait Implementations§

source§

impl Clone for GenericArg

source§

fn clone(&self) -> GenericArg

Returns a 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 GenericArg

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for GenericArg

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for GenericArg

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for GenericArg

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 for GenericArg

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for GenericArg

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for GenericArg

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx> ToRustc<'tcx> for GenericArg

§

type T = GenericArg<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for GenericArg

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

impl PartialEq for GenericArg

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for GenericArg

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for GenericArg

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx> ToRustc<'tcx> for GenericArg

§

type T = GenericArg<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for GenericArg

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -39,8 +39,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for GenericArg

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for GenericArg

source§

impl StructuralPartialEq for GenericArg

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for GenericArg

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for GenericArg

source§

impl StructuralPartialEq for GenericArg

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.GenericParamDefKind.html b/doc/flux_middle/rty/enum.GenericParamDefKind.html index 2e3fd119a5..d68b602d9c 100644 --- a/doc/flux_middle/rty/enum.GenericParamDefKind.html +++ b/doc/flux_middle/rty/enum.GenericParamDefKind.html @@ -1,4 +1,4 @@ -GenericParamDefKind in flux_middle::rty - Rust

Enum flux_middle::rty::GenericParamDefKind

source ·
pub enum GenericParamDefKind {
+GenericParamDefKind in flux_middle::rty - Rust

Enum flux_middle::rty::GenericParamDefKind

source ·
pub enum GenericParamDefKind {
     Type {
         has_default: bool,
     },
@@ -7,10 +7,10 @@
     Const {
         has_default: bool,
     },
-}

Variants§

§

Type

Fields

§has_default: bool
§

Base

§

Lifetime

§

Const

Fields

§has_default: bool

Trait Implementations§

source§

impl Clone for GenericParamDefKind

source§

fn clone(&self) -> GenericParamDefKind

Returns a 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 GenericParamDefKind

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for GenericParamDefKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for GenericParamDefKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for GenericParamDefKind

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 +}

Variants§

§

Type

Fields

§has_default: bool
§

Base

§

Lifetime

§

Const

Fields

§has_default: bool

Trait Implementations§

source§

impl Clone for GenericParamDefKind

source§

fn clone(&self) -> GenericParamDefKind

Returns a 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 GenericParamDefKind

source§

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

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

impl<__D: SpanDecoder> Decodable<__D> for GenericParamDefKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for GenericParamDefKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for GenericParamDefKind

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 for GenericParamDefKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for GenericParamDefKind

source§

impl Eq for GenericParamDefKind

source§

impl StructuralPartialEq for GenericParamDefKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

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

source§

impl PartialEq for GenericParamDefKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for GenericParamDefKind

source§

impl Eq for GenericParamDefKind

source§

impl StructuralPartialEq for GenericParamDefKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.Loc.html b/doc/flux_middle/rty/enum.Loc.html index d326a25abc..57bdc4cc54 100644 --- a/doc/flux_middle/rty/enum.Loc.html +++ b/doc/flux_middle/rty/enum.Loc.html @@ -1,7 +1,7 @@ Loc in flux_middle::rty - Rust

Enum flux_middle::rty::Loc

source ·
pub enum Loc {
     Local(Local),
     Var(Var),
-}

Variants§

§

Local(Local)

§

Var(Var)

Implementations§

source§

impl Loc

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Loc

source§

fn clone(&self) -> Loc

Returns a 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 Loc

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for Loc

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Loc

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Local> for Loc

source§

fn from(local: Local) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl Hash for Loc

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 +}

Variants§

§

Local(Local)

§

Var(Var)

Implementations§

source§

impl Loc

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Loc

source§

fn clone(&self) -> Loc

Returns a 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 Loc

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for Loc

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Loc

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Local> for Loc

source§

fn from(local: Local) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl Hash for Loc

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 Loc

source§

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

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

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

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

fn min(self, other: Self) -> Self
where @@ -10,7 +10,7 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for Loc

source§

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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Pretty for Loc

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Loc

source§

impl Eq for Loc

source§

impl StructuralPartialEq for Loc

Auto Trait Implementations§

§

impl Freeze for Loc

§

impl RefUnwindSafe for Loc

§

impl Send for Loc

§

impl Sync for Loc

§

impl Unpin for Loc

§

impl UnwindSafe for Loc

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Pretty for Loc

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Loc

source§

impl Eq for Loc

source§

impl StructuralPartialEq for Loc

Auto Trait Implementations§

§

impl Freeze for Loc

§

impl RefUnwindSafe for Loc

§

impl Send for Loc

§

impl Sync for Loc

§

impl Unpin for Loc

§

impl UnwindSafe for Loc

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.NumVarValue.html b/doc/flux_middle/rty/enum.NumVarValue.html index 4f024d8510..c26930a969 100644 --- a/doc/flux_middle/rty/enum.NumVarValue.html +++ b/doc/flux_middle/rty/enum.NumVarValue.html @@ -1,8 +1,8 @@ -NumVarValue in flux_middle::rty - Rust

Enum flux_middle::rty::NumVarValue

source ·
pub enum NumVarValue {
+NumVarValue in flux_middle::rty - Rust

Enum flux_middle::rty::NumVarValue

source ·
pub enum NumVarValue {
     Real,
     Int,
-}

Variants§

§

Real

§

Int

Implementations§

Trait Implementations§

source§

impl Clone for NumVarValue

source§

fn clone(&self) -> NumVarValue

Returns a 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 NumVarValue

source§

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

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

impl PartialEq for NumVarValue

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for NumVarValue

source§

impl Eq for NumVarValue

source§

impl EqUnifyValue for NumVarValue

source§

impl StructuralPartialEq for NumVarValue

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Real

§

Int

Implementations§

Trait Implementations§

source§

impl Clone for NumVarValue

source§

fn clone(&self) -> NumVarValue

Returns a 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 NumVarValue

source§

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

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

impl PartialEq for NumVarValue

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Copy for NumVarValue

source§

impl Eq for NumVarValue

source§

impl EqUnifyValue for NumVarValue

source§

impl StructuralPartialEq for NumVarValue

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.Opaqueness.html b/doc/flux_middle/rty/enum.Opaqueness.html index f5911ba8da..8f27a19d95 100644 --- a/doc/flux_middle/rty/enum.Opaqueness.html +++ b/doc/flux_middle/rty/enum.Opaqueness.html @@ -1,13 +1,13 @@ -Opaqueness in flux_middle::rty - Rust

Enum flux_middle::rty::Opaqueness

source ·
pub enum Opaqueness<T> {
+Opaqueness in flux_middle::rty - Rust

Enum flux_middle::rty::Opaqueness

source ·
pub enum Opaqueness<T> {
     Opaque,
     Transparent(T),
 }
Expand description

Option-like enum to explicitly mark that we don’t have information about an ADT because it was annotated with #[flux::opaque]. Note that only structs can be marked as opaque.

-

Variants§

§

Opaque

§

Transparent(T)

Implementations§

source§

impl<T> Opaqueness<T>

source

pub fn map<S>(self, f: impl FnOnce(T) -> S) -> Opaqueness<S>

source

pub fn as_ref(&self) -> Opaqueness<&T>

source

pub fn as_deref(&self) -> Opaqueness<&T::Target>
where - T: Deref,

source

pub fn ok_or_else<E>(self, err: impl FnOnce() -> E) -> Result<T, E>

source

pub fn expect(self, msg: &str) -> T

source§

impl<T, E> Opaqueness<Result<T, E>>

source

pub fn transpose(self) -> Result<Opaqueness<T>, E>

Trait Implementations§

source§

impl<T: Clone> Clone for Opaqueness<T>

source§

fn clone(&self) -> Opaqueness<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<T: Debug> Debug for Opaqueness<T>

source§

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

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

impl<T, __D: TyDecoder> Decodable<__D> for Opaqueness<T>
where - T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<T, __E: TyEncoder> Encodable<__E> for Opaqueness<T>
where - T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl<T> TypeFoldable for Opaqueness<T>
where - T: TypeFoldable,

Variants§

§

Opaque

§

Transparent(T)

Implementations§

source§

impl<T> Opaqueness<T>

source

pub fn map<S>(self, f: impl FnOnce(T) -> S) -> Opaqueness<S>

source

pub fn as_ref(&self) -> Opaqueness<&T>

source

pub fn as_deref(&self) -> Opaqueness<&T::Target>
where + T: Deref,

source

pub fn ok_or_else<E>(self, err: impl FnOnce() -> E) -> Result<T, E>

source

pub fn expect(self, msg: &str) -> T

source§

impl<T, E> Opaqueness<Result<T, E>>

source

pub fn transpose(self) -> Result<Opaqueness<T>, E>

Trait Implementations§

source§

impl<T: Clone> Clone for Opaqueness<T>

source§

fn clone(&self) -> Opaqueness<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<T: Debug> Debug for Opaqueness<T>

source§

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

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

impl<T, __D: TyDecoder> Decodable<__D> for Opaqueness<T>
where + T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<T, __E: TyEncoder> Encodable<__E> for Opaqueness<T>
where + T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl<T> TypeFoldable for Opaqueness<T>
where + T: TypeFoldable,

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -23,8 +23,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeVisitable for Opaqueness<T>
where - T: TypeVisitable,

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeVisitable for Opaqueness<T>
where + T: TypeVisitable,

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. diff --git a/doc/flux_middle/rty/enum.PtrKind.html b/doc/flux_middle/rty/enum.PtrKind.html index 67e7173c74..787f021a4f 100644 --- a/doc/flux_middle/rty/enum.PtrKind.html +++ b/doc/flux_middle/rty/enum.PtrKind.html @@ -1,10 +1,10 @@ -PtrKind in flux_middle::rty - Rust

Enum flux_middle::rty::PtrKind

source ·
pub enum PtrKind {
+PtrKind in flux_middle::rty - Rust

Enum flux_middle::rty::PtrKind

source ·
pub enum PtrKind {
     Mut(Region),
     Box,
-}

Variants§

§

Mut(Region)

§

Box

Trait Implementations§

source§

impl Clone for PtrKind

source§

fn clone(&self) -> PtrKind

Returns a 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 PtrKind

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for PtrKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for PtrKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for PtrKind

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 +}

Variants§

§

Mut(Region)

§

Box

Trait Implementations§

source§

impl Clone for PtrKind

source§

fn clone(&self) -> PtrKind

Returns a 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 PtrKind

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for PtrKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for PtrKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for PtrKind

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 for PtrKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for PtrKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for PtrKind

source§

impl Eq for PtrKind

source§

impl StructuralPartialEq for PtrKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

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

impl PartialEq for PtrKind

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for PtrKind

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for PtrKind

source§

impl Eq for PtrKind

source§

impl StructuralPartialEq for PtrKind

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.Region.html b/doc/flux_middle/rty/enum.Region.html index 3ba5b8f100..3fc05111db 100644 --- a/doc/flux_middle/rty/enum.Region.html +++ b/doc/flux_middle/rty/enum.Region.html @@ -9,7 +9,7 @@ __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 for Region

source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl Pretty for Region

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for Region

§

type T = Region<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> <Region as ToRustc<'tcx>>::T

source§

impl TypeFoldable for Region

source§

fn try_fold_with<F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for Region

source§

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

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for Region

§

type T = Region<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> <Region as ToRustc<'tcx>>::T

source§

impl TypeFoldable for Region

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -25,7 +25,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Region

source§

fn visit_with<V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Region

source§

fn visit_with<V: TypeVisitor>( &self, _visitor: &mut V, ) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. diff --git a/doc/flux_middle/rty/enum.Sort.html b/doc/flux_middle/rty/enum.Sort.html index e1e45ebf08..a39545c790 100644 --- a/doc/flux_middle/rty/enum.Sort.html +++ b/doc/flux_middle/rty/enum.Sort.html @@ -1,5 +1,5 @@ -Sort in flux_middle::rty - Rust

Enum flux_middle::rty::Sort

source ·
pub enum Sort {
-
Show 13 variants Int, +Sort in flux_middle::rty - Rust

Enum flux_middle::rty::Sort

source ·
pub enum Sort {
+
Show 14 variants Int, Bool, Real, BitVec(BvSize), @@ -7,17 +7,18 @@ Loc, Param(ParamTy), Tuple(List<Sort>), + Alias(AliasTy), Func(PolyFuncSort), App(SortCtor, List<Sort>), Var(ParamSort), Infer(SortInfer), Err, -
}

Variants§

§

Int

§

Bool

§

Real

§

BitVec(BvSize)

§

Str

§

Loc

§

Param(ParamTy)

§

Tuple(List<Sort>)

§

Func(PolyFuncSort)

§

App(SortCtor, List<Sort>)

§

Var(ParamSort)

§

Infer(SortInfer)

§

Err

Implementations§

source§

impl Sort

source

pub fn tuple(sorts: impl Into<List<Sort>>) -> Self

source

pub fn app(ctor: SortCtor, sorts: List<Sort>) -> Self

source

pub fn unit() -> Self

source

pub fn expect_func(&self) -> &PolyFuncSort

source

pub fn is_loc(&self) -> bool

source

pub fn is_unit(&self) -> bool

source

pub fn is_unit_adt(&self) -> Option<DefId>

source

pub fn is_pred(&self) -> bool

Whether the sort is a function with return sort bool

-
source

pub fn is_bool(&self) -> bool

Returns true if the sort is Bool.

-
source

pub fn is_numeric(&self) -> bool

source

pub fn walk(&self, f: impl FnMut(&Sort, &[FieldProj]))

Trait Implementations§

source§

impl Clone for Sort

source§

fn clone(&self) -> Sort

Returns a 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 Sort

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for Sort

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Sort

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Sort> for BoundVariableKind

source§

fn from(sort: Sort) -> Self

Converts to this type from the input type.
source§

impl Hash for Sort

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 +

}

Variants§

§

Int

§

Bool

§

Real

§

BitVec(BvSize)

§

Str

§

Loc

§

Param(ParamTy)

§

Tuple(List<Sort>)

§

Alias(AliasTy)

§

Func(PolyFuncSort)

§

App(SortCtor, List<Sort>)

§

Var(ParamSort)

§

Infer(SortInfer)

§

Err

Implementations§

source§

impl Sort

source

pub fn tuple(sorts: impl Into<List<Sort>>) -> Self

source

pub fn app(ctor: SortCtor, sorts: List<Sort>) -> Self

source

pub fn unit() -> Self

source

pub fn expect_func(&self) -> &PolyFuncSort

source

pub fn is_loc(&self) -> bool

source

pub fn is_unit(&self) -> bool

source

pub fn is_unit_adt(&self) -> Option<DefId>

source

pub fn is_pred(&self) -> bool

Whether the sort is a function with return sort bool

+
source

pub fn is_bool(&self) -> bool

Returns true if the sort is Bool.

+
source

pub fn is_numeric(&self) -> bool

source

pub fn walk(&self, f: impl FnMut(&Sort, &[FieldProj]))

Trait Implementations§

source§

impl Clone for Sort

source§

fn clone(&self) -> Sort

Returns a 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 Sort

source§

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

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

impl<__D: TyDecoder> Decodable<__D> for Sort

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Sort

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Sort> for BoundVariableKind

source§

fn from(sort: Sort) -> Self

Converts to this type from the input type.
source§

impl Hash for Sort

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 IntoDiagArg for Sort

source§

impl PartialEq for Sort

source§

fn eq(&self, other: &Sort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Sort

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Sort

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Sort

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoDiagArg for Sort

source§

impl PartialEq for Sort

source§

fn eq(&self, other: &Sort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for Sort

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Sort

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Sort

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -33,14 +34,14 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Sort

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Sort

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Sort

source§

fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Sort

source§

impl TypeVisitable for Sort

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Sort

source§

impl EqUnifyValue for Sort

source§

impl StructuralPartialEq for Sort

Auto Trait Implementations§

§

impl Freeze for Sort

§

impl RefUnwindSafe for Sort

§

impl Send for Sort

§

impl Sync for Sort

§

impl Unpin for Sort

§

impl UnwindSafe for Sort

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for Sort

source§

impl EqUnifyValue for Sort

source§

impl StructuralPartialEq for Sort

Auto Trait Implementations§

§

impl Freeze for Sort

§

impl RefUnwindSafe for Sort

§

impl Send for Sort

§

impl Sync for Sort

§

impl Unpin for Sort

§

impl UnwindSafe for Sort

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.SortArg.html b/doc/flux_middle/rty/enum.SortArg.html index b010e29a73..edb5b5a492 100644 --- a/doc/flux_middle/rty/enum.SortArg.html +++ b/doc/flux_middle/rty/enum.SortArg.html @@ -1,12 +1,12 @@ -SortArg in flux_middle::rty - Rust

Enum flux_middle::rty::SortArg

source ·
pub enum SortArg {
+SortArg in flux_middle::rty - Rust

Enum flux_middle::rty::SortArg

source ·
pub enum SortArg {
     Sort(Sort),
     BvSize(BvSize),
 }
Expand description

An argument for a generic parameter in a Sort which can be either a generic sort or a generic bit-vector size.

-

Variants§

§

Sort(Sort)

§

BvSize(BvSize)

Trait Implementations§

source§

impl Clone for SortArg

source§

fn clone(&self) -> SortArg

Returns a 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 SortArg

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SortArg

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SortArg

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortArg

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 +

Variants§

§

Sort(Sort)

§

BvSize(BvSize)

Trait Implementations§

source§

impl Clone for SortArg

source§

fn clone(&self) -> SortArg

Returns a 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 SortArg

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SortArg

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SortArg

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortArg

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 for SortArg

source§

fn eq(&self, other: &SortArg) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for SortArg

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for SortArg

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for SortArg

source§

fn eq(&self, other: &SortArg) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for SortArg

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for SortArg

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -22,11 +22,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for SortArg

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for SortArg

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for SortArg

source§

impl StructuralPartialEq for SortArg

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for SortArg

source§

impl StructuralPartialEq for SortArg

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.SortCtor.html b/doc/flux_middle/rty/enum.SortCtor.html index 6f0bebaed4..7832d0f0ec 100644 --- a/doc/flux_middle/rty/enum.SortCtor.html +++ b/doc/flux_middle/rty/enum.SortCtor.html @@ -1,14 +1,14 @@ -SortCtor in flux_middle::rty - Rust

Enum flux_middle::rty::SortCtor

source ·
pub enum SortCtor {
+SortCtor in flux_middle::rty - Rust

Enum flux_middle::rty::SortCtor

source ·
pub enum SortCtor {
     Set,
     Map,
     Adt(AdtSortDef),
     User {
         name: Symbol,
     },
-}

Variants§

§

Set

§

Map

§

Adt(AdtSortDef)

§

User

Fields

§name: Symbol

Trait Implementations§

source§

impl Clone for SortCtor

source§

fn clone(&self) -> SortCtor

Returns a 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 SortCtor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SortCtor

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SortCtor

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortCtor

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 +}

Variants§

§

Set

§

Map

§

Adt(AdtSortDef)

§

User

Fields

§name: Symbol

Trait Implementations§

source§

impl Clone for SortCtor

source§

fn clone(&self) -> SortCtor

Returns a 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 SortCtor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SortCtor

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SortCtor

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortCtor

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 for SortCtor

source§

fn eq(&self, other: &SortCtor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for SortCtor

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Eq for SortCtor

source§

impl StructuralPartialEq for SortCtor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for SortCtor

source§

fn eq(&self, other: &SortCtor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for SortCtor

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Eq for SortCtor

source§

impl StructuralPartialEq for SortCtor

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.SortInfer.html b/doc/flux_middle/rty/enum.SortInfer.html index 0f872685a6..b296d61ce7 100644 --- a/doc/flux_middle/rty/enum.SortInfer.html +++ b/doc/flux_middle/rty/enum.SortInfer.html @@ -1,13 +1,13 @@ -SortInfer in flux_middle::rty - Rust

Enum flux_middle::rty::SortInfer

source ·
pub enum SortInfer {
+SortInfer in flux_middle::rty - Rust

Enum flux_middle::rty::SortInfer

source ·
pub enum SortInfer {
     SortVar(SortVid),
     NumVar(NumVid),
 }
Expand description

A placeholder for a sort that needs to be inferred

Variants§

§

SortVar(SortVid)

A sort variable.

§

NumVar(NumVid)

A numeric sort variable.

-

Trait Implementations§

source§

impl Clone for SortInfer

source§

fn clone(&self) -> SortInfer

Returns a 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<__D: SpanDecoder> Decodable<__D> for SortInfer

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for SortInfer

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortInfer

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 +

Trait Implementations§

source§

impl Clone for SortInfer

source§

fn clone(&self) -> SortInfer

Returns a 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<__D: SpanDecoder> Decodable<__D> for SortInfer

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for SortInfer

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortInfer

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 for SortInfer

source§

fn eq(&self, other: &SortInfer) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for SortInfer

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for SortInfer

source§

impl Eq for SortInfer

source§

impl StructuralPartialEq for SortInfer

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for SortInfer

source§

fn eq(&self, other: &SortInfer) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for SortInfer

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for SortInfer

source§

impl Eq for SortInfer

source§

impl StructuralPartialEq for SortInfer

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.SortParamKind.html b/doc/flux_middle/rty/enum.SortParamKind.html index a7b47fbcbb..8693003a76 100644 --- a/doc/flux_middle/rty/enum.SortParamKind.html +++ b/doc/flux_middle/rty/enum.SortParamKind.html @@ -1,11 +1,11 @@ -SortParamKind in flux_middle::rty - Rust

Enum flux_middle::rty::SortParamKind

source ·
pub enum SortParamKind {
+SortParamKind in flux_middle::rty - Rust

Enum flux_middle::rty::SortParamKind

source ·
pub enum SortParamKind {
     Sort,
     BvSize,
 }
Expand description

Variants§

§

Sort

§

BvSize

Trait Implementations§

source§

impl Clone for SortParamKind

source§

fn clone(&self) -> SortParamKind

Returns a 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 SortParamKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SortParamKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SortParamKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortParamKind

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 +

Variants§

§

Sort

§

BvSize

Trait Implementations§

source§

impl Clone for SortParamKind

source§

fn clone(&self) -> SortParamKind

Returns a 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 SortParamKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SortParamKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SortParamKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SortParamKind

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 for SortParamKind

source§

fn eq(&self, other: &SortParamKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for SortParamKind

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Copy for SortParamKind

source§

impl Eq for SortParamKind

source§

impl StructuralPartialEq for SortParamKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for SortParamKind

source§

fn eq(&self, other: &SortParamKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for SortParamKind

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Copy for SortParamKind

source§

impl Eq for SortParamKind

source§

impl StructuralPartialEq for SortParamKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.TyKind.html b/doc/flux_middle/rty/enum.TyKind.html index 431ec20476..dbf50d7469 100644 --- a/doc/flux_middle/rty/enum.TyKind.html +++ b/doc/flux_middle/rty/enum.TyKind.html @@ -1,4 +1,4 @@ -TyKind in flux_middle::rty - Rust

Enum flux_middle::rty::TyKind

source ·
pub enum TyKind {
+TyKind in flux_middle::rty - Rust

Enum flux_middle::rty::TyKind

source ·
pub enum TyKind {
     Indexed(BaseTy, Expr),
     Exists(Binder<Ty>),
     Constr(Expr, Ty),
@@ -18,10 +18,10 @@
 
§

Param(ParamTy)

§

Downcast(AdtDef, GenericArgs, Ty, VariantIdx, List<Ty>)

§

Blocked(Ty)

§

Alias(AliasKind, AliasTy)

§

Infer(TyVid)

A type that needs to be inferred by matching the signature against a rust signature. TyKind::Infer appear as an intermediate step during conv and should not be present in the final signature.

-

Implementations§

Trait Implementations§

source§

impl Clone for TyKind

source§

fn clone(&self) -> TyKind

Returns a 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 TyKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for TyKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for TyKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for TyKind

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 +

Implementations§

Trait Implementations§

source§

impl Clone for TyKind

source§

fn clone(&self) -> TyKind

Returns a 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 TyKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for TyKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for TyKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for TyKind

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 Internable for TyKind

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for TyKind

source§

fn eq(&self, other: &TyKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Eq for TyKind

source§

impl StructuralPartialEq for TyKind

Auto Trait Implementations§

§

impl Freeze for TyKind

§

impl RefUnwindSafe for TyKind

§

impl Send for TyKind

§

impl Sync for TyKind

§

impl Unpin for TyKind

§

impl UnwindSafe for TyKind

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Internable for TyKind

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for TyKind

source§

fn eq(&self, other: &TyKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Eq for TyKind

source§

impl StructuralPartialEq for TyKind

Auto Trait Implementations§

§

impl Freeze for TyKind

§

impl RefUnwindSafe for TyKind

§

impl Send for TyKind

§

impl Sync for TyKind

§

impl Unpin for TyKind

§

impl UnwindSafe for TyKind

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.UnOp.html b/doc/flux_middle/rty/enum.UnOp.html index 4b2c623f1a..71df615941 100644 --- a/doc/flux_middle/rty/enum.UnOp.html +++ b/doc/flux_middle/rty/enum.UnOp.html @@ -4,7 +4,7 @@ }

Variants§

§

Not

§

Neg

Trait Implementations§

source§

impl Clone for UnOp

source§

fn clone(&self) -> UnOp

Returns a 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<__D: SpanDecoder> Decodable<__D> for UnOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for UnOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for UnOp

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 for UnOp

source§

fn eq(&self, other: &UnOp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for UnOp

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl Freeze for UnOp

§

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 T
where +and should not be overridden without very good reason.

source§

impl Pretty for UnOp

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl Freeze for UnOp

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/enum.Var.html b/doc/flux_middle/rty/enum.Var.html index be4d091946..ca4337dd63 100644 --- a/doc/flux_middle/rty/enum.Var.html +++ b/doc/flux_middle/rty/enum.Var.html @@ -4,7 +4,7 @@ EarlyParam(EarlyReftParam), EVar(EVar), ConstGeneric(ParamConst), -}

Variants§

§

Free(Name)

§

Bound(DebruijnIndex, BoundReft)

§

EarlyParam(EarlyReftParam)

§

EVar(EVar)

§

ConstGeneric(ParamConst)

Implementations§

source§

impl Var

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Var

source§

fn clone(&self) -> Var

Returns a 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 Var

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Var

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Var

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl Hash for Var

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 +}

Variants§

§

Free(Name)

§

Bound(DebruijnIndex, BoundReft)

§

EarlyParam(EarlyReftParam)

§

EVar(EVar)

§

ConstGeneric(ParamConst)

Implementations§

source§

impl Var

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Var

source§

fn clone(&self) -> Var

Returns a 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 Var

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Var

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Var

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl Hash for Var

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 Var

source§

fn cmp(&self, other: &Var) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -13,7 +13,7 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for Var

source§

fn partial_cmp(&self, other: &Var) -> 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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Pretty for Var

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Var

source§

impl Eq for Var

source§

impl StructuralPartialEq for Var

Auto Trait Implementations§

§

impl Freeze for Var

§

impl RefUnwindSafe for Var

§

impl Send for Var

§

impl Sync for Var

§

impl Unpin for Var

§

impl UnwindSafe for Var

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Pretty for Var

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Var

source§

impl Eq for Var

source§

impl StructuralPartialEq for Var

Auto Trait Implementations§

§

impl Freeze for Var

§

impl RefUnwindSafe for Var

§

impl Send for Var

§

impl Sync for Var

§

impl Unpin for Var

§

impl UnwindSafe for Var

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/expr/enum.BinOp.html b/doc/flux_middle/rty/expr/enum.BinOp.html index 65d8a79f47..9e1aeb9b9f 100644 --- a/doc/flux_middle/rty/expr/enum.BinOp.html +++ b/doc/flux_middle/rty/expr/enum.BinOp.html @@ -14,10 +14,10 @@ Mul, Div, Mod, -

}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt(Sort)

§

Ge(Sort)

§

Lt(Sort)

§

Le(Sort)

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Implementations§

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a 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<__D: TyDecoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

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 +

}

Variants§

§

Iff

§

Imp

§

Or

§

And

§

Eq

§

Ne

§

Gt(Sort)

§

Ge(Sort)

§

Lt(Sort)

§

Le(Sort)

§

Add

§

Sub

§

Mul

§

Div

§

Mod

Implementations§

Trait Implementations§

source§

impl Clone for BinOp

source§

fn clone(&self) -> BinOp

Returns a 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<__D: TyDecoder> Decodable<__D> for BinOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for BinOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for BinOp

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 for BinOp

source§

fn eq(&self, other: &BinOp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for BinOp

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BinOp

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for BinOp

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for BinOp

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/expr/enum.Constant.html b/doc/flux_middle/rty/expr/enum.Constant.html index f40b54c279..63087acede 100644 --- a/doc/flux_middle/rty/expr/enum.Constant.html +++ b/doc/flux_middle/rty/expr/enum.Constant.html @@ -1,20 +1,20 @@ -Constant in flux_middle::rty::expr - Rust

Enum flux_middle::rty::expr::Constant

source ·
pub enum Constant {
+Constant in flux_middle::rty::expr - Rust

Enum flux_middle::rty::expr::Constant

source ·
pub enum Constant {
     Int(BigInt),
     Real(Real),
     Bool(bool),
     Str(Symbol),
-}

Variants§

§

Int(BigInt)

§

Real(Real)

§

Bool(bool)

§

Str(Symbol)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

pub const TRUE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn from_scalar_int<'tcx, T>( +}

Variants§

§

Int(BigInt)

§

Real(Real)

§

Bool(bool)

§

Str(Symbol)

Implementations§

source§

impl Constant

source

pub const ZERO: Constant = _

source

pub const ONE: Constant = _

source

pub const TRUE: Constant = _

source

fn to_bool(self) -> Option<bool>

source

fn to_int(self) -> Option<BigInt>

source

pub fn iff(&self, other: &Constant) -> Option<Constant>

source

pub fn imp(&self, other: &Constant) -> Option<Constant>

source

pub fn or(&self, other: &Constant) -> Option<Constant>

source

pub fn and(&self, other: &Constant) -> Option<Constant>

source

pub fn eq(&self, other: &Constant) -> Constant

source

pub fn ne(&self, other: &Constant) -> Constant

source

pub fn gt(&self, other: &Constant) -> Option<Constant>

source

pub fn ge(&self, other: &Constant) -> Option<Constant>

source

pub fn from_scalar_int<'tcx, T>( tcx: TyCtxt<'tcx>, scalar: ScalarInt, t: &T, ) -> Option<Self>
where - T: ToRustc<'tcx, T = Ty<'tcx>>,

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a 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 Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Symbol> for Constant

source§

fn from(s: Symbol) -> Self

Converts to this type from the input type.
source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

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 + T: ToRustc<'tcx, T = Ty<'tcx>>,

source

pub fn int_min(bit_width: u32) -> Constant

source

pub fn int_max(bit_width: u32) -> Constant

source

pub fn uint_max(bit_width: u32) -> Constant

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

Returns a 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 Constant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Constant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Constant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Symbol> for Constant

source§

fn from(s: Symbol) -> Self

Converts to this type from the input type.
source§

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i128> for Constant

source§

fn from(c: i128) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(c: i32) -> Self

Converts to this type from the input type.
source§

impl From<u128> for Constant

source§

fn from(c: u128) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Constant

source§

fn from(u: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Constant

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 for Constant

source§

fn eq(&self, other: &Constant) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Constant

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for Constant

source§

fn eq(&self, other: &Constant) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for Constant

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Constant

source§

impl Eq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/expr/enum.ExprKind.html b/doc/flux_middle/rty/expr/enum.ExprKind.html index 97e58d7ff1..95c01dd07b 100644 --- a/doc/flux_middle/rty/expr/enum.ExprKind.html +++ b/doc/flux_middle/rty/expr/enum.ExprKind.html @@ -43,9 +43,9 @@ decouple the places where we generate holes (where we don’t want to worry about the scope), and the places where we generate inference variable for them (where we do need to worry about the scope).

-
§

ForAll(Binder<Expr>)

Implementations§

Trait Implementations§

source§

impl Clone for ExprKind

source§

fn clone(&self) -> ExprKind

Returns a 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<__D: TyDecoder> Decodable<__D> for ExprKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExprKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExprKind

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 +
§

ForAll(Binder<Expr>)

Implementations§

Trait Implementations§

source§

impl Clone for ExprKind

source§

fn clone(&self) -> ExprKind

Returns a 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<__D: TyDecoder> Decodable<__D> for ExprKind

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExprKind

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExprKind

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 Internable for ExprKind

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for ExprKind

source§

fn eq(&self, other: &ExprKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Internable for ExprKind

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for ExprKind

source§

fn eq(&self, other: &ExprKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ExprKind

source§

impl StructuralPartialEq for ExprKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/expr/enum.Loc.html b/doc/flux_middle/rty/expr/enum.Loc.html index efc66f9beb..5ab85b6778 100644 --- a/doc/flux_middle/rty/expr/enum.Loc.html +++ b/doc/flux_middle/rty/expr/enum.Loc.html @@ -1,7 +1,7 @@ Loc in flux_middle::rty::expr - Rust

Enum flux_middle::rty::expr::Loc

source ·
pub enum Loc {
     Local(Local),
     Var(Var),
-}

Variants§

§

Local(Local)

§

Var(Var)

Implementations§

source§

impl Loc

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Loc

source§

fn clone(&self) -> Loc

Returns a 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 Loc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Loc

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Loc

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Local> for Loc

source§

fn from(local: Local) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl Hash for Loc

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 +}

Variants§

§

Local(Local)

§

Var(Var)

Implementations§

source§

impl Loc

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Loc

source§

fn clone(&self) -> Loc

Returns a 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 Loc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Loc

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Loc

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Local> for Loc

source§

fn from(local: Local) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl Hash for Loc

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 Loc

source§

fn cmp(&self, other: &Loc) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -10,7 +10,7 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for Loc

source§

fn partial_cmp(&self, other: &Loc) -> 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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Pretty for Loc

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Loc

source§

impl Eq for Loc

source§

impl StructuralPartialEq for Loc

Auto Trait Implementations§

§

impl Freeze for Loc

§

impl RefUnwindSafe for Loc

§

impl Send for Loc

§

impl Sync for Loc

§

impl Unpin for Loc

§

impl UnwindSafe for Loc

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Pretty for Loc

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Loc

source§

impl Eq for Loc

source§

impl StructuralPartialEq for Loc

Auto Trait Implementations§

§

impl Freeze for Loc

§

impl RefUnwindSafe for Loc

§

impl Send for Loc

§

impl Sync for Loc

§

impl Unpin for Loc

§

impl UnwindSafe for Loc

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/expr/enum.UnOp.html b/doc/flux_middle/rty/expr/enum.UnOp.html index ca0bf5b5ce..b15d5c1472 100644 --- a/doc/flux_middle/rty/expr/enum.UnOp.html +++ b/doc/flux_middle/rty/expr/enum.UnOp.html @@ -4,7 +4,7 @@ }

Variants§

§

Not

§

Neg

Trait Implementations§

source§

impl Clone for UnOp

source§

fn clone(&self) -> UnOp

Returns a 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<__D: SpanDecoder> Decodable<__D> for UnOp

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for UnOp

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for UnOp

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 for UnOp

source§

fn eq(&self, other: &UnOp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for UnOp

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl Freeze for UnOp

§

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 T
where +and should not be overridden without very good reason.

source§

impl Pretty for UnOp

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for UnOp

source§

impl Eq for UnOp

source§

impl StructuralPartialEq for UnOp

Auto Trait Implementations§

§

impl Freeze for UnOp

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/expr/enum.Var.html b/doc/flux_middle/rty/expr/enum.Var.html index a5cda74e5d..290caa706c 100644 --- a/doc/flux_middle/rty/expr/enum.Var.html +++ b/doc/flux_middle/rty/expr/enum.Var.html @@ -4,7 +4,7 @@ EarlyParam(EarlyReftParam), EVar(EVar), ConstGeneric(ParamConst), -}

Variants§

§

Free(Name)

§

Bound(DebruijnIndex, BoundReft)

§

EarlyParam(EarlyReftParam)

§

EVar(EVar)

§

ConstGeneric(ParamConst)

Implementations§

source§

impl Var

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Var

source§

fn clone(&self) -> Var

Returns a 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 Var

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Var

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Var

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl Hash for Var

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 +}

Variants§

§

Free(Name)

§

Bound(DebruijnIndex, BoundReft)

§

EarlyParam(EarlyReftParam)

§

EVar(EVar)

§

ConstGeneric(ParamConst)

Implementations§

source§

impl Var

source

pub fn to_expr(&self) -> Expr

Trait Implementations§

source§

impl Clone for Var

source§

fn clone(&self) -> Var

Returns a 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 Var

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Var

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Var

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl Hash for Var

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 Var

source§

fn cmp(&self, other: &Var) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -13,7 +13,7 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for Var

source§

fn partial_cmp(&self, other: &Var) -> 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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Pretty for Var

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Var

source§

impl Eq for Var

source§

impl StructuralPartialEq for Var

Auto Trait Implementations§

§

impl Freeze for Var

§

impl RefUnwindSafe for Var

§

impl Send for Var

§

impl Sync for Var

§

impl Unpin for Var

§

impl UnwindSafe for Var

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Pretty for Var

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Copy for Var

source§

impl Eq for Var

source§

impl StructuralPartialEq for Var

Auto Trait Implementations§

§

impl Freeze for Var

§

impl RefUnwindSafe for Var

§

impl Send for Var

§

impl Sync for Var

§

impl Unpin for Var

§

impl UnwindSafe for Var

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/expr/index.html b/doc/flux_middle/rty/expr/index.html index c2b713850f..bb74a609cb 100644 --- a/doc/flux_middle/rty/expr/index.html +++ b/doc/flux_middle/rty/expr/index.html @@ -1,4 +1,4 @@ -flux_middle::rty::expr - Rust

Module flux_middle::rty::expr

source ·

Modules§

Macros§

Structs§

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Precedence

source§

fn eq(&self, other: &Precedence) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl PartialOrd for Precedence

source§

fn partial_cmp(&self, other: &Precedence) -> 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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Eq for Precedence

source§

impl StructuralPartialEq for Precedence

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +the >= operator. Read more

source§

impl Eq for Precedence

source§

impl StructuralPartialEq for Precedence

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Comparable<K> for Q
where diff --git a/doc/flux_middle/rty/expr/pretty/index.html b/doc/flux_middle/rty/expr/pretty/index.html index 89a9d6c643..49816816f2 100644 --- a/doc/flux_middle/rty/expr/pretty/index.html +++ b/doc/flux_middle/rty/expr/pretty/index.html @@ -1 +1 @@ -flux_middle::rty::expr::pretty - Rust

Module flux_middle::rty::expr::pretty

source ·

Enums§

\ No newline at end of file +flux_middle::rty::expr::pretty - Rust

Module flux_middle::rty::expr::pretty

source ·

Enums§

\ No newline at end of file diff --git a/doc/flux_middle/rty/expr/struct.AliasReft.html b/doc/flux_middle/rty/expr/struct.AliasReft.html index 90e85cc3f3..96c811fd2c 100644 --- a/doc/flux_middle/rty/expr/struct.AliasReft.html +++ b/doc/flux_middle/rty/expr/struct.AliasReft.html @@ -1,11 +1,11 @@ -AliasReft in flux_middle::rty::expr - Rust

Struct flux_middle::rty::expr::AliasReft

source ·
pub struct AliasReft {
+AliasReft in flux_middle::rty::expr - Rust

Struct flux_middle::rty::expr::AliasReft

source ·
pub struct AliasReft {
     pub trait_id: DefId,
     pub name: Symbol,
     pub args: GenericArgs,
-}

Fields§

§trait_id: DefId§name: Symbol§args: GenericArgs

Implementations§

source§

impl AliasReft

source

pub fn to_rustc_trait_ref<'tcx>(&self, tcx: TyCtxt<'tcx>) -> TraitRef<'tcx>

Trait Implementations§

source§

impl Clone for AliasReft

source§

fn clone(&self) -> AliasReft

Returns a 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 AliasReft

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AliasReft

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AliasReft

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AliasReft

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 +}

Fields§

§trait_id: DefId§name: Symbol§args: GenericArgs

Implementations§

source§

impl AliasReft

source

pub fn to_rustc_trait_ref<'tcx>(&self, tcx: TyCtxt<'tcx>) -> TraitRef<'tcx>

source§

impl AliasReft

source

pub fn fsort(&self, genv: GlobalEnv<'_, '_>) -> QueryResult<Option<FuncSort>>

Trait Implementations§

source§

impl Clone for AliasReft

source§

fn clone(&self) -> AliasReft

Returns a 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 AliasReft

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AliasReft

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AliasReft

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AliasReft

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 for AliasReft

source§

fn eq(&self, other: &AliasReft) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for AliasReft

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for AliasReft

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for AliasReft

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for AliasReft

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/expr/struct.Expr.html b/doc/flux_middle/rty/expr/struct.Expr.html index 7485d5146b..33a97cb27c 100644 --- a/doc/flux_middle/rty/expr/struct.Expr.html +++ b/doc/flux_middle/rty/expr/struct.Expr.html @@ -1,32 +1,32 @@ Expr in flux_middle::rty::expr - Rust

Struct flux_middle::rty::expr::Expr

source ·
pub struct Expr {
     kind: Interned<ExprKind>,
     espan: Option<ESpan>,
-}

Fields§

§kind: Interned<ExprKind>§espan: Option<ESpan>

Implementations§

source§

impl Expr

source

pub fn at_opt(self, espan: Option<ESpan>) -> Expr

source

pub fn at(self, espan: ESpan) -> Expr

source

pub fn at_base(self, base: ESpan) -> Expr

source

pub fn span(&self) -> Option<ESpan>

source

pub fn tt() -> Expr

source

pub fn ff() -> Expr

source

pub fn and_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn or_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn and(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn or(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn zero() -> Expr

source

pub fn int_max(int_ty: IntTy) -> Expr

source

pub fn int_min(int_ty: IntTy) -> Expr

source

pub fn uint_max(uint_ty: UintTy) -> Expr

source

pub fn nu() -> Expr

source

pub fn is_nu(&self) -> bool

source

pub fn expect_adt(&self) -> (DefId, List<Expr>)

source

pub fn unit() -> Expr

source

pub fn var(var: Var) -> Expr

source

pub fn fvar(name: Name) -> Expr

source

pub fn evar(evar: EVar) -> Expr

source

pub fn bvar(debruijn: DebruijnIndex, var: BoundVar, kind: BoundReftKind) -> Expr

source

pub fn early_param(index: u32, name: Symbol) -> Expr

source

pub fn local(local: Local) -> Expr

source

pub fn constant(c: Constant) -> Expr

source

pub fn const_def_id(c: DefId) -> Expr

source

pub fn const_generic(param: ParamConst) -> Expr

source

pub fn aggregate(kind: AggregateKind, flds: List<Expr>) -> Expr

source

pub fn tuple(flds: List<Expr>) -> Expr

source

pub fn adt(def_id: DefId, flds: List<Expr>) -> Expr

source

pub fn from_bits(bty: &BaseTy, bits: u128) -> Expr

source

pub fn ite(p: impl Into<Expr>, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn abs(lam: Lambda) -> Expr

source

pub fn hole(kind: HoleKind) -> Expr

source

pub fn kvar(kvar: KVar) -> Expr

source

pub fn alias(alias: AliasReft, args: List<Expr>) -> Expr

source

pub fn forall(expr: Binder<Expr>) -> Expr

source

pub fn binary_op(op: BinOp, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unit_adt(def_id: DefId) -> Expr

source

pub fn app(func: impl Into<Expr>, args: List<Expr>) -> Expr

source

pub fn global_func(func: Symbol, kind: SpecFuncKind) -> Expr

source

pub fn eq(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unary_op(op: UnOp, e: impl Into<Expr>) -> Expr

source

pub fn ne(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn ge(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn gt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn lt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn le(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn implies(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn field_proj(e: impl Into<Expr>, proj: FieldProj) -> Expr

source

pub fn field_projs(e: impl Into<Expr>, projs: &[FieldProj]) -> Expr

source

pub fn path_proj(base: Expr, field: FieldIdx) -> Expr

source

pub fn not(&self) -> Expr

source

pub fn neg(&self) -> Expr

source

pub fn kind(&self) -> &ExprKind

source

pub fn is_atom(&self) -> bool

An expression is an atom if it is “self-delimiting”, i.e., it has a clear boundary +}

Fields§

§kind: Interned<ExprKind>§espan: Option<ESpan>

Implementations§

source§

impl Expr

source

pub fn at_opt(self, espan: Option<ESpan>) -> Expr

source

pub fn at(self, espan: ESpan) -> Expr

source

pub fn at_base(self, base: ESpan) -> Expr

source

pub fn span(&self) -> Option<ESpan>

source

pub fn tt() -> Expr

source

pub fn ff() -> Expr

source

pub fn and_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn or_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn and(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn or(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn zero() -> Expr

source

pub fn int_max(int_ty: IntTy) -> Expr

source

pub fn int_min(int_ty: IntTy) -> Expr

source

pub fn uint_max(uint_ty: UintTy) -> Expr

source

pub fn nu() -> Expr

source

pub fn is_nu(&self) -> bool

source

pub fn expect_adt(&self) -> (DefId, List<Expr>)

source

pub fn unit() -> Expr

source

pub fn var(var: Var) -> Expr

source

pub fn fvar(name: Name) -> Expr

source

pub fn evar(evar: EVar) -> Expr

source

pub fn bvar(debruijn: DebruijnIndex, var: BoundVar, kind: BoundReftKind) -> Expr

source

pub fn early_param(index: u32, name: Symbol) -> Expr

source

pub fn local(local: Local) -> Expr

source

pub fn constant(c: Constant) -> Expr

source

pub fn const_def_id(c: DefId) -> Expr

source

pub fn const_generic(param: ParamConst) -> Expr

source

pub fn aggregate(kind: AggregateKind, flds: List<Expr>) -> Expr

source

pub fn tuple(flds: List<Expr>) -> Expr

source

pub fn adt(def_id: DefId, flds: List<Expr>) -> Expr

source

pub fn from_bits(bty: &BaseTy, bits: u128) -> Expr

source

pub fn ite(p: impl Into<Expr>, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn abs(lam: Lambda) -> Expr

source

pub fn hole(kind: HoleKind) -> Expr

source

pub fn kvar(kvar: KVar) -> Expr

source

pub fn alias(alias: AliasReft, args: List<Expr>) -> Expr

source

pub fn forall(expr: Binder<Expr>) -> Expr

source

pub fn binary_op(op: BinOp, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unit_adt(def_id: DefId) -> Expr

source

pub fn app(func: impl Into<Expr>, args: List<Expr>) -> Expr

source

pub fn global_func(func: Symbol, kind: SpecFuncKind) -> Expr

source

pub fn eq(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unary_op(op: UnOp, e: impl Into<Expr>) -> Expr

source

pub fn ne(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn ge(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn gt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn lt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn le(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn implies(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn field_proj(e: impl Into<Expr>, proj: FieldProj) -> Expr

source

pub fn field_projs(e: impl Into<Expr>, projs: &[FieldProj]) -> Expr

source

pub fn path_proj(base: Expr, field: FieldIdx) -> Expr

source

pub fn not(&self) -> Expr

source

pub fn neg(&self) -> Expr

source

pub fn kind(&self) -> &ExprKind

source

pub fn is_atom(&self) -> bool

An expression is an atom if it is “self-delimiting”, i.e., it has a clear boundary when printed. This is used to avoid unnecessary parenthesis when pretty printing.

-
source

pub fn is_trivially_true(&self) -> bool

Simple syntactic check to see if the expression is a trivially true predicate. This is used +

source

pub fn is_trivially_true(&self) -> bool

Simple syntactic check to see if the expression is a trivially true predicate. This is used mostly for filtering predicates when pretty printing but also to simplify types in general.

-
source

fn is_true(&self) -> bool

Whether the expression is literally the constant true.

-
source

pub fn from_const(tcx: TyCtxt<'_>, c: &Const) -> Expr

source

pub fn is_binary_op(&self) -> bool

source

fn const_op(op: &BinOp, c1: &Constant, c2: &Constant) -> Option<Constant>

source

pub fn simplify(&self) -> Expr

Simplify the expression by removing double negations, short-circuiting boolean connectives and +

source

fn is_true(&self) -> bool

Whether the expression is literally the constant true.

+
source

pub fn from_const(tcx: TyCtxt<'_>, c: &Const) -> Expr

source

pub fn is_binary_op(&self) -> bool

source

fn const_op(op: &BinOp, c1: &Constant, c2: &Constant) -> Option<Constant>

source

pub fn simplify(&self) -> Expr

Simplify the expression by removing double negations, short-circuiting boolean connectives and doing constant folding. Note that we also have TypeFoldable::normalize which applies beta reductions for tuples and abstractions.

-
source

pub fn to_loc(&self) -> Option<Loc>

source

pub fn to_path(&self) -> Option<Path>

source

pub fn is_abs(&self) -> bool

source

pub fn is_unit(&self) -> bool

Whether this is an aggregate expression with no fields.

-
source

pub fn eta_expand_abs( +

source

pub fn to_loc(&self) -> Option<Loc>

source

pub fn to_path(&self) -> Option<Path>

source

pub fn is_abs(&self) -> bool

source

pub fn is_unit(&self) -> bool

Whether this is an aggregate expression with no fields.

+
source

pub fn eta_expand_abs( &self, inputs: &BoundVariableKinds, output: Sort, -) -> Lambda

source

pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

source

pub fn proj_and_reduce(&self, proj: FieldProj) -> Expr

Applies a projection to an expression and optimistically try to beta reduce it if possible.

-
source

pub fn flatten_conjs(&self) -> Vec<&Expr>

Trait Implementations§

source§

impl<Rhs> Add<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl<Rhs> Add<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl Clone for Expr

source§

fn clone(&self) -> Expr

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Expr

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<Rhs> Div<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<Rhs> Div<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<__E: TyEncoder> Encodable<__E> for Expr

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<&Expr> for Expr

source§

fn from(e: &Expr) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Expr

source§

fn from(value: i32) -> Self

Converts to this type from the input type.
source§

impl Hash for Expr

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 +) -> Lambda

source

pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

source

pub fn proj_and_reduce(&self, proj: FieldProj) -> Expr

Applies a projection to an expression and optimistically try to beta reduce it if possible.

+
source

pub fn flatten_conjs(&self) -> Vec<&Expr>

Trait Implementations§

source§

impl<Rhs> Add<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl<Rhs> Add<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl Clone for Expr

source§

fn clone(&self) -> Expr

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Expr

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<Rhs> Div<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<Rhs> Div<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<__E: TyEncoder> Encodable<__E> for Expr

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<&Expr> for Expr

source§

fn from(e: &Expr) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Expr

source§

fn from(value: i32) -> Self

Converts to this type from the input type.
source§

impl Hash for Expr

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<Rhs> Mul<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl<Rhs> Mul<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl PartialEq for Expr

source§

fn eq(&self, other: &Expr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Expr

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Expr

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<Rhs> Sub<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl<Rhs> Sub<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl TypeFoldable for Expr

Feeds a slice of this type into the given Hasher. Read more
source§

impl<Rhs> Mul<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl<Rhs> Mul<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl PartialEq for Expr

source§

fn eq(&self, other: &Expr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for Expr

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Expr

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<Rhs> Sub<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl<Rhs> Sub<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl TypeFoldable for Expr

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -42,13 +42,13 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Expr

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Expr

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Expr

source§

fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Expr

source§

impl TypeVisitable for Expr

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +) -> ControlFlow<V::BreakTy>
source§

impl TypeVisitable for Expr

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Expr

source§

impl StructuralPartialEq for Expr

Auto Trait Implementations§

§

impl Freeze for Expr

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/expr/struct.KVar.html b/doc/flux_middle/rty/expr/struct.KVar.html index b4149630b5..9924bcf1da 100644 --- a/doc/flux_middle/rty/expr/struct.KVar.html +++ b/doc/flux_middle/rty/expr/struct.KVar.html @@ -9,10 +9,10 @@

Fields§

§kvid: KVid§self_args: usize

The number of arguments consider to be self arguments.

§args: List<Expr>

The list of all arguments with the self arguments at the beginning, i.e., the list of self arguments followed by the scope.

-

Implementations§

source§

impl KVar

source

pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

source

fn self_args(&self) -> &[Expr]

source

fn scope(&self) -> &[Expr]

Trait Implementations§

source§

impl Clone for KVar

source§

fn clone(&self) -> KVar

Returns a 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 KVar

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for KVar

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for KVar

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for KVar

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 +

Implementations§

source§

impl KVar

source

pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

source

fn self_args(&self) -> &[Expr]

source

fn scope(&self) -> &[Expr]

Trait Implementations§

source§

impl Clone for KVar

source§

fn clone(&self) -> KVar

Returns a 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 KVar

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for KVar

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for KVar

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for KVar

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 for KVar

source§

fn eq(&self, other: &KVar) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for KVar

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for KVar

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for KVar

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for KVar

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for KVar

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for KVar

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/expr/struct.KVid.html b/doc/flux_middle/rty/expr/struct.KVid.html index d2f633d75f..262c0e4d30 100644 --- a/doc/flux_middle/rty/expr/struct.KVid.html +++ b/doc/flux_middle/rty/expr/struct.KVid.html @@ -23,10 +23,10 @@

§Safety

Trait Implementations§

source§

impl Add<usize> for KVid

§

type Output = KVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for KVid

source§

fn clone(&self) -> KVid

Returns a 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 KVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for KVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for KVid

source§

fn encode(&self, e: &mut E)

source§

impl From<KVid> for u32

source§

fn from(v: KVid) -> u32

Converts to this type from the input type.
source§

impl From<KVid> for usize

source§

fn from(v: KVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for KVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for KVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for KVid

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 Idx for KVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for KVid

source§

fn eq(&self, other: &KVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl TypeFoldable for KVid

source§

fn try_fold_with<F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl TypeFoldable for KVid

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -39,7 +39,7 @@

§Safety
to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.
source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for KVid

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for KVid

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for KVid

source§

impl Eq for KVid

source§

impl StructuralPartialEq for KVid

Auto Trait Implementations§

§

impl Freeze for KVid

§

impl RefUnwindSafe for KVid

§

impl Send for KVid

§

impl Sync for KVid

§

impl Unpin for KVid

§

impl UnwindSafe for KVid

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/expr/struct.Lambda.html b/doc/flux_middle/rty/expr/struct.Lambda.html index 5ee8589407..9ac2d1877d 100644 --- a/doc/flux_middle/rty/expr/struct.Lambda.html +++ b/doc/flux_middle/rty/expr/struct.Lambda.html @@ -7,10 +7,10 @@ body: Expr, inputs: BoundVariableKinds, output: Sort, -) -> Self

source

pub fn bind_with_fsort(body: Expr, fsort: FuncSort) -> Self

source

pub fn apply(&self, args: &[Expr]) -> Expr

source

pub fn vars(&self) -> &BoundVariableKinds

source

pub fn output(&self) -> Sort

source

pub fn fsort(&self) -> FuncSort

Trait Implementations§

source§

impl Clone for Lambda

source§

fn clone(&self) -> Lambda

Returns a 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 Lambda

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Lambda

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Lambda

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Lambda

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 +) -> Self

source

pub fn bind_with_fsort(body: Expr, fsort: FuncSort) -> Self

source

pub fn apply(&self, args: &[Expr]) -> Expr

source

pub fn vars(&self) -> &BoundVariableKinds

source

pub fn output(&self) -> Sort

source

pub fn fsort(&self) -> FuncSort

Trait Implementations§

source§

impl Clone for Lambda

source§

fn clone(&self) -> Lambda

Returns a 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 Lambda

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Lambda

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Lambda

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Lambda

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 for Lambda

source§

fn eq(&self, other: &Lambda) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Lambda

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for Lambda

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for Lambda

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for Lambda

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/expr/struct.Name.html b/doc/flux_middle/rty/expr/struct.Name.html index da202063c0..dff6238e2b 100644 --- a/doc/flux_middle/rty/expr/struct.Name.html +++ b/doc/flux_middle/rty/expr/struct.Name.html @@ -20,7 +20,7 @@

§Safety
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for Name

§

type Output = Name

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for Name

source§

fn clone(&self) -> Name

Returns a 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 Name

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for Name

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for Name

source§

fn encode(&self, e: &mut E)

source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for u32

source§

fn from(v: Name) -> u32

Converts to this type from the input type.
source§

impl From<Name> for usize

source§

fn from(v: Name) -> usize

Converts to this type from the input type.
source§

impl From<u32> for Name

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Name

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Name

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 +

Trait Implementations§

source§

impl Add<usize> for Name

§

type Output = Name

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for Name

source§

fn clone(&self) -> Name

Returns a 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 Name

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for Name

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for Name

source§

fn encode(&self, e: &mut E)

source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for u32

source§

fn from(v: Name) -> u32

Converts to this type from the input type.
source§

impl From<Name> for usize

source§

fn from(v: Name) -> usize

Converts to this type from the input type.
source§

impl From<u32> for Name

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Name

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Name

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 Idx for Name

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl Ord for Name

source§

fn cmp(&self, other: &Name) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where diff --git a/doc/flux_middle/rty/expr/struct.Path.html b/doc/flux_middle/rty/expr/struct.Path.html index a9a4ec0f8c..6243399628 100644 --- a/doc/flux_middle/rty/expr/struct.Path.html +++ b/doc/flux_middle/rty/expr/struct.Path.html @@ -1,7 +1,7 @@ Path in flux_middle::rty::expr - Rust

Struct flux_middle::rty::expr::Path

source ·
pub struct Path {
     pub loc: Loc,
     projection: List<FieldIdx>,
-}

Fields§

§loc: Loc§projection: List<FieldIdx>

Implementations§

source§

impl Path

source

pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

source

pub fn projection(&self) -> &[FieldIdx]

source

pub fn to_expr(&self) -> Expr

source

pub fn to_loc(&self) -> Option<Loc>

Trait Implementations§

source§

impl Clone for Path

source§

fn clone(&self) -> Path

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Path

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Path

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl Hash for Path

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 +}

Fields§

§loc: Loc§projection: List<FieldIdx>

Implementations§

source§

impl Path

source

pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

source

pub fn projection(&self) -> &[FieldIdx]

source

pub fn to_expr(&self) -> Expr

source

pub fn to_loc(&self) -> Option<Loc>

Trait Implementations§

source§

impl Clone for Path

source§

fn clone(&self) -> Path

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Path

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Path

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl Hash for Path

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 Path

source§

fn cmp(&self, other: &Path) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -10,7 +10,7 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for Path

source§

fn partial_cmp(&self, other: &Path) -> 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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Pretty for Path

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Eq for Path

source§

impl StructuralPartialEq for Path

Auto Trait Implementations§

§

impl Freeze for Path

§

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 T
where +the >= operator. Read more

source§

impl Pretty for Path

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Eq for Path

source§

impl StructuralPartialEq for Path

Auto Trait Implementations§

§

impl Freeze for Path

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/expr/struct.Real.html b/doc/flux_middle/rty/expr/struct.Real.html index cd270cc36a..642a91aa40 100644 --- a/doc/flux_middle/rty/expr/struct.Real.html +++ b/doc/flux_middle/rty/expr/struct.Real.html @@ -1,7 +1,7 @@ -Real in flux_middle::rty::expr - Rust

Struct flux_middle::rty::expr::Real

source ·
pub struct Real(pub i128);

Tuple Fields§

§0: i128

Trait Implementations§

source§

impl Clone for Real

source§

fn clone(&self) -> Real

Returns a 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 Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Real

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Real

source§

fn encode(&self, __encoder: &mut __E)

source§

impl FixpointFmt for Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

source§

fn display(&self) -> DisplayAdapter<&Self>

Returns a type that implements Display using the FixpointFmt::fmt implementation.
source§

impl Hash for Real

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 +Real in flux_middle::rty::expr - Rust

Struct flux_middle::rty::expr::Real

source ·
pub struct Real(pub i128);

Tuple Fields§

§0: i128

Trait Implementations§

source§

impl Clone for Real

source§

fn clone(&self) -> Real

Returns a 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 Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Real

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Real

source§

fn encode(&self, __encoder: &mut __E)

source§

impl FixpointFmt for Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

source§

fn display(&self) -> DisplayAdapter<&Self>

Returns a type that implements Display using the FixpointFmt::fmt implementation.
source§

impl Hash for Real

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 for Real

source§

fn eq(&self, other: &Real) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Copy for Real

source§

impl Eq for Real

source§

impl StructuralPartialEq for Real

Auto Trait Implementations§

§

impl Freeze for Real

§

impl RefUnwindSafe for Real

§

impl Send for Real

§

impl Sync for Real

§

impl Unpin for Real

§

impl UnwindSafe for Real

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for Real

source§

fn eq(&self, other: &Real) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Copy for Real

source§

impl Eq for Real

source§

impl StructuralPartialEq for Real

Auto Trait Implementations§

§

impl Freeze for Real

§

impl RefUnwindSafe for Real

§

impl Send for Real

§

impl Sync for Real

§

impl Unpin for Real

§

impl UnwindSafe for Real

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/fn.int_invariants.html b/doc/flux_middle/rty/fn.int_invariants.html index e7afa0c107..2a0f040487 100644 --- a/doc/flux_middle/rty/fn.int_invariants.html +++ b/doc/flux_middle/rty/fn.int_invariants.html @@ -1,4 +1,4 @@ -int_invariants in flux_middle::rty - Rust

Function flux_middle::rty::int_invariants

source ·
fn int_invariants(
+int_invariants in flux_middle::rty - Rust

Function flux_middle::rty::int_invariants

source ·
fn int_invariants(
     int_ty: IntTy,
     overflow_checking: bool,
 ) -> &'static [Invariant]
\ No newline at end of file diff --git a/doc/flux_middle/rty/fn.slice_invariants.html b/doc/flux_middle/rty/fn.slice_invariants.html index 9b166af008..cf41375730 100644 --- a/doc/flux_middle/rty/fn.slice_invariants.html +++ b/doc/flux_middle/rty/fn.slice_invariants.html @@ -1,2 +1,2 @@ -slice_invariants in flux_middle::rty - Rust

Function flux_middle::rty::slice_invariants

source ·
fn slice_invariants(overflow_checking: bool) -> &'static [Invariant]
Expand description

returns the same invariants as for usize which is the length of a slice

+slice_invariants in flux_middle::rty - Rust

Function flux_middle::rty::slice_invariants

source ·
fn slice_invariants(overflow_checking: bool) -> &'static [Invariant]
Expand description

returns the same invariants as for usize which is the length of a slice

\ No newline at end of file diff --git a/doc/flux_middle/rty/fn.uint_invariants.html b/doc/flux_middle/rty/fn.uint_invariants.html index 3af03e2eff..6a699b1eb4 100644 --- a/doc/flux_middle/rty/fn.uint_invariants.html +++ b/doc/flux_middle/rty/fn.uint_invariants.html @@ -1,4 +1,4 @@ -uint_invariants in flux_middle::rty - Rust

Function flux_middle::rty::uint_invariants

source ·
fn uint_invariants(
+uint_invariants in flux_middle::rty - Rust

Function flux_middle::rty::uint_invariants

source ·
fn uint_invariants(
     uint_ty: UintTy,
     overflow_checking: bool,
 ) -> &'static [Invariant]
\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/index.html b/doc/flux_middle/rty/fold/index.html index 80e006dd8a..71ba85ca19 100644 --- a/doc/flux_middle/rty/fold/index.html +++ b/doc/flux_middle/rty/fold/index.html @@ -1,4 +1,4 @@ -flux_middle::rty::fold - Rust

Module flux_middle::rty::fold

source ·
Expand description

This modules follows the implementation of folding in rustc. For more information read the +flux_middle::rty::fold - Rust

Module flux_middle::rty::fold

source ·
Expand description

This modules follows the implementation of folding in rustc. For more information read the documentation in rustc_middle::ty::fold.

Macros§

  • Used for types that are Copy and which do not care arena allocated data (i.e., don’t need to be folded).

Structs§

Traits§

\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/macro.TrivialTypeTraversalImpls.html b/doc/flux_middle/rty/fold/macro.TrivialTypeTraversalImpls.html index 7dc07fb28f..b3827b0b5a 100644 --- a/doc/flux_middle/rty/fold/macro.TrivialTypeTraversalImpls.html +++ b/doc/flux_middle/rty/fold/macro.TrivialTypeTraversalImpls.html @@ -1,4 +1,4 @@ -TrivialTypeTraversalImpls in flux_middle::rty::fold - Rust

Macro flux_middle::rty::fold::TrivialTypeTraversalImpls

source ·
macro_rules! TrivialTypeTraversalImpls {
+TrivialTypeTraversalImpls in flux_middle::rty::fold - Rust

Macro flux_middle::rty::fold::TrivialTypeTraversalImpls

source ·
macro_rules! TrivialTypeTraversalImpls {
     ($($ty:ty,)+) => { ... };
 }
Expand description

Used for types that are Copy and which do not care arena allocated data (i.e., don’t need to be folded).

diff --git a/doc/flux_middle/rty/fold/struct.BottomUpFolder.html b/doc/flux_middle/rty/fold/struct.BottomUpFolder.html index 0860f297cd..3342be3d28 100644 --- a/doc/flux_middle/rty/fold/struct.BottomUpFolder.html +++ b/doc/flux_middle/rty/fold/struct.BottomUpFolder.html @@ -1,14 +1,14 @@ -BottomUpFolder in flux_middle::rty::fold - Rust

Struct flux_middle::rty::fold::BottomUpFolder

source ·
pub struct BottomUpFolder<F, G, H>
where +BottomUpFolder in flux_middle::rty::fold - Rust

Struct flux_middle::rty::fold::BottomUpFolder

source ·
pub struct BottomUpFolder<F, G, H>
where F: FnMut(Ty) -> Ty, G: FnMut(Region) -> Region, H: FnMut(Const) -> Const,
{ pub ty_op: F, pub lt_op: G, pub ct_op: H, -}

Fields§

§ty_op: F§lt_op: G§ct_op: H

Trait Implementations§

source§

impl<F, G, H> TypeFolder for BottomUpFolder<F, G, H>
where +}

Fields§

§ty_op: F§lt_op: G§ct_op: H

Trait Implementations§

source§

impl<F, G, H> TypeFolder for BottomUpFolder<F, G, H>
where F: FnMut(Ty) -> Ty, G: FnMut(Region) -> Region, - H: FnMut(Const) -> Const,

source§

fn fold_ty(&mut self, ty: &Ty) -> Ty

source§

fn fold_region(&mut self, r: &Region) -> Region

source§

fn fold_const(&mut self, ct: &Const) -> Const

source§

fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

source§

fn fold_sort(&mut self, sort: &Sort) -> Sort

source§

fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

source§

fn fold_subset_ty(&mut self, constr: &SubsetTy) -> SubsetTy

source§

fn fold_expr(&mut self, expr: &Expr) -> Expr

Auto Trait Implementations§

§

impl<F, G, H> Freeze for BottomUpFolder<F, G, H>
where + H: FnMut(Const) -> Const,

source§

fn fold_ty(&mut self, ty: &Ty) -> Ty

source§

fn fold_region(&mut self, r: &Region) -> Region

source§

fn fold_const(&mut self, ct: &Const) -> Const

source§

fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

source§

fn fold_sort(&mut self, sort: &Sort) -> Sort

source§

fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

source§

fn fold_subset_ty(&mut self, constr: &SubsetTy) -> SubsetTy

source§

fn fold_expr(&mut self, expr: &Expr) -> Expr

Auto Trait Implementations§

§

impl<F, G, H> Freeze for BottomUpFolder<F, G, H>
where F: Freeze, G: Freeze, H: Freeze,

§

impl<F, G, H> RefUnwindSafe for BottomUpFolder<F, G, H>
where diff --git a/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html b/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html index 3f07bf1e72..19064c1a34 100644 --- a/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html +++ b/doc/flux_middle/rty/fold/trait.FallibleTypeFolder.html @@ -22,5 +22,5 @@ ) -> Result<Binder<T>, Self::Error>

source

fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

source

fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

source

fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

source

fn try_fold_subset_ty( &mut self, constr: &SubsetTy, -) -> Result<SubsetTy, Self::Error>

source

fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error>

source

fn try_fold_const(&mut self, c: &Const) -> Result<Const, Self::Error>

source

fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

Object Safety§

This trait is not object safe.

Implementors§

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeFoldable.html b/doc/flux_middle/rty/fold/trait.TypeFoldable.html index d76680c9ac..c6deb042cb 100644 --- a/doc/flux_middle/rty/fold/trait.TypeFoldable.html +++ b/doc/flux_middle/rty/fold/trait.TypeFoldable.html @@ -42,23 +42,23 @@

source

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes {n. Vec<{v. i32[v] | *}>[n] | *}.

-
source

fn replace_evars(&self, evars: &EVarSol) -> Self

source

fn shift_in_escaping(&self, amount: u32) -> Self

source

fn shift_out_escaping(&self, amount: u32) -> Self

source

fn erase_regions(&self) -> Self

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl TypeFoldable for Abi

source

fn replace_evars(&self, evars: &EVarSol) -> Self

source

fn shift_in_escaping(&self, amount: u32) -> Self

source

fn shift_out_escaping(&self, amount: u32) -> Self

source

fn erase_regions(&self) -> Self

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl TypeFoldable for Abi

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

impl TypeFoldable for bool

source§

impl TypeFoldable for bool

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

impl TypeFoldable for usize

source§

impl TypeFoldable for usize

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

impl TypeFoldable for DefId

source§

impl TypeFoldable for DefId

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

impl TypeFoldable for Safety

source§

impl TypeFoldable for Safety

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

Implementors§

source§

impl TypeFoldable for InferMode

source§

impl TypeFoldable for BoundReftKind

source§

impl TypeFoldable for BoundVariableKind

source§

impl TypeFoldable for BaseTy

source§

impl TypeFoldable for BoundRegionKind

source§

impl TypeFoldable for BvSize

source§

impl TypeFoldable for ClauseKind

source§

impl TypeFoldable for ClosureKind

source§

impl TypeFoldable for Ensures

source§

impl TypeFoldable for ExistentialPredicate

source§

impl TypeFoldable for GenericArg

source§

impl TypeFoldable for Region

source§

impl TypeFoldable for Sort

source§

impl TypeFoldable for SortArg

source§

impl TypeFoldable for BinOp

source§

impl TypeFoldable for HoleKind

source§

impl TypeFoldable for Symbol

source§

impl TypeFoldable for AliasReft

source§

impl TypeFoldable for Expr

source§

impl TypeFoldable for KVar

source§

impl TypeFoldable for KVid

source§

impl TypeFoldable for Lambda

source§

impl TypeFoldable for AliasTy

source§

impl TypeFoldable for Clause

source§

impl TypeFoldable for Const

source§

impl TypeFoldable for CoroutineObligPredicate

source§

impl TypeFoldable for ExistentialProjection

source§

impl TypeFoldable for ExistentialTraitRef

source§

impl TypeFoldable for FnOutput

source§

impl TypeFoldable for FnSig

source§

impl TypeFoldable for FnTraitPredicate

source§

impl TypeFoldable for FuncSort

source§

impl TypeFoldable for Invariant

source§

impl TypeFoldable for PolyFuncSort

source§

impl TypeFoldable for ProjectionPredicate

source§

impl TypeFoldable for Qualifier

source§

impl TypeFoldable for SubsetTy

source§

impl TypeFoldable for TraitPredicate

source§

impl TypeFoldable for TraitRef

source§

impl TypeFoldable for Ty

source§

impl TypeFoldable for VariantSig

source§

impl<T> TypeFoldable for Opaqueness<T>
where - T: TypeFoldable,

source§

impl<T> TypeFoldable for Binder<T>
where - T: TypeFoldable,

source§

impl<T> TypeFoldable for List<T>
where +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

Implementors§

source§

impl TypeFoldable for InferMode

source§

impl TypeFoldable for BoundReftKind

source§

impl TypeFoldable for BoundVariableKind

source§

impl TypeFoldable for BaseTy

source§

impl TypeFoldable for BoundRegionKind

source§

impl TypeFoldable for BvSize

source§

impl TypeFoldable for ClauseKind

source§

impl TypeFoldable for ClosureKind

source§

impl TypeFoldable for Ensures

source§

impl TypeFoldable for ExistentialPredicate

source§

impl TypeFoldable for GenericArg

source§

impl TypeFoldable for Region

source§

impl TypeFoldable for Sort

source§

impl TypeFoldable for SortArg

source§

impl TypeFoldable for BinOp

source§

impl TypeFoldable for HoleKind

source§

impl TypeFoldable for Symbol

source§

impl TypeFoldable for AliasReft

source§

impl TypeFoldable for Expr

source§

impl TypeFoldable for KVar

source§

impl TypeFoldable for KVid

source§

impl TypeFoldable for Lambda

source§

impl TypeFoldable for AliasTy

source§

impl TypeFoldable for Clause

source§

impl TypeFoldable for Const

source§

impl TypeFoldable for CoroutineObligPredicate

source§

impl TypeFoldable for ExistentialProjection

source§

impl TypeFoldable for ExistentialTraitRef

source§

impl TypeFoldable for FnOutput

source§

impl TypeFoldable for FnSig

source§

impl TypeFoldable for FnTraitPredicate

source§

impl TypeFoldable for FuncSort

source§

impl TypeFoldable for Invariant

source§

impl TypeFoldable for PolyFuncSort

source§

impl TypeFoldable for ProjectionPredicate

source§

impl TypeFoldable for Qualifier

source§

impl TypeFoldable for SubsetTy

source§

impl TypeFoldable for TraitPredicate

source§

impl TypeFoldable for TraitRef

source§

impl TypeFoldable for Ty

source§

impl TypeFoldable for VariantSig

source§

impl<T> TypeFoldable for Opaqueness<T>
where + T: TypeFoldable,

source§

impl<T> TypeFoldable for Binder<T>
where + T: TypeFoldable,

source§

impl<T> TypeFoldable for List<T>

source§

impl<T: TypeFoldable> TypeFoldable for OutlivesPredicate<T>

\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeFolder.html b/doc/flux_middle/rty/fold/trait.TypeFolder.html index 336eb61195..8090695c59 100644 --- a/doc/flux_middle/rty/fold/trait.TypeFolder.html +++ b/doc/flux_middle/rty/fold/trait.TypeFolder.html @@ -9,7 +9,7 @@ fn fold_const(&mut self, c: &Const) -> Const { ... } fn fold_expr(&mut self, expr: &Expr) -> Expr { ... } }

Provided Methods§

source

fn fold_binder<T: TypeFoldable>(&mut self, t: &Binder<T>) -> Binder<T>

source

fn fold_sort(&mut self, sort: &Sort) -> Sort

source

fn fold_ty(&mut self, ty: &Ty) -> Ty

source

fn fold_bty(&mut self, bty: &BaseTy) -> BaseTy

source

fn fold_subset_ty(&mut self, constr: &SubsetTy) -> SubsetTy

source

fn fold_region(&mut self, re: &Region) -> Region

source

fn fold_const(&mut self, c: &Const) -> Const

source

fn fold_expr(&mut self, expr: &Expr) -> Expr

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html b/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html index 50339e2f22..1c31917bdd 100644 --- a/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html +++ b/doc/flux_middle/rty/fold/trait.TypeSuperFoldable.html @@ -10,5 +10,5 @@ }

Required Methods§

source

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

Provided Methods§

source

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

Object Safety§

This trait is not object safe.

Implementors§

Provided Methods§

source

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html b/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html index 749783dbc3..1bd301fec4 100644 --- a/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html +++ b/doc/flux_middle/rty/fold/trait.TypeSuperVisitable.html @@ -7,5 +7,5 @@ }

Required Methods§

source

fn super_visit_with<V: TypeVisitor>( &self, visitor: &mut V, -) -> ControlFlow<V::BreakTy>

Object Safety§

This trait is not object safe.

Implementors§

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/flux_middle/rty/fold/trait.TypeVisitable.html b/doc/flux_middle/rty/fold/trait.TypeVisitable.html index 2c7371d33b..e6f49a24e8 100644 --- a/doc/flux_middle/rty/fold/trait.TypeVisitable.html +++ b/doc/flux_middle/rty/fold/trait.TypeVisitable.html @@ -10,8 +10,8 @@ fn fvars(&self) -> FxHashSet<Name> { ... } }

Required Methods§

source

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

Provided Methods§

source

fn has_escaping_bvars(&self) -> bool

source

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl TypeVisitable for Abi

source§

impl TypeVisitable for bool

source§

impl TypeVisitable for usize

source§

impl TypeVisitable for DefId

source§

impl TypeVisitable for Safety

source§

impl<T: TypeVisitable> TypeVisitable for Vec<T>

Implementors§

source§

impl TypeVisitable for InferMode

source§

impl TypeVisitable for BoundReftKind

source§

impl TypeVisitable for BoundVariableKind

source§

impl TypeVisitable for BaseTy

source§

impl TypeVisitable for BoundRegionKind

source§

impl TypeVisitable for BvSize

source§

impl TypeVisitable for ClauseKind

source§

impl TypeVisitable for ClosureKind

source§

impl TypeVisitable for Ensures

source§

impl TypeVisitable for ExistentialPredicate

source§

impl TypeVisitable for GenericArg

source§

impl TypeVisitable for Region

source§

impl TypeVisitable for Sort

source§

impl TypeVisitable for SortArg

source§

impl TypeVisitable for BinOp

source§

impl TypeVisitable for HoleKind

source§

impl TypeVisitable for Symbol

source§

impl TypeVisitable for AliasReft

source§

impl TypeVisitable for Expr

source§

impl TypeVisitable for KVar

source§

impl TypeVisitable for KVid

source§

impl TypeVisitable for Lambda

source§

impl TypeVisitable for AliasTy

source§

impl TypeVisitable for Clause

source§

impl TypeVisitable for Const

source§

impl TypeVisitable for CoroutineObligPredicate

source§

impl TypeVisitable for ExistentialProjection

source§

impl TypeVisitable for ExistentialTraitRef

source§

impl TypeVisitable for FnOutput

source§

impl TypeVisitable for FnSig

source§

impl TypeVisitable for FnTraitPredicate

source§

impl TypeVisitable for FuncSort

source§

impl TypeVisitable for Invariant

source§

impl TypeVisitable for PolyFuncSort

source§

impl TypeVisitable for ProjectionPredicate

source§

impl TypeVisitable for Qualifier

source§

impl TypeVisitable for SubsetTy

source§

impl TypeVisitable for TraitPredicate

source§

impl TypeVisitable for TraitRef

source§

impl TypeVisitable for Ty

source§

impl TypeVisitable for VariantSig

source§

impl<T> TypeVisitable for Opaqueness<T>
where - T: TypeVisitable,

source§

impl<T> TypeVisitable for Binder<T>
where - T: TypeVisitable,

source§

impl<T> TypeVisitable for List<T>
where +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl TypeVisitable for Abi

source§

impl TypeVisitable for bool

source§

impl TypeVisitable for usize

source§

impl TypeVisitable for DefId

source§

impl TypeVisitable for Safety

source§

impl<T: TypeVisitable> TypeVisitable for Vec<T>

Implementors§

source§

impl TypeVisitable for InferMode

source§

impl TypeVisitable for BoundReftKind

source§

impl TypeVisitable for BoundVariableKind

source§

impl TypeVisitable for BaseTy

source§

impl TypeVisitable for BoundRegionKind

source§

impl TypeVisitable for BvSize

source§

impl TypeVisitable for ClauseKind

source§

impl TypeVisitable for ClosureKind

source§

impl TypeVisitable for Ensures

source§

impl TypeVisitable for ExistentialPredicate

source§

impl TypeVisitable for GenericArg

source§

impl TypeVisitable for Region

source§

impl TypeVisitable for Sort

source§

impl TypeVisitable for SortArg

source§

impl TypeVisitable for BinOp

source§

impl TypeVisitable for HoleKind

source§

impl TypeVisitable for Symbol

source§

impl TypeVisitable for AliasReft

source§

impl TypeVisitable for Expr

source§

impl TypeVisitable for KVar

source§

impl TypeVisitable for KVid

source§

impl TypeVisitable for Lambda

source§

impl TypeVisitable for AliasTy

source§

impl TypeVisitable for Clause

source§

impl TypeVisitable for Const

source§

impl TypeVisitable for CoroutineObligPredicate

source§

impl TypeVisitable for ExistentialProjection

source§

impl TypeVisitable for ExistentialTraitRef

source§

impl TypeVisitable for FnOutput

source§

impl TypeVisitable for FnSig

source§

impl TypeVisitable for FnTraitPredicate

source§

impl TypeVisitable for FuncSort

source§

impl TypeVisitable for Invariant

source§

impl TypeVisitable for PolyFuncSort

source§

impl TypeVisitable for ProjectionPredicate

source§

impl TypeVisitable for Qualifier

source§

impl TypeVisitable for SubsetTy

source§

impl TypeVisitable for TraitPredicate

source§

impl TypeVisitable for TraitRef

source§

impl TypeVisitable for Ty

source§

impl TypeVisitable for VariantSig

source§

impl<T> TypeVisitable for Opaqueness<T>
where + T: TypeVisitable,

source§

impl<T> TypeVisitable for Binder<T>
where + T: TypeVisitable,

source§

impl<T> TypeVisitable for List<T>

source§

impl<T: TypeVisitable> TypeVisitable for OutlivesPredicate<T>

\ No newline at end of file diff --git a/doc/flux_middle/rty/index.html b/doc/flux_middle/rty/index.html index 5da4ada83d..30ba1eb146 100644 --- a/doc/flux_middle/rty/index.html +++ b/doc/flux_middle/rty/index.html @@ -1,4 +1,4 @@ -flux_middle::rty - Rust

Module flux_middle::rty

source ·
Expand description

Defines how flux represents refinement types internally. Definitions in this module are used +flux_middle::rty - Rust

Module flux_middle::rty

source ·
Expand description

Defines how flux represents refinement types internally. Definitions in this module are used during refinement type checking. A couple of important differences between definitions in this module and in crate::fhir are:

    @@ -8,13 +8,13 @@

Re-exports§

Modules§

Macros§

Structs§

Macros§

Structs§

Enums§

  • The size of a bit-vector
  • The position where a hole appears. This determines how it will be inferred. This is related but not diff --git a/doc/flux_middle/rty/macro.Bool.html b/doc/flux_middle/rty/macro.Bool.html index 8c3db95c97..b8ac9c7ea4 100644 --- a/doc/flux_middle/rty/macro.Bool.html +++ b/doc/flux_middle/rty/macro.Bool.html @@ -1,3 +1,3 @@ -Bool in flux_middle::rty - Rust

    Macro flux_middle::rty::Bool

    source ·
    macro_rules! Bool {
    +Bool in flux_middle::rty - Rust

    Macro flux_middle::rty::Bool

    source ·
    macro_rules! Bool {
         ($idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Int.html b/doc/flux_middle/rty/macro.Int.html index 09168e836f..dd9afa55aa 100644 --- a/doc/flux_middle/rty/macro.Int.html +++ b/doc/flux_middle/rty/macro.Int.html @@ -1,3 +1,3 @@ -Int in flux_middle::rty - Rust

    Macro flux_middle::rty::Int

    source ·
    macro_rules! Int {
    +Int in flux_middle::rty - Rust

    Macro flux_middle::rty::Int

    source ·
    macro_rules! Int {
         ($int_ty:pat, $idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Ref.html b/doc/flux_middle/rty/macro.Ref.html index d853706251..437a6e4e01 100644 --- a/doc/flux_middle/rty/macro.Ref.html +++ b/doc/flux_middle/rty/macro.Ref.html @@ -1,3 +1,3 @@ -Ref in flux_middle::rty - Rust

    Macro flux_middle::rty::Ref

    source ·
    macro_rules! Ref {
    +Ref in flux_middle::rty - Rust

    Macro flux_middle::rty::Ref

    source ·
    macro_rules! Ref {
         ($($pats:pat),+ $(,)?) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/macro.Uint.html b/doc/flux_middle/rty/macro.Uint.html index bd4a0ca570..d3d28748cf 100644 --- a/doc/flux_middle/rty/macro.Uint.html +++ b/doc/flux_middle/rty/macro.Uint.html @@ -1,3 +1,3 @@ -Uint in flux_middle::rty - Rust

    Macro flux_middle::rty::Uint

    source ·
    macro_rules! Uint {
    +Uint in flux_middle::rty - Rust

    Macro flux_middle::rty::Uint

    source ·
    macro_rules! Uint {
         ($uint_ty:pat, $idxs:pat) => { ... };
     }
    \ No newline at end of file diff --git a/doc/flux_middle/rty/pretty/index.html b/doc/flux_middle/rty/pretty/index.html index 8c9c66c5d9..d3a6145bb1 100644 --- a/doc/flux_middle/rty/pretty/index.html +++ b/doc/flux_middle/rty/pretty/index.html @@ -1 +1 @@ -flux_middle::rty::pretty - Rust

    Module flux_middle::rty::pretty

    source ·
    \ No newline at end of file +flux_middle::rty::pretty - Rust

    Module flux_middle::rty::pretty

    source ·
    \ No newline at end of file diff --git a/doc/flux_middle/rty/projections/enum.Candidate.html b/doc/flux_middle/rty/projections/enum.Candidate.html index c4a96ec17c..eb30a00987 100644 --- a/doc/flux_middle/rty/projections/enum.Candidate.html +++ b/doc/flux_middle/rty/projections/enum.Candidate.html @@ -1,8 +1,8 @@ -Candidate in flux_middle::rty::projections - Rust

    Enum flux_middle::rty::projections::Candidate

    source ·
    pub enum Candidate {
    +Candidate in flux_middle::rty::projections - Rust

    Enum flux_middle::rty::projections::Candidate

    source ·
    pub enum Candidate {
         UserDefinedImpl(DefId),
         ParamEnv(ProjectionPredicate),
         TraitDef(ProjectionPredicate),
    -}

    Variants§

    §

    UserDefinedImpl(DefId)

    §

    ParamEnv(ProjectionPredicate)

    §

    TraitDef(ProjectionPredicate)

    Trait Implementations§

    source§

    impl Debug for Candidate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Variants§

    §

    UserDefinedImpl(DefId)

    §

    ParamEnv(ProjectionPredicate)

    §

    TraitDef(ProjectionPredicate)

    Trait Implementations§

    source§

    impl Debug for Candidate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/doc/flux_middle/rty/projections/index.html b/doc/flux_middle/rty/projections/index.html index cd8cbdc360..450d5d26c2 100644 --- a/doc/flux_middle/rty/projections/index.html +++ b/doc/flux_middle/rty/projections/index.html @@ -1 +1 @@ -flux_middle::rty::projections - Rust

    Module flux_middle::rty::projections

    source ·

    Structs§

    Enums§

    Functions§

    \ No newline at end of file +flux_middle::rty::projections - Rust

    Module flux_middle::rty::projections

    source ·

    Structs§

    Enums§

    Functions§

    \ No newline at end of file diff --git a/doc/flux_middle/rty/projections/struct.Normalizer.html b/doc/flux_middle/rty/projections/struct.Normalizer.html index 594772592c..976bf0f992 100644 --- a/doc/flux_middle/rty/projections/struct.Normalizer.html +++ b/doc/flux_middle/rty/projections/struct.Normalizer.html @@ -44,10 +44,10 @@ &mut self, obligation: &AliasTy, candidates: &mut Vec<Candidate>, -) -> QueryResult
    source

    fn tcx(&self) -> TyCtxt<'tcx>

    source

    fn rustc_param_env(&self) -> ParamEnv<'tcx>

Trait Implementations§

source§

impl FallibleTypeFolder for Normalizer<'_, '_, '_>

§

type Error = QueryErr

source§

fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

source§

fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

source§

fn try_fold_const(&mut self, c: &Const) -> Result<Const, Self::Error>

source§

fn try_fold_binder<T: TypeFoldable>( +) -> QueryResult

source

fn tcx(&self) -> TyCtxt<'tcx>

source

fn rustc_param_env(&self) -> ParamEnv<'tcx>

Trait Implementations§

source§

impl FallibleTypeFolder for Normalizer<'_, '_, '_>

§

type Error = QueryErr

source§

fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

source§

fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error>

source§

fn try_fold_expr(&mut self, expr: &Expr) -> Result<Expr, Self::Error>

source§

fn try_fold_const(&mut self, c: &Const) -> Result<Const, Self::Error>

source§

fn try_fold_binder<T: TypeFoldable>( &mut self, t: &Binder<T>, -) -> Result<Binder<T>, Self::Error>

source§

fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error>

source§

fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

source§

fn try_fold_subset_ty( +) -> Result<Binder<T>, Self::Error>

source§

fn try_fold_bty(&mut self, bty: &BaseTy) -> Result<BaseTy, Self::Error>

source§

fn try_fold_subset_ty( &mut self, constr: &SubsetTy, ) -> Result<SubsetTy, Self::Error>

source§

fn try_fold_region(&mut self, re: &Region) -> Result<Region, Self::Error>

Auto Trait Implementations§

§

impl<'genv, 'tcx, 'cx> Freeze for Normalizer<'genv, 'tcx, 'cx>

§

impl<'genv, 'tcx, 'cx> !RefUnwindSafe for Normalizer<'genv, 'tcx, 'cx>

§

impl<'genv, 'tcx, 'cx> !Send for Normalizer<'genv, 'tcx, 'cx>

§

impl<'genv, 'tcx, 'cx> !Sync for Normalizer<'genv, 'tcx, 'cx>

§

impl<'genv, 'tcx, 'cx> Unpin for Normalizer<'genv, 'tcx, 'cx>

§

impl<'genv, 'tcx, 'cx> !UnwindSafe for Normalizer<'genv, 'tcx, 'cx>

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/flux_middle/rty/projections/struct.TVarSubst.html b/doc/flux_middle/rty/projections/struct.TVarSubst.html index cf09b948b2..d4150dc3bb 100644 --- a/doc/flux_middle/rty/projections/struct.TVarSubst.html +++ b/doc/flux_middle/rty/projections/struct.TVarSubst.html @@ -1,13 +1,13 @@ -TVarSubst in flux_middle::rty::projections - Rust

Struct flux_middle::rty::projections::TVarSubst

source ·
struct TVarSubst {
+TVarSubst in flux_middle::rty::projections - Rust

Struct flux_middle::rty::projections::TVarSubst

source ·
struct TVarSubst {
     args: Vec<Option<GenericArg>>,
-}

Fields§

§args: Vec<Option<GenericArg>>

Implementations§

Fields§

§args: Vec<Option<GenericArg>>

Implementations§

source§

impl TVarSubst

source

fn new(generics: &Generics) -> Self

source

fn instantiate_partial<T: TypeFoldable>( &mut self, pred: EarlyBinder<T>, -) -> Option<T>

source

fn finish<'tcx>( +) -> Option<T>

source

fn finish<'tcx>( self, tcx: TyCtxt<'tcx>, generics: &'tcx Generics, -) -> Vec<GenericArg>

source

fn generic_args(&mut self, a: &GenericArg, b: &GenericArg)

source

fn tys(&mut self, a: &Ty, b: &Ty)

source

fn btys(&mut self, a: &BaseTy, b: &BaseTy)

source

fn regions(&mut self, a: Region, b: Region)

source

fn consts(&mut self, a: &Const, b: &Const)

source

fn insert_generic_arg(&mut self, idx: u32, arg: GenericArg)

Trait Implementations§

source§

impl Debug for TVarSubst

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl GenericsSubstDelegate for &TVarSubst

§

type Error = ()

source§

fn ty_for_param(&mut self, param_ty: ParamTy) -> Result<Ty, Self::Error>

source§

fn sort_for_param(&mut self, _param_ty: ParamTy) -> Result<Sort, Self::Error>

source§

fn ctor_for_param(&mut self, _param_ty: ParamTy) -> SubsetTyCtor

source§

fn region_for_param(&mut self, _ebr: EarlyParamRegion) -> Region

source§

fn expr_for_param_const(&self, _param_const: ParamConst) -> Expr

source§

fn const_for_param(&mut self, _param: &Const) -> Const

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Vec<GenericArg>

source

fn generic_args(&mut self, a: &GenericArg, b: &GenericArg)

source

fn tys(&mut self, a: &Ty, b: &Ty)

source

fn btys(&mut self, a: &BaseTy, b: &BaseTy)

source

fn regions(&mut self, a: Region, b: Region)

source

fn consts(&mut self, a: &Const, b: &Const)

source

fn insert_generic_arg(&mut self, idx: u32, arg: GenericArg)

Trait Implementations§

source§

impl Debug for TVarSubst

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl GenericsSubstDelegate for &TVarSubst

§

type Error = ()

source§

fn ty_for_param(&mut self, param_ty: ParamTy) -> Result<Ty, Self::Error>

source§

fn sort_for_param(&mut self, _param_ty: ParamTy) -> Result<Sort, Self::Error>

source§

fn ctor_for_param(&mut self, _param_ty: ParamTy) -> SubsetTyCtor

source§

fn region_for_param(&mut self, _ebr: EarlyParamRegion) -> Region

source§

fn expr_for_param_const(&self, _param_const: ParamConst) -> Expr

source§

fn const_for_param(&mut self, _param: &Const) -> Const

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/rty/static.INT_TYS.html b/doc/flux_middle/rty/static.INT_TYS.html index 9ab46e02f5..5d04c5bb2e 100644 --- a/doc/flux_middle/rty/static.INT_TYS.html +++ b/doc/flux_middle/rty/static.INT_TYS.html @@ -1 +1 @@ -INT_TYS in flux_middle::rty - Rust

Static flux_middle::rty::INT_TYS

source ·
pub static INT_TYS: [IntTy; 6]
\ No newline at end of file +INT_TYS in flux_middle::rty - Rust

Static flux_middle::rty::INT_TYS

source ·
pub static INT_TYS: [IntTy; 6]
\ No newline at end of file diff --git a/doc/flux_middle/rty/static.UINT_TYS.html b/doc/flux_middle/rty/static.UINT_TYS.html index 6fc368d35f..42036f1fb8 100644 --- a/doc/flux_middle/rty/static.UINT_TYS.html +++ b/doc/flux_middle/rty/static.UINT_TYS.html @@ -1 +1 @@ -UINT_TYS in flux_middle::rty - Rust

Static flux_middle::rty::UINT_TYS

source ·
pub static UINT_TYS: [UintTy; 6]
\ No newline at end of file +UINT_TYS in flux_middle::rty - Rust

Static flux_middle::rty::UINT_TYS

source ·
pub static UINT_TYS: [UintTy; 6]
\ No newline at end of file diff --git a/doc/flux_middle/rty/struct.AdtDef.html b/doc/flux_middle/rty/struct.AdtDef.html index 6a5e9ed24e..34f1a05090 100644 --- a/doc/flux_middle/rty/struct.AdtDef.html +++ b/doc/flux_middle/rty/struct.AdtDef.html @@ -1,12 +1,12 @@ -AdtDef in flux_middle::rty - Rust

Struct flux_middle::rty::AdtDef

source ·
pub struct AdtDef(Interned<AdtDefData>);

Tuple Fields§

§0: Interned<AdtDefData>

Implementations§

source§

impl AdtDef

source

pub fn new( +AdtDef in flux_middle::rty - Rust

Struct flux_middle::rty::AdtDef

source ·
pub struct AdtDef(Interned<AdtDefData>);

Tuple Fields§

§0: Interned<AdtDefData>

Implementations§

source§

impl AdtDef

source

pub fn new( rustc: AdtDef, sort_def: AdtSortDef, invariants: Vec<Invariant>, opaque: bool, -) -> Self

source

pub fn did(&self) -> DefId

source

pub fn sort_def(&self) -> &AdtSortDef

source

pub fn sort(&self, args: &[GenericArg]) -> Sort

source

pub fn is_box(&self) -> bool

source

pub fn is_enum(&self) -> bool

source

pub fn is_struct(&self) -> bool

source

pub fn variants(&self) -> &IndexSlice<VariantIdx, VariantDef>

source

pub fn variant(&self, idx: VariantIdx) -> &VariantDef

source

pub fn invariants(&self) -> &[Invariant]

source

pub fn discriminants(&self) -> impl Iterator<Item = (VariantIdx, u128)> + '_

source

pub fn is_opaque(&self) -> bool

Trait Implementations§

source§

impl Clone for AdtDef

source§

fn clone(&self) -> AdtDef

Returns a 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 AdtDef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtDef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtDef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtDef

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 +) -> Self

source

pub fn did(&self) -> DefId

source

pub fn sort_def(&self) -> &AdtSortDef

source

pub fn sort(&self, args: &[GenericArg]) -> Sort

source

pub fn is_box(&self) -> bool

source

pub fn is_enum(&self) -> bool

source

pub fn is_struct(&self) -> bool

source

pub fn variants(&self) -> &IndexSlice<VariantIdx, VariantDef>

source

pub fn variant(&self, idx: VariantIdx) -> &VariantDef

source

pub fn invariants(&self) -> &[Invariant]

source

pub fn discriminants(&self) -> impl Iterator<Item = (VariantIdx, u128)> + '_

source

pub fn is_opaque(&self) -> bool

Trait Implementations§

source§

impl Clone for AdtDef

source§

fn clone(&self) -> AdtDef

Returns a 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 AdtDef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtDef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtDef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtDef

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 for AdtDef

source§

fn eq(&self, other: &AdtDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Eq for AdtDef

source§

impl StructuralPartialEq for AdtDef

Auto Trait Implementations§

§

impl Freeze for AdtDef

§

impl RefUnwindSafe for AdtDef

§

impl Send for AdtDef

§

impl Sync for AdtDef

§

impl Unpin for AdtDef

§

impl UnwindSafe for AdtDef

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for AdtDef

source§

fn eq(&self, other: &AdtDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Eq for AdtDef

source§

impl StructuralPartialEq for AdtDef

Auto Trait Implementations§

§

impl Freeze for AdtDef

§

impl RefUnwindSafe for AdtDef

§

impl Send for AdtDef

§

impl Sync for AdtDef

§

impl Unpin for AdtDef

§

impl UnwindSafe for AdtDef

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.AdtDefData.html b/doc/flux_middle/rty/struct.AdtDefData.html index 1c1a41e7a6..9c3d7f21bd 100644 --- a/doc/flux_middle/rty/struct.AdtDefData.html +++ b/doc/flux_middle/rty/struct.AdtDefData.html @@ -1,12 +1,12 @@ -AdtDefData in flux_middle::rty - Rust

Struct flux_middle::rty::AdtDefData

source ·
pub struct AdtDefData {
+AdtDefData in flux_middle::rty - Rust

Struct flux_middle::rty::AdtDefData

source ·
pub struct AdtDefData {
     invariants: Vec<Invariant>,
     sort_def: AdtSortDef,
     opaque: bool,
     rustc: AdtDef,
-}

Fields§

§invariants: Vec<Invariant>§sort_def: AdtSortDef§opaque: bool§rustc: AdtDef

Trait Implementations§

source§

impl Debug for AdtDefData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtDefData

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtDefData

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtDefData

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 +}

Fields§

§invariants: Vec<Invariant>§sort_def: AdtSortDef§opaque: bool§rustc: AdtDef

Trait Implementations§

source§

impl Debug for AdtDefData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtDefData

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtDefData

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtDefData

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 Internable for AdtDefData

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for AdtDefData

source§

fn eq(&self, other: &AdtDefData) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Eq for AdtDefData

source§

impl StructuralPartialEq for AdtDefData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl Internable for AdtDefData

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for AdtDefData

source§

fn eq(&self, other: &AdtDefData) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Eq for AdtDefData

source§

impl StructuralPartialEq for AdtDefData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where diff --git a/doc/flux_middle/rty/struct.AdtSortDef.html b/doc/flux_middle/rty/struct.AdtSortDef.html index 5591ae7f35..aa36bcf38e 100644 --- a/doc/flux_middle/rty/struct.AdtSortDef.html +++ b/doc/flux_middle/rty/struct.AdtSortDef.html @@ -1,20 +1,21 @@ -AdtSortDef in flux_middle::rty - Rust

Struct flux_middle::rty::AdtSortDef

source ·
pub struct AdtSortDef(Interned<AdtSortDefData>);

Tuple Fields§

§0: Interned<AdtSortDefData>

Implementations§

source§

impl AdtSortDef

source

pub fn new( +AdtSortDef in flux_middle::rty - Rust

Struct flux_middle::rty::AdtSortDef

source ·
pub struct AdtSortDef(Interned<AdtSortDefData>);
Expand description

The definition of the data sort automatically generated for a struct, enum or type alias.

+

Tuple Fields§

§0: Interned<AdtSortDefData>

Implementations§

source§

impl AdtSortDef

source

pub fn new( def_id: DefId, params: Vec<ParamTy>, fields: Vec<(Symbol, Sort)>, -) -> Self

source

pub fn did(&self) -> DefId

source

pub fn fields(&self) -> usize

source

pub fn projections(&self) -> impl Iterator<Item = FieldProj> + '_

source

pub fn field_by_name( +) -> Self

source

pub fn did(&self) -> DefId

source

pub fn fields(&self) -> usize

source

pub fn projections(&self) -> impl Iterator<Item = FieldProj> + '_

source

pub fn field_by_name( &self, args: &[Sort], name: Symbol, -) -> Option<(FieldProj, Sort)>

source

pub fn field_sorts(&self, args: &[Sort]) -> List<Sort>

source

pub fn sort(&self, args: &[GenericArg]) -> Sort

source

pub fn filter_generic_args<'a, A>( +) -> Option<(FieldProj, Sort)>

source

pub fn field_sorts(&self, args: &[Sort]) -> List<Sort>

source

pub fn to_sort(&self, args: &[GenericArg]) -> Sort

source

pub fn filter_generic_args<'a, A>( &'a self, args: &'a [A], ) -> impl Iterator<Item = &A> + 'a

Given a list of generic args, returns an iterator of the generic arguments that should be mapped to sorts for instantiation.

-
source

pub fn identity_args(&self) -> List<Sort>

Trait Implementations§

source§

impl Clone for AdtSortDef

source§

fn clone(&self) -> AdtSortDef

Returns a 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 AdtSortDef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtSortDef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtSortDef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtSortDef

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 +

source

pub fn identity_args(&self) -> List<Sort>

Trait Implementations§

source§

impl Clone for AdtSortDef

source§

fn clone(&self) -> AdtSortDef

Returns a 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 AdtSortDef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtSortDef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtSortDef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtSortDef

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 for AdtSortDef

source§

fn eq(&self, other: &AdtSortDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Eq for AdtSortDef

source§

impl StructuralPartialEq for AdtSortDef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for AdtSortDef

source§

fn eq(&self, other: &AdtSortDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Eq for AdtSortDef

source§

impl StructuralPartialEq for AdtSortDef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.AdtSortDefData.html b/doc/flux_middle/rty/struct.AdtSortDefData.html index 762cec783a..c1f73fd0fd 100644 --- a/doc/flux_middle/rty/struct.AdtSortDefData.html +++ b/doc/flux_middle/rty/struct.AdtSortDefData.html @@ -1,12 +1,20 @@ -AdtSortDefData in flux_middle::rty - Rust

Struct flux_middle::rty::AdtSortDefData

source ·
struct AdtSortDefData {
+AdtSortDefData in flux_middle::rty - Rust

Struct flux_middle::rty::AdtSortDefData

source ·
struct AdtSortDefData {
     def_id: DefId,
     params: Vec<ParamTy>,
     field_names: Vec<Symbol>,
     sorts: List<Sort>,
-}

Fields§

§def_id: DefId§params: Vec<ParamTy>§field_names: Vec<Symbol>§sorts: List<Sort>

Trait Implementations§

source§

impl Debug for AdtSortDefData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtSortDefData

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtSortDefData

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtSortDefData

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 +}

Fields§

§def_id: DefId

DefId of the struct, enum or type aliases this data sort is associated to

+
§params: Vec<ParamTy>

The list of the type parameters used in the #[flux::refined_by(..)] annotation.

+

See fhir::RefinedBy::sort_params for more details. This is a version of that but using +ParamTy instead of DefId.

+

The length of this list corresponds to the number of sort variables bound by this definition.

+
§field_names: Vec<Symbol>

The list of field names as declared in the #[flux::refined_by(...)] annotation

+
§sorts: List<Sort>

The sort of each of the fields. Note that these can contain sort variables. Methods used +to access these sorts guarantee they are properly instantiated.

+

Trait Implementations§

source§

impl Debug for AdtSortDefData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AdtSortDefData

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AdtSortDefData

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AdtSortDefData

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 Internable for AdtSortDefData

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for AdtSortDefData

source§

fn eq(&self, other: &AdtSortDefData) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Eq for AdtSortDefData

source§

impl StructuralPartialEq for AdtSortDefData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl Internable for AdtSortDefData

source§

fn storage() -> &'static InternStorage<Self>

source§

impl PartialEq for AdtSortDefData

source§

fn eq(&self, other: &AdtSortDefData) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Eq for AdtSortDefData

source§

impl StructuralPartialEq for AdtSortDefData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where diff --git a/doc/flux_middle/rty/struct.AliasReft.html b/doc/flux_middle/rty/struct.AliasReft.html index 92d585c099..24de95c662 100644 --- a/doc/flux_middle/rty/struct.AliasReft.html +++ b/doc/flux_middle/rty/struct.AliasReft.html @@ -1,11 +1,11 @@ -AliasReft in flux_middle::rty - Rust

Struct flux_middle::rty::AliasReft

source ·
pub struct AliasReft {
+AliasReft in flux_middle::rty - Rust

Struct flux_middle::rty::AliasReft

source ·
pub struct AliasReft {
     pub trait_id: DefId,
     pub name: Symbol,
     pub args: GenericArgs,
-}

Fields§

§trait_id: DefId§name: Symbol§args: GenericArgs

Implementations§

source§

impl AliasReft

source

pub fn to_rustc_trait_ref<'tcx>(&self, tcx: TyCtxt<'tcx>) -> TraitRef<'tcx>

Trait Implementations§

source§

impl Clone for AliasReft

source§

fn clone(&self) -> AliasReft

Returns a 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 AliasReft

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AliasReft

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AliasReft

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AliasReft

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 +}

Fields§

§trait_id: DefId§name: Symbol§args: GenericArgs

Implementations§

source§

impl AliasReft

source

pub fn to_rustc_trait_ref<'tcx>(&self, tcx: TyCtxt<'tcx>) -> TraitRef<'tcx>

source§

impl AliasReft

source

pub fn fsort(&self, genv: GlobalEnv<'_, '_>) -> QueryResult<Option<FuncSort>>

Trait Implementations§

source§

impl Clone for AliasReft

source§

fn clone(&self) -> AliasReft

Returns a 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 AliasReft

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AliasReft

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AliasReft

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AliasReft

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 for AliasReft

source§

fn eq(&self, other: &AliasReft) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for AliasReft

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for AliasReft

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for AliasReft

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for AliasReft

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/struct.AliasTy.html b/doc/flux_middle/rty/struct.AliasTy.html index 4dd238d04d..c2060da29e 100644 --- a/doc/flux_middle/rty/struct.AliasTy.html +++ b/doc/flux_middle/rty/struct.AliasTy.html @@ -1,13 +1,13 @@ -AliasTy in flux_middle::rty - Rust

Struct flux_middle::rty::AliasTy

source ·
pub struct AliasTy {
+AliasTy in flux_middle::rty - Rust

Struct flux_middle::rty::AliasTy

source ·
pub struct AliasTy {
+    pub def_id: DefId,
     pub args: GenericArgs,
     pub refine_args: RefineArgs,
-    pub def_id: DefId,
-}

Fields§

§args: GenericArgs§refine_args: RefineArgs

Holds the refinement-arguments for opaque-types; empty for projections

-
§def_id: DefId

Implementations§

source§

impl AliasTy

source

pub fn new(def_id: DefId, args: GenericArgs, refine_args: RefineArgs) -> Self

source

pub fn self_ty(&self) -> &Ty

This method work only with associated type projections (i.e., no opaque tpes)

-

Trait Implementations§

source§

impl Clone for AliasTy

source§

fn clone(&self) -> AliasTy

Returns a 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 AliasTy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AliasTy

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AliasTy

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AliasTy

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 +}

Fields§

§def_id: DefId§args: GenericArgs§refine_args: RefineArgs

Holds the refinement-arguments for opaque-types; empty for projections

+

Implementations§

source§

impl AliasTy

source

pub fn new(def_id: DefId, args: GenericArgs, refine_args: RefineArgs) -> Self

source

pub fn self_ty(&self) -> &Ty

This method work only with associated type projections (i.e., no opaque tpes)

+

Trait Implementations§

source§

impl Clone for AliasTy

source§

fn clone(&self) -> AliasTy

Returns a 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 AliasTy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for AliasTy

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for AliasTy

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AliasTy

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 for AliasTy

source§

fn eq(&self, other: &AliasTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl<'tcx> ToRustc<'tcx> for AliasTy

§

type T = AliasTy<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for AliasTy

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for AliasTy

source§

fn eq(&self, other: &AliasTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl<'tcx> ToRustc<'tcx> for AliasTy

§

type T = AliasTy<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for AliasTy

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -23,11 +23,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for AliasTy

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for AliasTy

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for AliasTy

source§

impl StructuralPartialEq for AliasTy

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for AliasTy

source§

impl StructuralPartialEq for AliasTy

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.AssocRefinement.html b/doc/flux_middle/rty/struct.AssocRefinement.html index aa8e0df5e5..e846f9e23f 100644 --- a/doc/flux_middle/rty/struct.AssocRefinement.html +++ b/doc/flux_middle/rty/struct.AssocRefinement.html @@ -1,11 +1,11 @@ -AssocRefinement in flux_middle::rty - Rust

Struct flux_middle::rty::AssocRefinement

source ·
pub struct AssocRefinement {
+AssocRefinement in flux_middle::rty - Rust

Struct flux_middle::rty::AssocRefinement

source ·
pub struct AssocRefinement {
     pub container_def_id: DefId,
     pub name: Symbol,
 }

Fields§

§container_def_id: DefId

DefId of the container, i.e., the impl block or trait.

-
§name: Symbol

Trait Implementations§

source§

impl Clone for AssocRefinement

source§

fn clone(&self) -> AssocRefinement

Returns a 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 AssocRefinement

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for AssocRefinement

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for AssocRefinement

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AssocRefinement

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 +
§name: Symbol

Trait Implementations§

source§

impl Clone for AssocRefinement

source§

fn clone(&self) -> AssocRefinement

Returns a 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 AssocRefinement

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for AssocRefinement

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for AssocRefinement

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for AssocRefinement

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 for AssocRefinement

source§

fn eq(&self, other: &AssocRefinement) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for AssocRefinement

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Eq for AssocRefinement

source§

impl StructuralPartialEq for AssocRefinement

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for AssocRefinement

source§

fn eq(&self, other: &AssocRefinement) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for AssocRefinement

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Eq for AssocRefinement

source§

impl StructuralPartialEq for AssocRefinement

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.AssocRefinements.html b/doc/flux_middle/rty/struct.AssocRefinements.html index 9028105cb0..5c355d6b78 100644 --- a/doc/flux_middle/rty/struct.AssocRefinements.html +++ b/doc/flux_middle/rty/struct.AssocRefinements.html @@ -1,6 +1,6 @@ -AssocRefinements in flux_middle::rty - Rust

Struct flux_middle::rty::AssocRefinements

source ·
pub struct AssocRefinements {
+AssocRefinements in flux_middle::rty - Rust

Struct flux_middle::rty::AssocRefinements

source ·
pub struct AssocRefinements {
     pub items: List<AssocRefinement>,
-}

Fields§

§items: List<AssocRefinement>

Implementations§

Trait Implementations§

source§

impl Clone for AssocRefinements

source§

fn clone(&self) -> AssocRefinements

Returns a 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 AssocRefinements

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for AssocRefinements

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Default for AssocRefinements

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<__E: SpanEncoder> Encodable<__E> for AssocRefinements

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§items: List<AssocRefinement>

Implementations§

Trait Implementations§

source§

impl Clone for AssocRefinements

source§

fn clone(&self) -> AssocRefinements

Returns a 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 AssocRefinements

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for AssocRefinements

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Default for AssocRefinements

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<__E: SpanEncoder> Encodable<__E> for AssocRefinements

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Binder.html b/doc/flux_middle/rty/struct.Binder.html index 742e19a71d..b38cdd8be9 100644 --- a/doc/flux_middle/rty/struct.Binder.html +++ b/doc/flux_middle/rty/struct.Binder.html @@ -1,4 +1,4 @@ -Binder in flux_middle::rty - Rust

Struct flux_middle::rty::Binder

source ·
pub struct Binder<T> {
+Binder in flux_middle::rty - Rust

Struct flux_middle::rty::Binder

source ·
pub struct Binder<T> {
     vars: List<BoundVariableKind>,
     value: T,
 }

Fields§

§vars: List<BoundVariableKind>§value: T

Implementations§

source§

impl<T> Binder<T>

source

pub fn bind_with_vars(value: T, vars: BoundVariableKinds) -> Binder<T>

source

pub fn dummy(value: T) -> Binder<T>

source

pub fn bind_with_sorts(value: T, sorts: &[Sort]) -> Binder<T>

source

pub fn bind_with_sort(value: T, sort: Sort) -> Binder<T>

source

pub fn vars(&self) -> &List<BoundVariableKind>

source

pub fn as_ref(&self) -> Binder<&T>

source

pub fn skip_binder(self) -> T

source

pub fn skip_binder_ref(&self) -> &T

source

pub fn rebind<U>(self, value: U) -> Binder<U>

source

pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

source

pub fn try_map<U, E>( @@ -12,17 +12,16 @@ ) -> T

source

pub fn replace_bound_refts(&self, exprs: &[Expr]) -> T

source

pub fn replace_bound_reft(&self, expr: &Expr) -> T

source

pub fn replace_bound_refts_with( &self, f: impl FnMut(&Sort, InferMode, BoundReftKind) -> Expr, -) -> T

source§

impl Binder<TraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<ExistentialTraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<Ty>

source

pub fn to_ty(&self) -> Ty

source§

impl Binder<SubsetTy>

source

pub fn trait_object_dummy_self() -> Self

This is the subset type version of Ty::trait_object_dummy_self

-
source

pub fn as_bty_skipping_binder(&self) -> &BaseTy

source

pub fn to_ty(&self) -> Ty

source§

impl Binder<Expr>

Trait Implementations§

source§

impl<T: Clone> Clone for Binder<T>

source§

fn clone(&self) -> Binder<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<T: Pretty> Debug for Binder<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>
where +) -> T

source§

impl Binder<TraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<ExistentialTraitRef>

source

pub fn def_id(&self) -> DefId

source§

impl Binder<Ty>

source

pub fn to_ty(&self) -> Ty

source§

impl Binder<SubsetTy>

source

pub fn trait_object_dummy_self() -> Self

This is the subset type version of Ty::trait_object_dummy_self

+
source

pub fn as_bty_skipping_binder(&self) -> &BaseTy

source

pub fn to_ty(&self) -> Ty

Trait Implementations§

source§

impl<T: Clone> Clone for Binder<T>

source§

fn clone(&self) -> Binder<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<T: Pretty> Debug for Binder<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>
where T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>
where - T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Binder<ClauseKind>> for Clause

source§

fn from(kind: Binder<ClauseKind>) -> Self

Converts to this type from the input type.
source§

impl<T: Hash> Hash for Binder<T>

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 + T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Binder<ClauseKind>> for Clause

source§

fn from(kind: Binder<ClauseKind>) -> Self

Converts to this type from the input type.
source§

impl<T: Hash> Hash for Binder<T>

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: PartialEq> PartialEq for Binder<T>

source§

fn eq(&self, other: &Binder<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Binder<FnOutput>

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<T> Pretty for Binder<T>
where - T: Pretty,

source§

default fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Binder<ExistentialPredicate>

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx, V> ToRustc<'tcx> for Binder<V>
where - V: ToRustc<'tcx, T: TypeVisitable<TyCtxt<'tcx>>>,

§

type T = Binder<TyCtxt<'tcx>, <V as ToRustc<'tcx>>::T>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl<T> TypeFoldable for Binder<T>
where - T: TypeFoldable,

source§

fn try_fold_with<F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for Binder<FnOutput>

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<T> Pretty for Binder<T>
where + T: Pretty,

source§

default fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Binder<ExistentialPredicate>

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx, V> ToRustc<'tcx> for Binder<V>
where + V: ToRustc<'tcx, T: TypeVisitable<TyCtxt<'tcx>>>,

§

type T = Binder<TyCtxt<'tcx>, <V as ToRustc<'tcx>>::T>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl<T> TypeFoldable for Binder<T>
where + T: TypeFoldable,

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -38,16 +37,16 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeSuperFoldable for Binder<T>
where - T: TypeFoldable,

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeSuperFoldable for Binder<T>
where + T: TypeFoldable,

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl<T> TypeSuperVisitable for Binder<T>
where - T: TypeVisitable,

source§

fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl<T> TypeSuperVisitable for Binder<T>
where + T: TypeVisitable,

source§

impl<T> TypeVisitable for Binder<T>
where - T: TypeVisitable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +) -> ControlFlow<V::BreakTy>

source§

impl<T> TypeVisitable for Binder<T>
where + T: TypeVisitable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl<T: Eq> Eq for Binder<T>

source§

impl<T> StructuralPartialEq for Binder<T>

Auto Trait Implementations§

§

impl<T> Freeze for Binder<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Binder<T>
where T: RefUnwindSafe,

§

impl<T> Send for Binder<T>
where diff --git a/doc/flux_middle/rty/struct.BvSizeVid.html b/doc/flux_middle/rty/struct.BvSizeVid.html index bea038bbfd..0c7a0bd995 100644 --- a/doc/flux_middle/rty/struct.BvSizeVid.html +++ b/doc/flux_middle/rty/struct.BvSizeVid.html @@ -1,36 +1,36 @@ -BvSizeVid in flux_middle::rty - Rust

Struct flux_middle::rty::BvSizeVid

source ·
pub struct BvSizeVid {
+BvSizeVid in flux_middle::rty - Rust

Struct flux_middle::rty::BvSizeVid

source ·
pub struct BvSizeVid {
     private_use_as_methods_instead: u32,
 }
Expand description

A bit vector size vvariable id

-

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl BvSizeVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const ZERO: Self = _

Zero value of the index.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

+

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl BvSizeVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

+
source

pub const MAX: Self = _

Maximum value the index can take.

+
source

pub const ZERO: Self = _

Zero value of the index.

+
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

+
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

§Panics

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

§Safety

The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for BvSizeVid

§

type Output = BvSizeVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for BvSizeVid

source§

fn clone(&self) -> BvSizeVid

Returns a 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 BvSizeVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for BvSizeVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for BvSizeVid

source§

fn encode(&self, e: &mut E)

source§

impl From<BvSizeVid> for u32

source§

fn from(v: BvSizeVid) -> u32

Converts to this type from the input type.
source§

impl From<BvSizeVid> for usize

source§

fn from(v: BvSizeVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for BvSizeVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for BvSizeVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for BvSizeVid

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 +

source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

+
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

+
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

+

Trait Implementations§

source§

impl Add<usize> for BvSizeVid

§

type Output = BvSizeVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for BvSizeVid

source§

fn clone(&self) -> BvSizeVid

Returns a 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 BvSizeVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for BvSizeVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for BvSizeVid

source§

fn encode(&self, e: &mut E)

source§

impl From<BvSizeVid> for u32

source§

fn from(v: BvSizeVid) -> u32

Converts to this type from the input type.
source§

impl From<BvSizeVid> for usize

source§

fn from(v: BvSizeVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for BvSizeVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for BvSizeVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for BvSizeVid

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 Idx for BvSizeVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for BvSizeVid

source§

fn eq(&self, other: &BvSizeVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl UnifyKey for BvSizeVid

§

type Value = Option<BvSize>

source§

fn index(&self) -> u32

source§

fn from_index(u: u32) -> Self

source§

fn tag() -> &'static str

§

fn order_roots( + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for BvSizeVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for BvSizeVid

source§

fn eq(&self, other: &BvSizeVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl UnifyKey for BvSizeVid

§

type Value = Option<BvSize>

source§

fn index(&self) -> u32

source§

fn from_index(u: u32) -> Self

source§

fn tag() -> &'static str

§

fn order_roots( a: Self, a_value: &Self::Value, b: Self, b_value: &Self::Value, ) -> Option<(Self, Self)>

You should return first the key that should be used as root, -then the other key (that will then point to the new root). Read more
source§

impl Copy for BvSizeVid

source§

impl Eq for BvSizeVid

source§

impl StructuralPartialEq for BvSizeVid

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +then the other key (that will then point to the new root). Read more

source§

impl Copy for BvSizeVid

source§

impl Eq for BvSizeVid

source§

impl StructuralPartialEq for BvSizeVid

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Clause.html b/doc/flux_middle/rty/struct.Clause.html index cc6f1cb363..a5eaccad96 100644 --- a/doc/flux_middle/rty/struct.Clause.html +++ b/doc/flux_middle/rty/struct.Clause.html @@ -1,9 +1,9 @@ -Clause in flux_middle::rty - Rust

Struct flux_middle::rty::Clause

source ·
pub struct Clause {
+Clause in flux_middle::rty - Rust

Struct flux_middle::rty::Clause

source ·
pub struct Clause {
     kind: Binder<ClauseKind>,
-}

Fields§

§kind: Binder<ClauseKind>

Implementations§

source§

impl Clause

source

pub fn new(vars: impl Into<List<BoundVariableKind>>, kind: ClauseKind) -> Self

source

pub fn kind(&self) -> Binder<ClauseKind>

source

pub fn kind_skipping_binder(&self) -> ClauseKind

Trait Implementations§

source§

impl Clone for Clause

source§

fn clone(&self) -> Clause

Returns a 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 Clause

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Clause

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Clause

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Binder<ClauseKind>> for Clause

source§

fn from(kind: Binder<ClauseKind>) -> Self

Converts to this type from the input type.
source§

impl Hash for Clause

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 +}

Fields§

§kind: Binder<ClauseKind>

Implementations§

source§

impl Clause

source

pub fn new(vars: impl Into<List<BoundVariableKind>>, kind: ClauseKind) -> Self

source

pub fn kind(&self) -> Binder<ClauseKind>

source

pub fn kind_skipping_binder(&self) -> ClauseKind

Trait Implementations§

source§

impl Clone for Clause

source§

fn clone(&self) -> Clause

Returns a 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 Clause

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Clause

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Clause

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Binder<ClauseKind>> for Clause

source§

fn from(kind: Binder<ClauseKind>) -> Self

Converts to this type from the input type.
source§

impl Hash for Clause

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 for Clause

source§

fn eq(&self, other: &Clause) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for Clause

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Clause

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Clause

source§

fn eq(&self, other: &Clause) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for Clause

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Clause

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -19,11 +19,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Clause

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Clause

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Clause

source§

impl StructuralPartialEq for Clause

Auto Trait Implementations§

§

impl Freeze for Clause

§

impl RefUnwindSafe for Clause

§

impl Send for Clause

§

impl Sync for Clause

§

impl Unpin for Clause

§

impl UnwindSafe for Clause

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for Clause

source§

impl StructuralPartialEq for Clause

Auto Trait Implementations§

§

impl Freeze for Clause

§

impl RefUnwindSafe for Clause

§

impl Send for Clause

§

impl Sync for Clause

§

impl Unpin for Clause

§

impl UnwindSafe for Clause

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.ClosureOblig.html b/doc/flux_middle/rty/struct.ClosureOblig.html index a2ac90b8a5..662260df59 100644 --- a/doc/flux_middle/rty/struct.ClosureOblig.html +++ b/doc/flux_middle/rty/struct.ClosureOblig.html @@ -1,7 +1,7 @@ -ClosureOblig in flux_middle::rty - Rust

Struct flux_middle::rty::ClosureOblig

source ·
pub struct ClosureOblig {
+ClosureOblig in flux_middle::rty - Rust

Struct flux_middle::rty::ClosureOblig

source ·
pub struct ClosureOblig {
     pub oblig_def_id: DefId,
     pub oblig_sig: PolyFnSig,
-}

Fields§

§oblig_def_id: DefId§oblig_sig: PolyFnSig

Trait Implementations§

source§

impl Debug for ClosureOblig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§oblig_def_id: DefId§oblig_sig: PolyFnSig

Trait Implementations§

source§

impl Debug for ClosureOblig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/rty/struct.Const.html b/doc/flux_middle/rty/struct.Const.html index 74d34ff7a1..0cc652bd61 100644 --- a/doc/flux_middle/rty/struct.Const.html +++ b/doc/flux_middle/rty/struct.Const.html @@ -4,7 +4,7 @@ __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 for Const

source§

fn eq(&self, other: &Const) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Const

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for Const

§

type T = Const<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> <Const as ToRustc<'tcx>>::T

source§

impl TypeFoldable for Const

source§

fn try_fold_with<F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for Const

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for Const

§

type T = Const<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> <Const as ToRustc<'tcx>>::T

source§

impl TypeFoldable for Const

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -20,10 +20,10 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Const

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Const

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, _folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeVisitable for Const

source§

fn visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeVisitable for Const

source§

fn visit_with<V: TypeVisitor>( &self, _visitor: &mut V, ) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. diff --git a/doc/flux_middle/rty/struct.CoroutineObligPredicate.html b/doc/flux_middle/rty/struct.CoroutineObligPredicate.html index 39764b2015..36db2bd235 100644 --- a/doc/flux_middle/rty/struct.CoroutineObligPredicate.html +++ b/doc/flux_middle/rty/struct.CoroutineObligPredicate.html @@ -1,12 +1,12 @@ -CoroutineObligPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::CoroutineObligPredicate

source ·
pub struct CoroutineObligPredicate {
+CoroutineObligPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::CoroutineObligPredicate

source ·
pub struct CoroutineObligPredicate {
     pub def_id: DefId,
     pub resume_ty: Ty,
     pub upvar_tys: List<Ty>,
     pub output: Ty,
-}

Fields§

§def_id: DefId§resume_ty: Ty§upvar_tys: List<Ty>§output: Ty

Implementations§

Trait Implementations§

source§

impl Clone for CoroutineObligPredicate

source§

fn clone(&self) -> CoroutineObligPredicate

Returns a 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 CoroutineObligPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for CoroutineObligPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for CoroutineObligPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for CoroutineObligPredicate

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 +}

Fields§

§def_id: DefId§resume_ty: Ty§upvar_tys: List<Ty>§output: Ty

Implementations§

Trait Implementations§

source§

impl Clone for CoroutineObligPredicate

source§

fn clone(&self) -> CoroutineObligPredicate

Returns a 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 CoroutineObligPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for CoroutineObligPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for CoroutineObligPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for CoroutineObligPredicate

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 for CoroutineObligPredicate

source§

fn eq(&self, other: &CoroutineObligPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl TypeFoldable for CoroutineObligPredicate

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for CoroutineObligPredicate

source§

fn eq(&self, other: &CoroutineObligPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl TypeFoldable for CoroutineObligPredicate

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -22,11 +22,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for CoroutineObligPredicate

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for CoroutineObligPredicate

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for CoroutineObligPredicate

source§

impl StructuralPartialEq for CoroutineObligPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for CoroutineObligPredicate

source§

impl StructuralPartialEq for CoroutineObligPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.DebruijnIndex.html b/doc/flux_middle/rty/struct.DebruijnIndex.html index b79664f555..2c21962bbc 100644 --- a/doc/flux_middle/rty/struct.DebruijnIndex.html +++ b/doc/flux_middle/rty/struct.DebruijnIndex.html @@ -33,7 +33,7 @@ rather the outer one). Therefore, in this case, it is assigned a De Bruijn index of 0, because the innermost binder in that location is the outer fn.

-

Fields§

§private_use_as_methods_instead: u32

Trait Implementations§

source§

impl Pretty for DebruijnIndex

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Fields§

§private_use_as_methods_instead: u32

Trait Implementations§

source§

impl Pretty for DebruijnIndex

source§

fn fmt(&self, _cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.EarlyBinder.html b/doc/flux_middle/rty/struct.EarlyBinder.html index 68ff8d5ae4..d4919095ba 100644 --- a/doc/flux_middle/rty/struct.EarlyBinder.html +++ b/doc/flux_middle/rty/struct.EarlyBinder.html @@ -7,11 +7,11 @@ tcx: TyCtxt<'_>, args: &[GenericArg], refine_args: &[Expr], -) -> T

source§

impl EarlyBinder<GenericPredicates>

source§

impl EarlyBinder<FuncSort>

source

pub fn instantiate_func_sort<E>( +) -> T

source§

impl EarlyBinder<GenericPredicates>

source§

impl EarlyBinder<FuncSort>

source

pub fn instantiate_func_sort<E>( self, sort_for_param: impl FnMut(ParamTy) -> Result<Sort, E>, ) -> Result<FuncSort, E>

source§

impl EarlyBinder<PolyVariant>

Trait Implementations§

source§

impl<T: Clone> Clone for EarlyBinder<T>

source§

fn clone(&self) -> EarlyBinder<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<T: Debug> Debug for EarlyBinder<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>
where +

source§

impl EarlyBinder<PolyVariant>

Trait Implementations§

source§

impl<T: Clone> Clone for EarlyBinder<T>

source§

fn clone(&self) -> EarlyBinder<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<T: Debug> Debug for EarlyBinder<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T, __D: TyDecoder> Decodable<__D> for EarlyBinder<T>
where T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<T, __E: TyEncoder> Encodable<__E> for EarlyBinder<T>
where T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

§

impl<T> Freeze for EarlyBinder<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for EarlyBinder<T>
where diff --git a/doc/flux_middle/rty/struct.ExistentialProjection.html b/doc/flux_middle/rty/struct.ExistentialProjection.html index 004df69713..b335c2577f 100644 --- a/doc/flux_middle/rty/struct.ExistentialProjection.html +++ b/doc/flux_middle/rty/struct.ExistentialProjection.html @@ -1,11 +1,11 @@ -ExistentialProjection in flux_middle::rty - Rust

Struct flux_middle::rty::ExistentialProjection

source ·
pub struct ExistentialProjection {
+ExistentialProjection in flux_middle::rty - Rust

Struct flux_middle::rty::ExistentialProjection

source ·
pub struct ExistentialProjection {
     pub def_id: DefId,
     pub args: GenericArgs,
     pub term: Ty,
-}

Fields§

§def_id: DefId§args: GenericArgs§term: Ty

Trait Implementations§

source§

impl Clone for ExistentialProjection

source§

fn clone(&self) -> ExistentialProjection

Returns a 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 ExistentialProjection

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for ExistentialProjection

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExistentialProjection

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExistentialProjection

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 +}

Fields§

§def_id: DefId§args: GenericArgs§term: Ty

Trait Implementations§

source§

impl Clone for ExistentialProjection

source§

fn clone(&self) -> ExistentialProjection

Returns a 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 ExistentialProjection

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for ExistentialProjection

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExistentialProjection

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExistentialProjection

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 for ExistentialProjection

source§

fn eq(&self, other: &ExistentialProjection) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for ExistentialProjection

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for ExistentialProjection

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ExistentialProjection

source§

fn eq(&self, other: &ExistentialProjection) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for ExistentialProjection

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for ExistentialProjection

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -21,11 +21,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ExistentialProjection

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ExistentialProjection

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for ExistentialProjection

source§

impl StructuralPartialEq for ExistentialProjection

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for ExistentialProjection

source§

impl StructuralPartialEq for ExistentialProjection

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.ExistentialTraitRef.html b/doc/flux_middle/rty/struct.ExistentialTraitRef.html index ceb841dc9a..65a059d42f 100644 --- a/doc/flux_middle/rty/struct.ExistentialTraitRef.html +++ b/doc/flux_middle/rty/struct.ExistentialTraitRef.html @@ -1,10 +1,10 @@ -ExistentialTraitRef in flux_middle::rty - Rust

Struct flux_middle::rty::ExistentialTraitRef

source ·
pub struct ExistentialTraitRef {
+ExistentialTraitRef in flux_middle::rty - Rust

Struct flux_middle::rty::ExistentialTraitRef

source ·
pub struct ExistentialTraitRef {
     pub def_id: DefId,
     pub args: GenericArgs,
-}

Fields§

§def_id: DefId§args: GenericArgs

Trait Implementations§

source§

impl Clone for ExistentialTraitRef

source§

fn clone(&self) -> ExistentialTraitRef

Returns a 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 ExistentialTraitRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for ExistentialTraitRef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExistentialTraitRef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExistentialTraitRef

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 +}

Fields§

§def_id: DefId§args: GenericArgs

Trait Implementations§

source§

impl Clone for ExistentialTraitRef

source§

fn clone(&self) -> ExistentialTraitRef

Returns a 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 ExistentialTraitRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for ExistentialTraitRef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ExistentialTraitRef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ExistentialTraitRef

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 for ExistentialTraitRef

source§

fn eq(&self, other: &ExistentialTraitRef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for ExistentialTraitRef

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for ExistentialTraitRef

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ExistentialTraitRef

source§

fn eq(&self, other: &ExistentialTraitRef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for ExistentialTraitRef

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for ExistentialTraitRef

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -20,11 +20,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ExistentialTraitRef

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ExistentialTraitRef

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for ExistentialTraitRef

source§

impl StructuralPartialEq for ExistentialTraitRef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for ExistentialTraitRef

source§

impl StructuralPartialEq for ExistentialTraitRef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Expr.html b/doc/flux_middle/rty/struct.Expr.html index e077f3764e..ec0e1ced9b 100644 --- a/doc/flux_middle/rty/struct.Expr.html +++ b/doc/flux_middle/rty/struct.Expr.html @@ -1,32 +1,32 @@ Expr in flux_middle::rty - Rust

Struct flux_middle::rty::Expr

source ·
pub struct Expr {
     kind: Interned<ExprKind>,
     espan: Option<ESpan>,
-}

Fields§

§kind: Interned<ExprKind>§espan: Option<ESpan>

Implementations§

source§

impl Expr

source

pub fn at_opt(self, espan: Option<ESpan>) -> Expr

source

pub fn at(self, espan: ESpan) -> Expr

source

pub fn at_base(self, base: ESpan) -> Expr

source

pub fn span(&self) -> Option<ESpan>

source

pub fn tt() -> Expr

source

pub fn ff() -> Expr

source

pub fn and_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn or_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn and(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn or(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn zero() -> Expr

source

pub fn int_max(int_ty: IntTy) -> Expr

source

pub fn int_min(int_ty: IntTy) -> Expr

source

pub fn uint_max(uint_ty: UintTy) -> Expr

source

pub fn nu() -> Expr

source

pub fn is_nu(&self) -> bool

source

pub fn expect_adt(&self) -> (DefId, List<Expr>)

source

pub fn unit() -> Expr

source

pub fn var(var: Var) -> Expr

source

pub fn fvar(name: Name) -> Expr

source

pub fn evar(evar: EVar) -> Expr

source

pub fn bvar(debruijn: DebruijnIndex, var: BoundVar, kind: BoundReftKind) -> Expr

source

pub fn early_param(index: u32, name: Symbol) -> Expr

source

pub fn local(local: Local) -> Expr

source

pub fn constant(c: Constant) -> Expr

source

pub fn const_def_id(c: DefId) -> Expr

source

pub fn const_generic(param: ParamConst) -> Expr

source

pub fn aggregate(kind: AggregateKind, flds: List<Expr>) -> Expr

source

pub fn tuple(flds: List<Expr>) -> Expr

source

pub fn adt(def_id: DefId, flds: List<Expr>) -> Expr

source

pub fn from_bits(bty: &BaseTy, bits: u128) -> Expr

source

pub fn ite(p: impl Into<Expr>, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn abs(lam: Lambda) -> Expr

source

pub fn hole(kind: HoleKind) -> Expr

source

pub fn kvar(kvar: KVar) -> Expr

source

pub fn alias(alias: AliasReft, args: List<Expr>) -> Expr

source

pub fn forall(expr: Binder<Expr>) -> Expr

source

pub fn binary_op(op: BinOp, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unit_adt(def_id: DefId) -> Expr

source

pub fn app(func: impl Into<Expr>, args: List<Expr>) -> Expr

source

pub fn global_func(func: Symbol, kind: SpecFuncKind) -> Expr

source

pub fn eq(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unary_op(op: UnOp, e: impl Into<Expr>) -> Expr

source

pub fn ne(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn ge(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn gt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn lt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn le(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn implies(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn field_proj(e: impl Into<Expr>, proj: FieldProj) -> Expr

source

pub fn field_projs(e: impl Into<Expr>, projs: &[FieldProj]) -> Expr

source

pub fn path_proj(base: Expr, field: FieldIdx) -> Expr

source

pub fn not(&self) -> Expr

source

pub fn neg(&self) -> Expr

source

pub fn kind(&self) -> &ExprKind

source

pub fn is_atom(&self) -> bool

An expression is an atom if it is “self-delimiting”, i.e., it has a clear boundary +}

Fields§

§kind: Interned<ExprKind>§espan: Option<ESpan>

Implementations§

source§

impl Expr

source

pub fn at_opt(self, espan: Option<ESpan>) -> Expr

source

pub fn at(self, espan: ESpan) -> Expr

source

pub fn at_base(self, base: ESpan) -> Expr

source

pub fn span(&self) -> Option<ESpan>

source

pub fn tt() -> Expr

source

pub fn ff() -> Expr

source

pub fn and_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn or_from_iter(exprs: impl IntoIterator<Item = Expr>) -> Expr

source

pub fn and(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn or(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn zero() -> Expr

source

pub fn int_max(int_ty: IntTy) -> Expr

source

pub fn int_min(int_ty: IntTy) -> Expr

source

pub fn uint_max(uint_ty: UintTy) -> Expr

source

pub fn nu() -> Expr

source

pub fn is_nu(&self) -> bool

source

pub fn expect_adt(&self) -> (DefId, List<Expr>)

source

pub fn unit() -> Expr

source

pub fn var(var: Var) -> Expr

source

pub fn fvar(name: Name) -> Expr

source

pub fn evar(evar: EVar) -> Expr

source

pub fn bvar(debruijn: DebruijnIndex, var: BoundVar, kind: BoundReftKind) -> Expr

source

pub fn early_param(index: u32, name: Symbol) -> Expr

source

pub fn local(local: Local) -> Expr

source

pub fn constant(c: Constant) -> Expr

source

pub fn const_def_id(c: DefId) -> Expr

source

pub fn const_generic(param: ParamConst) -> Expr

source

pub fn aggregate(kind: AggregateKind, flds: List<Expr>) -> Expr

source

pub fn tuple(flds: List<Expr>) -> Expr

source

pub fn adt(def_id: DefId, flds: List<Expr>) -> Expr

source

pub fn from_bits(bty: &BaseTy, bits: u128) -> Expr

source

pub fn ite(p: impl Into<Expr>, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn abs(lam: Lambda) -> Expr

source

pub fn hole(kind: HoleKind) -> Expr

source

pub fn kvar(kvar: KVar) -> Expr

source

pub fn alias(alias: AliasReft, args: List<Expr>) -> Expr

source

pub fn forall(expr: Binder<Expr>) -> Expr

source

pub fn binary_op(op: BinOp, e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unit_adt(def_id: DefId) -> Expr

source

pub fn app(func: impl Into<Expr>, args: List<Expr>) -> Expr

source

pub fn global_func(func: Symbol, kind: SpecFuncKind) -> Expr

source

pub fn eq(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn unary_op(op: UnOp, e: impl Into<Expr>) -> Expr

source

pub fn ne(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn ge(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn gt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn lt(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn le(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn implies(e1: impl Into<Expr>, e2: impl Into<Expr>) -> Expr

source

pub fn field_proj(e: impl Into<Expr>, proj: FieldProj) -> Expr

source

pub fn field_projs(e: impl Into<Expr>, projs: &[FieldProj]) -> Expr

source

pub fn path_proj(base: Expr, field: FieldIdx) -> Expr

source

pub fn not(&self) -> Expr

source

pub fn neg(&self) -> Expr

source

pub fn kind(&self) -> &ExprKind

source

pub fn is_atom(&self) -> bool

An expression is an atom if it is “self-delimiting”, i.e., it has a clear boundary when printed. This is used to avoid unnecessary parenthesis when pretty printing.

-
source

pub fn is_trivially_true(&self) -> bool

Simple syntactic check to see if the expression is a trivially true predicate. This is used +

source

pub fn is_trivially_true(&self) -> bool

Simple syntactic check to see if the expression is a trivially true predicate. This is used mostly for filtering predicates when pretty printing but also to simplify types in general.

-
source

fn is_true(&self) -> bool

Whether the expression is literally the constant true.

-
source

pub fn from_const(tcx: TyCtxt<'_>, c: &Const) -> Expr

source

pub fn is_binary_op(&self) -> bool

source

fn const_op(op: &BinOp, c1: &Constant, c2: &Constant) -> Option<Constant>

source

pub fn simplify(&self) -> Expr

Simplify the expression by removing double negations, short-circuiting boolean connectives and +

source

fn is_true(&self) -> bool

Whether the expression is literally the constant true.

+
source

pub fn from_const(tcx: TyCtxt<'_>, c: &Const) -> Expr

source

pub fn is_binary_op(&self) -> bool

source

fn const_op(op: &BinOp, c1: &Constant, c2: &Constant) -> Option<Constant>

source

pub fn simplify(&self) -> Expr

Simplify the expression by removing double negations, short-circuiting boolean connectives and doing constant folding. Note that we also have TypeFoldable::normalize which applies beta reductions for tuples and abstractions.

-
source

pub fn to_loc(&self) -> Option<Loc>

source

pub fn to_path(&self) -> Option<Path>

source

pub fn is_abs(&self) -> bool

source

pub fn is_unit(&self) -> bool

Whether this is an aggregate expression with no fields.

-
source

pub fn eta_expand_abs( +

source

pub fn to_loc(&self) -> Option<Loc>

source

pub fn to_path(&self) -> Option<Path>

source

pub fn is_abs(&self) -> bool

source

pub fn is_unit(&self) -> bool

Whether this is an aggregate expression with no fields.

+
source

pub fn eta_expand_abs( &self, inputs: &BoundVariableKinds, output: Sort, -) -> Lambda

source

pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

source

pub fn proj_and_reduce(&self, proj: FieldProj) -> Expr

Applies a projection to an expression and optimistically try to beta reduce it if possible.

-
source

pub fn flatten_conjs(&self) -> Vec<&Expr>

Trait Implementations§

source§

impl<Rhs> Add<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl<Rhs> Add<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl Clone for Expr

source§

fn clone(&self) -> Expr

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Expr

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<Rhs> Div<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<Rhs> Div<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<__E: TyEncoder> Encodable<__E> for Expr

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<&Expr> for Expr

source§

fn from(e: &Expr) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Expr

source§

fn from(value: i32) -> Self

Converts to this type from the input type.
source§

impl Hash for Expr

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 +) -> Lambda

source

pub fn fold_sort(sort: &Sort, f: impl FnMut(&Sort) -> Expr) -> Expr

source

pub fn proj_and_reduce(&self, proj: FieldProj) -> Expr

Applies a projection to an expression and optimistically try to beta reduce it if possible.

+
source

pub fn flatten_conjs(&self) -> Vec<&Expr>

Trait Implementations§

source§

impl<Rhs> Add<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl<Rhs> Add<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the + operator.
source§

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation. Read more
source§

impl Clone for Expr

source§

fn clone(&self) -> Expr

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Expr

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<Rhs> Div<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<Rhs> Div<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the / operator.
source§

fn div(self, rhs: Rhs) -> Self::Output

Performs the / operation. Read more
source§

impl<__E: TyEncoder> Encodable<__E> for Expr

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<&Expr> for Expr

source§

fn from(e: &Expr) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl From<Var> for Expr

source§

fn from(var: Var) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Expr

source§

fn from(value: i32) -> Self

Converts to this type from the input type.
source§

impl Hash for Expr

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<Rhs> Mul<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl<Rhs> Mul<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl PartialEq for Expr

source§

fn eq(&self, other: &Expr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Expr

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Expr

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<Rhs> Sub<Rhs> for &Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl<Rhs> Sub<Rhs> for Expr
where - Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl TypeFoldable for Expr

Feeds a slice of this type into the given Hasher. Read more
source§

impl<Rhs> Mul<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl<Rhs> Mul<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Rhs) -> Self::Output

Performs the * operation. Read more
source§

impl PartialEq for Expr

source§

fn eq(&self, other: &Expr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for Expr

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Expr

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<Rhs> Sub<Rhs> for &Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl<Rhs> Sub<Rhs> for Expr
where + Rhs: Into<Expr>,

§

type Output = Expr

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Rhs) -> Self::Output

Performs the - operation. Read more
source§

impl TypeFoldable for Expr

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -42,13 +42,13 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Expr

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Expr

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Expr

source§

fn super_visit_with<V: TypeVisitor>( +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Expr

source§

impl TypeVisitable for Expr

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +) -> ControlFlow<V::BreakTy>
source§

impl TypeVisitable for Expr

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Expr

source§

impl StructuralPartialEq for Expr

Auto Trait Implementations§

§

impl Freeze for Expr

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/struct.FnOutput.html b/doc/flux_middle/rty/struct.FnOutput.html index 1eb76242ea..946111a515 100644 --- a/doc/flux_middle/rty/struct.FnOutput.html +++ b/doc/flux_middle/rty/struct.FnOutput.html @@ -1,10 +1,10 @@ -FnOutput in flux_middle::rty - Rust

Struct flux_middle::rty::FnOutput

source ·
pub struct FnOutput {
+FnOutput in flux_middle::rty - Rust

Struct flux_middle::rty::FnOutput

source ·
pub struct FnOutput {
     pub ret: Ty,
     pub ensures: List<Ensures>,
-}

Fields§

§ret: Ty§ensures: List<Ensures>

Implementations§

source§

impl FnOutput

source

pub fn new(ret: Ty, ensures: impl Into<List<Ensures>>) -> Self

Trait Implementations§

source§

impl Clone for FnOutput

source§

fn clone(&self) -> FnOutput

Returns a 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 FnOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FnOutput

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FnOutput

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FnOutput

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 +}

Fields§

§ret: Ty§ensures: List<Ensures>

Implementations§

source§

impl FnOutput

source

pub fn new(ret: Ty, ensures: impl Into<List<Ensures>>) -> Self

Trait Implementations§

source§

impl Clone for FnOutput

source§

fn clone(&self) -> FnOutput

Returns a 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 FnOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FnOutput

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FnOutput

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FnOutput

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 for FnOutput

source§

fn eq(&self, other: &FnOutput) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for FnOutput

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for FnOutput

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for FnOutput

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for FnOutput

source§

fn eq(&self, other: &FnOutput) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for FnOutput

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for FnOutput

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for FnOutput

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -20,11 +20,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FnOutput

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FnOutput

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for FnOutput

source§

impl StructuralPartialEq for FnOutput

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for FnOutput

source§

impl StructuralPartialEq for FnOutput

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.FnSig.html b/doc/flux_middle/rty/struct.FnSig.html index cd1a078cd9..970ba01a2c 100644 --- a/doc/flux_middle/rty/struct.FnSig.html +++ b/doc/flux_middle/rty/struct.FnSig.html @@ -1,19 +1,19 @@ -FnSig in flux_middle::rty - Rust

Struct flux_middle::rty::FnSig

source ·
pub struct FnSig {
+FnSig in flux_middle::rty - Rust

Struct flux_middle::rty::FnSig

source ·
pub struct FnSig {
     safety: Safety,
     abi: Abi,
     requires: List<Expr>,
     inputs: List<Ty>,
     output: Binder<FnOutput>,
-}

Fields§

§safety: Safety§abi: Abi§requires: List<Expr>§inputs: List<Ty>§output: Binder<FnOutput>

Implementations§

source§

impl FnSig

source

pub fn new( +}

Fields§

§safety: Safety§abi: Abi§requires: List<Expr>§inputs: List<Ty>§output: Binder<FnOutput>

Implementations§

source§

impl FnSig

source

pub fn new( safety: Safety, abi: Abi, requires: List<Expr>, inputs: List<Ty>, output: Binder<FnOutput>, -) -> Self

source

pub fn requires(&self) -> &[Expr]

source

pub fn inputs(&self) -> &[Ty]

source

pub fn output(&self) -> &Binder<FnOutput>

Trait Implementations§

source§

impl Clone for FnSig

source§

fn clone(&self) -> FnSig

Returns a 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 FnSig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FnSig

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FnSig

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FnSig

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 +) -> Self

source

pub fn requires(&self) -> &[Expr]

source

pub fn inputs(&self) -> &[Ty]

source

pub fn output(&self) -> &Binder<FnOutput>

Trait Implementations§

source§

impl Clone for FnSig

source§

fn clone(&self) -> FnSig

Returns a 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 FnSig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FnSig

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FnSig

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FnSig

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 for FnSig

source§

fn eq(&self, other: &FnSig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for FnSig

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for FnSig

§

type T = FnSig<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for FnSig

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for FnSig

source§

fn eq(&self, other: &FnSig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for FnSig

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for FnSig

§

type T = FnSig<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for FnSig

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -29,11 +29,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FnSig

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FnSig

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for FnSig

source§

impl StructuralPartialEq for FnSig

Auto Trait Implementations§

§

impl Freeze for FnSig

§

impl RefUnwindSafe for FnSig

§

impl Send for FnSig

§

impl Sync for FnSig

§

impl Unpin for FnSig

§

impl UnwindSafe for FnSig

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for FnSig

source§

impl StructuralPartialEq for FnSig

Auto Trait Implementations§

§

impl Freeze for FnSig

§

impl RefUnwindSafe for FnSig

§

impl Send for FnSig

§

impl Sync for FnSig

§

impl Unpin for FnSig

§

impl UnwindSafe for FnSig

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.FnTraitPredicate.html b/doc/flux_middle/rty/struct.FnTraitPredicate.html index 1fad076c6d..883073701e 100644 --- a/doc/flux_middle/rty/struct.FnTraitPredicate.html +++ b/doc/flux_middle/rty/struct.FnTraitPredicate.html @@ -1,17 +1,17 @@ -FnTraitPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::FnTraitPredicate

source ·
pub struct FnTraitPredicate {
+FnTraitPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::FnTraitPredicate

source ·
pub struct FnTraitPredicate {
     pub self_ty: Ty,
     pub tupled_args: Ty,
     pub output: Ty,
     pub kind: ClosureKind,
-}

Fields§

§self_ty: Ty§tupled_args: Ty§output: Ty§kind: ClosureKind

Implementations§

Fields§

§self_ty: Ty§tupled_args: Ty§output: Ty§kind: ClosureKind

Implementations§

source§

impl FnTraitPredicate

source

pub fn fndef_poly_sig(&self) -> PolyFnSig

source

pub fn to_poly_fn_sig( &self, closure_id: DefId, tys: List<Ty>, args: &GenericArgs, -) -> PolyFnSig

Trait Implementations§

source§

impl Clone for FnTraitPredicate

source§

fn clone(&self) -> FnTraitPredicate

Returns a 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 FnTraitPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FnTraitPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FnTraitPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FnTraitPredicate

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 +) -> PolyFnSig

Trait Implementations§

source§

impl Clone for FnTraitPredicate

source§

fn clone(&self) -> FnTraitPredicate

Returns a 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 FnTraitPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FnTraitPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FnTraitPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FnTraitPredicate

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 for FnTraitPredicate

source§

fn eq(&self, other: &FnTraitPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl TypeFoldable for FnTraitPredicate

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for FnTraitPredicate

source§

fn eq(&self, other: &FnTraitPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl TypeFoldable for FnTraitPredicate

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -27,11 +27,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FnTraitPredicate

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FnTraitPredicate

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for FnTraitPredicate

source§

impl StructuralPartialEq for FnTraitPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for FnTraitPredicate

source§

impl StructuralPartialEq for FnTraitPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.FuncSort.html b/doc/flux_middle/rty/struct.FuncSort.html index e70e4a042d..b28e5966b3 100644 --- a/doc/flux_middle/rty/struct.FuncSort.html +++ b/doc/flux_middle/rty/struct.FuncSort.html @@ -1,9 +1,9 @@ -FuncSort in flux_middle::rty - Rust

Struct flux_middle::rty::FuncSort

source ·
pub struct FuncSort {
+FuncSort in flux_middle::rty - Rust

Struct flux_middle::rty::FuncSort

source ·
pub struct FuncSort {
     pub inputs_and_output: List<Sort>,
-}

Fields§

§inputs_and_output: List<Sort>

Implementations§

source§

impl FuncSort

source

pub fn new(inputs: Vec<Sort>, output: Sort) -> Self

source

pub fn inputs(&self) -> &[Sort]

source

pub fn output(&self) -> &Sort

source

pub fn to_poly(&self) -> PolyFuncSort

Trait Implementations§

source§

impl Clone for FuncSort

source§

fn clone(&self) -> FuncSort

Returns a 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 FuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FuncSort

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FuncSort

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FuncSort

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 +}

Fields§

§inputs_and_output: List<Sort>

Implementations§

source§

impl FuncSort

source

pub fn new(inputs: Vec<Sort>, output: Sort) -> Self

source

pub fn inputs(&self) -> &[Sort]

source

pub fn output(&self) -> &Sort

source

pub fn to_poly(&self) -> PolyFuncSort

Trait Implementations§

source§

impl Clone for FuncSort

source§

fn clone(&self) -> FuncSort

Returns a 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 FuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for FuncSort

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for FuncSort

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for FuncSort

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 IntoDiagArg for FuncSort

source§

impl PartialEq for FuncSort

source§

fn eq(&self, other: &FuncSort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for FuncSort

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for FuncSort

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoDiagArg for FuncSort

source§

impl PartialEq for FuncSort

source§

fn eq(&self, other: &FuncSort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for FuncSort

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for FuncSort

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -19,11 +19,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FuncSort

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for FuncSort

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for FuncSort

source§

impl StructuralPartialEq for FuncSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for FuncSort

source§

impl StructuralPartialEq for FuncSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.GenericParamDef.html b/doc/flux_middle/rty/struct.GenericParamDef.html index 8a1d8079e8..c5d0f41743 100644 --- a/doc/flux_middle/rty/struct.GenericParamDef.html +++ b/doc/flux_middle/rty/struct.GenericParamDef.html @@ -1,12 +1,12 @@ -GenericParamDef in flux_middle::rty - Rust

Struct flux_middle::rty::GenericParamDef

source ·
pub struct GenericParamDef {
+GenericParamDef in flux_middle::rty - Rust

Struct flux_middle::rty::GenericParamDef

source ·
pub struct GenericParamDef {
     pub kind: GenericParamDefKind,
     pub def_id: DefId,
     pub index: u32,
     pub name: Symbol,
-}

Fields§

§kind: GenericParamDefKind§def_id: DefId§index: u32§name: Symbol

Trait Implementations§

source§

impl Clone for GenericParamDef

source§

fn clone(&self) -> GenericParamDef

Returns a 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 GenericParamDef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for GenericParamDef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for GenericParamDef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for GenericParamDef

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 +}

Fields§

§kind: GenericParamDefKind§def_id: DefId§index: u32§name: Symbol

Trait Implementations§

source§

impl Clone for GenericParamDef

source§

fn clone(&self) -> GenericParamDef

Returns a 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 GenericParamDef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for GenericParamDef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for GenericParamDef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for GenericParamDef

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 for GenericParamDef

source§

fn eq(&self, other: &GenericParamDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for GenericParamDef

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Eq for GenericParamDef

source§

impl StructuralPartialEq for GenericParamDef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for GenericParamDef

source§

fn eq(&self, other: &GenericParamDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for GenericParamDef

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Eq for GenericParamDef

source§

impl StructuralPartialEq for GenericParamDef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.GenericPredicates.html b/doc/flux_middle/rty/struct.GenericPredicates.html index 93ea137f23..5749cdecc4 100644 --- a/doc/flux_middle/rty/struct.GenericPredicates.html +++ b/doc/flux_middle/rty/struct.GenericPredicates.html @@ -1,7 +1,7 @@ -GenericPredicates in flux_middle::rty - Rust

Struct flux_middle::rty::GenericPredicates

source ·
pub struct GenericPredicates {
+GenericPredicates in flux_middle::rty - Rust

Struct flux_middle::rty::GenericPredicates

source ·
pub struct GenericPredicates {
     pub parent: Option<DefId>,
     pub predicates: List<Clause>,
-}

Fields§

§parent: Option<DefId>§predicates: List<Clause>

Trait Implementations§

source§

impl Clone for GenericPredicates

source§

fn clone(&self) -> GenericPredicates

Returns a 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 GenericPredicates

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for GenericPredicates

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for GenericPredicates

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§parent: Option<DefId>§predicates: List<Clause>

Trait Implementations§

source§

impl Clone for GenericPredicates

source§

fn clone(&self) -> GenericPredicates

Returns a 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 GenericPredicates

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for GenericPredicates

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for GenericPredicates

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Generics.html b/doc/flux_middle/rty/struct.Generics.html index 4fa5259c36..a57e73d816 100644 --- a/doc/flux_middle/rty/struct.Generics.html +++ b/doc/flux_middle/rty/struct.Generics.html @@ -1,16 +1,16 @@ -Generics in flux_middle::rty - Rust

Struct flux_middle::rty::Generics

source ·
pub struct Generics {
+Generics in flux_middle::rty - Rust

Struct flux_middle::rty::Generics

source ·
pub struct Generics {
     pub parent: Option<DefId>,
     pub parent_count: usize,
     pub own_params: List<GenericParamDef>,
     pub has_self: bool,
-}

Fields§

§parent: Option<DefId>§parent_count: usize§own_params: List<GenericParamDef>§has_self: bool

Implementations§

source§

impl Generics

source

pub fn count(&self) -> usize

source

pub fn own_default_count(&self) -> usize

source

pub fn param_at( +}

Fields§

§parent: Option<DefId>§parent_count: usize§own_params: List<GenericParamDef>§has_self: bool

Implementations§

source§

impl Generics

source

pub fn count(&self) -> usize

source

pub fn own_default_count(&self) -> usize

source

pub fn param_at( &self, param_index: usize, genv: GlobalEnv<'_, '_>, -) -> QueryResult<GenericParamDef>

source

pub fn const_params( +) -> QueryResult<GenericParamDef>

source

pub fn const_params( &self, genv: GlobalEnv<'_, '_>, -) -> QueryResult<Vec<(ParamConst, Sort)>>

Trait Implementations§

source§

impl Clone for Generics

source§

fn clone(&self) -> Generics

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Generics

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Default for Generics

source§

fn default() -> Generics

Returns the “default value” for a type. Read more
source§

impl<__E: SpanEncoder> Encodable<__E> for Generics

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> QueryResult<Vec<(ParamConst, Sort)>>

Trait Implementations§

source§

impl Clone for Generics

source§

fn clone(&self) -> Generics

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Generics

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl Default for Generics

source§

fn default() -> Generics

Returns the “default value” for a type. Read more
source§

impl<__E: SpanEncoder> Encodable<__E> for Generics

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Invariant.html b/doc/flux_middle/rty/struct.Invariant.html index 938edcd0ed..76dfcdff56 100644 --- a/doc/flux_middle/rty/struct.Invariant.html +++ b/doc/flux_middle/rty/struct.Invariant.html @@ -1,9 +1,9 @@ -Invariant in flux_middle::rty - Rust

Struct flux_middle::rty::Invariant

source ·
pub struct Invariant {
+Invariant in flux_middle::rty - Rust

Struct flux_middle::rty::Invariant

source ·
pub struct Invariant {
     pred: Binder<Expr>,
-}

Fields§

§pred: Binder<Expr>

Implementations§

source§

impl Invariant

source

pub fn new(pred: Binder<Expr>) -> Self

source

pub fn apply(&self, idx: &Expr) -> Expr

Trait Implementations§

source§

impl Clone for Invariant

source§

fn clone(&self) -> Invariant

Returns a 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 Invariant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Invariant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Invariant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Invariant

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 +}

Fields§

§pred: Binder<Expr>

Implementations§

source§

impl Invariant

source

pub fn new(pred: Binder<Expr>) -> Self

source

pub fn apply(&self, idx: &Expr) -> Expr

Trait Implementations§

source§

impl Clone for Invariant

source§

fn clone(&self) -> Invariant

Returns a 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 Invariant

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Invariant

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Invariant

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Invariant

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 for Invariant

source§

fn eq(&self, other: &Invariant) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for Invariant

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Invariant

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for Invariant

source§

fn eq(&self, other: &Invariant) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for Invariant

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for Invariant

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -19,11 +19,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Invariant

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Invariant

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Invariant

source§

impl StructuralPartialEq for Invariant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for Invariant

source§

impl StructuralPartialEq for Invariant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.KVar.html b/doc/flux_middle/rty/struct.KVar.html index 91ca7570bd..749c7abef6 100644 --- a/doc/flux_middle/rty/struct.KVar.html +++ b/doc/flux_middle/rty/struct.KVar.html @@ -9,10 +9,10 @@

Fields§

§kvid: KVid§self_args: usize

The number of arguments consider to be self arguments.

§args: List<Expr>

The list of all arguments with the self arguments at the beginning, i.e., the list of self arguments followed by the scope.

-

Implementations§

source§

impl KVar

source

pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

source

fn self_args(&self) -> &[Expr]

source

fn scope(&self) -> &[Expr]

Trait Implementations§

source§

impl Clone for KVar

source§

fn clone(&self) -> KVar

Returns a 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 KVar

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for KVar

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for KVar

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for KVar

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 +

Implementations§

source§

impl KVar

source

pub fn new(kvid: KVid, self_args: usize, args: Vec<Expr>) -> Self

source

fn self_args(&self) -> &[Expr]

source

fn scope(&self) -> &[Expr]

Trait Implementations§

source§

impl Clone for KVar

source§

fn clone(&self) -> KVar

Returns a 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 KVar

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for KVar

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for KVar

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for KVar

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 for KVar

source§

fn eq(&self, other: &KVar) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for KVar

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for KVar

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for KVar

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for KVar

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for KVar

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl TypeFoldable for KVar

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/struct.KVid.html b/doc/flux_middle/rty/struct.KVid.html index d6da513e0b..227b2ca04d 100644 --- a/doc/flux_middle/rty/struct.KVid.html +++ b/doc/flux_middle/rty/struct.KVid.html @@ -23,10 +23,10 @@

§Safety

Trait Implementations§

source§

impl Add<usize> for KVid

§

type Output = KVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for KVid

source§

fn clone(&self) -> KVid

Returns a 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 KVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for KVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for KVid

source§

fn encode(&self, e: &mut E)

source§

impl From<KVid> for u32

source§

fn from(v: KVid) -> u32

Converts to this type from the input type.
source§

impl From<KVid> for usize

source§

fn from(v: KVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for KVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for KVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for KVid

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 Idx for KVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for KVid

source§

fn eq(&self, other: &KVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl TypeFoldable for KVid

source§

fn try_fold_with<F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl TypeFoldable for KVid

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, _: &mut F, -) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( +) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, _: &mut F) -> Self

source§

fn normalize_projections<'tcx>( &self, genv: GlobalEnv<'_, 'tcx>, infcx: &InferCtxt<'tcx>, @@ -39,7 +39,7 @@

§Safety
to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.
source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for KVid

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for KVid

source§

fn visit_with<V: TypeVisitor>(&self, _: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Copy for KVid

source§

impl Eq for KVid

source§

impl StructuralPartialEq for KVid

Auto Trait Implementations§

§

impl Freeze for KVid

§

impl RefUnwindSafe for KVid

§

impl Send for KVid

§

impl Sync for KVid

§

impl Unpin for KVid

§

impl UnwindSafe for KVid

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_middle/rty/struct.Lambda.html b/doc/flux_middle/rty/struct.Lambda.html index 057a08084f..e0d330a09f 100644 --- a/doc/flux_middle/rty/struct.Lambda.html +++ b/doc/flux_middle/rty/struct.Lambda.html @@ -7,10 +7,10 @@ body: Expr, inputs: BoundVariableKinds, output: Sort, -) -> Self

source

pub fn bind_with_fsort(body: Expr, fsort: FuncSort) -> Self

source

pub fn apply(&self, args: &[Expr]) -> Expr

source

pub fn vars(&self) -> &BoundVariableKinds

source

pub fn output(&self) -> Sort

source

pub fn fsort(&self) -> FuncSort

Trait Implementations§

source§

impl Clone for Lambda

source§

fn clone(&self) -> Lambda

Returns a 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 Lambda

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Lambda

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Lambda

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Lambda

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 +) -> Self

source

pub fn bind_with_fsort(body: Expr, fsort: FuncSort) -> Self

source

pub fn apply(&self, args: &[Expr]) -> Expr

source

pub fn vars(&self) -> &BoundVariableKinds

source

pub fn output(&self) -> Sort

source

pub fn fsort(&self) -> FuncSort

Trait Implementations§

source§

impl Clone for Lambda

source§

fn clone(&self) -> Lambda

Returns a 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 Lambda

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Lambda

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Lambda

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Lambda

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 for Lambda

source§

fn eq(&self, other: &Lambda) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Lambda

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for Lambda

source§

fn try_fold_with<__F: FallibleTypeFolder>( +and should not be overridden without very good reason.

source§

impl Pretty for Lambda

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for Lambda

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( diff --git a/doc/flux_middle/rty/struct.LocalTableInContext.html b/doc/flux_middle/rty/struct.LocalTableInContext.html index a2c2b82b92..146703da8c 100644 --- a/doc/flux_middle/rty/struct.LocalTableInContext.html +++ b/doc/flux_middle/rty/struct.LocalTableInContext.html @@ -1,7 +1,7 @@ -LocalTableInContext in flux_middle::rty - Rust

Struct flux_middle::rty::LocalTableInContext

source ·
pub struct LocalTableInContext<'a, T> {
+LocalTableInContext in flux_middle::rty - Rust

Struct flux_middle::rty::LocalTableInContext

source ·
pub struct LocalTableInContext<'a, T> {
     owner: FluxOwnerId,
     data: &'a ItemLocalMap<T>,
-}

Fields§

§owner: FluxOwnerId§data: &'a ItemLocalMap<T>

Implementations§

source§

impl<'a, T> LocalTableInContext<'a, T>

source

pub fn get(&self, fhir_id: FhirId) -> Option<&'a T>

Trait Implementations§

source§

impl<'a, T: Debug> Debug for LocalTableInContext<'a, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for LocalTableInContext<'a, T>

§

impl<'a, T> RefUnwindSafe for LocalTableInContext<'a, T>
where +}

Fields§

§owner: FluxOwnerId§data: &'a ItemLocalMap<T>

Implementations§

source§

impl<'a, T> LocalTableInContext<'a, T>

source

pub fn get(&self, fhir_id: FhirId) -> Option<&'a T>

Trait Implementations§

source§

impl<'a, T: Debug> Debug for LocalTableInContext<'a, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T> Freeze for LocalTableInContext<'a, T>

§

impl<'a, T> RefUnwindSafe for LocalTableInContext<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for LocalTableInContext<'a, T>
where T: Sync,

§

impl<'a, T> Sync for LocalTableInContext<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for LocalTableInContext<'a, T>

§

impl<'a, T> UnwindSafe for LocalTableInContext<'a, T>
where diff --git a/doc/flux_middle/rty/struct.LocalTableInContextMut.html b/doc/flux_middle/rty/struct.LocalTableInContextMut.html index 5895b2de7d..290259fa34 100644 --- a/doc/flux_middle/rty/struct.LocalTableInContextMut.html +++ b/doc/flux_middle/rty/struct.LocalTableInContextMut.html @@ -1,7 +1,7 @@ -LocalTableInContextMut in flux_middle::rty - Rust

Struct flux_middle::rty::LocalTableInContextMut

source ·
pub struct LocalTableInContextMut<'a, T> {
+LocalTableInContextMut in flux_middle::rty - Rust

Struct flux_middle::rty::LocalTableInContextMut

source ·
pub struct LocalTableInContextMut<'a, T> {
     owner: FluxOwnerId,
     data: &'a mut ItemLocalMap<T>,
-}

Fields§

§owner: FluxOwnerId§data: &'a mut ItemLocalMap<T>

Implementations§

source§

impl<'a, T> LocalTableInContextMut<'a, T>

source

pub fn insert(&mut self, fhir_id: FhirId, value: T)

Auto Trait Implementations§

§

impl<'a, T> Freeze for LocalTableInContextMut<'a, T>

§

impl<'a, T> RefUnwindSafe for LocalTableInContextMut<'a, T>
where +}

Fields§

§owner: FluxOwnerId§data: &'a mut ItemLocalMap<T>

Implementations§

source§

impl<'a, T> LocalTableInContextMut<'a, T>

source

pub fn insert(&mut self, fhir_id: FhirId, value: T)

Auto Trait Implementations§

§

impl<'a, T> Freeze for LocalTableInContextMut<'a, T>

§

impl<'a, T> RefUnwindSafe for LocalTableInContextMut<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for LocalTableInContextMut<'a, T>
where T: Send,

§

impl<'a, T> Sync for LocalTableInContextMut<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for LocalTableInContextMut<'a, T>

§

impl<'a, T> !UnwindSafe for LocalTableInContextMut<'a, T>

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/flux_middle/rty/struct.Name.html b/doc/flux_middle/rty/struct.Name.html index 240fe6f8ae..041a4a067f 100644 --- a/doc/flux_middle/rty/struct.Name.html +++ b/doc/flux_middle/rty/struct.Name.html @@ -20,7 +20,7 @@
§Safety

source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for Name

§

type Output = Name

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for Name

source§

fn clone(&self) -> Name

Returns a 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 Name

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for Name

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for Name

source§

fn encode(&self, e: &mut E)

source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for u32

source§

fn from(v: Name) -> u32

Converts to this type from the input type.
source§

impl From<Name> for usize

source§

fn from(v: Name) -> usize

Converts to this type from the input type.
source§

impl From<u32> for Name

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Name

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Name

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 +

Trait Implementations§

source§

impl Add<usize> for Name

§

type Output = Name

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for Name

source§

fn clone(&self) -> Name

Returns a 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 Name

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for Name

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for Name

source§

fn encode(&self, e: &mut E)

source§

impl From<Name> for Expr

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for Loc

source§

fn from(name: Name) -> Self

Converts to this type from the input type.
source§

impl From<Name> for u32

source§

fn from(v: Name) -> u32

Converts to this type from the input type.
source§

impl From<Name> for usize

source§

fn from(v: Name) -> usize

Converts to this type from the input type.
source§

impl From<u32> for Name

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Name

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for Name

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 Idx for Name

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl Ord for Name

source§

fn cmp(&self, other: &Name) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where diff --git a/doc/flux_middle/rty/struct.NumVid.html b/doc/flux_middle/rty/struct.NumVid.html index 46148574d1..b1ba419a35 100644 --- a/doc/flux_middle/rty/struct.NumVid.html +++ b/doc/flux_middle/rty/struct.NumVid.html @@ -1,36 +1,36 @@ -NumVid in flux_middle::rty - Rust

Struct flux_middle::rty::NumVid

source ·
pub struct NumVid {
+NumVid in flux_middle::rty - Rust

Struct flux_middle::rty::NumVid

source ·
pub struct NumVid {
     private_use_as_methods_instead: u32,
 }
Expand description

A numeric vvariable id

-

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl NumVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const ZERO: Self = _

Zero value of the index.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

+

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl NumVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

+
source

pub const MAX: Self = _

Maximum value the index can take.

+
source

pub const ZERO: Self = _

Zero value of the index.

+
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

+
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

§Panics

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

§Safety

The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for NumVid

§

type Output = NumVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for NumVid

source§

fn clone(&self) -> NumVid

Returns a 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 NumVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for NumVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for NumVid

source§

fn encode(&self, e: &mut E)

source§

impl From<NumVid> for u32

source§

fn from(v: NumVid) -> u32

Converts to this type from the input type.
source§

impl From<NumVid> for usize

source§

fn from(v: NumVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for NumVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for NumVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for NumVid

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 +

source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

+
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

+
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

+

Trait Implementations§

source§

impl Add<usize> for NumVid

§

type Output = NumVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for NumVid

source§

fn clone(&self) -> NumVid

Returns a 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 NumVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for NumVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for NumVid

source§

fn encode(&self, e: &mut E)

source§

impl From<NumVid> for u32

source§

fn from(v: NumVid) -> u32

Converts to this type from the input type.
source§

impl From<NumVid> for usize

source§

fn from(v: NumVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for NumVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for NumVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for NumVid

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 Idx for NumVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for NumVid

source§

fn eq(&self, other: &NumVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl UnifyKey for NumVid

§

type Value = Option<NumVarValue>

source§

fn index(&self) -> u32

source§

fn from_index(u: u32) -> Self

source§

fn tag() -> &'static str

§

fn order_roots( + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for NumVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for NumVid

source§

fn eq(&self, other: &NumVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl UnifyKey for NumVid

§

type Value = Option<NumVarValue>

source§

fn index(&self) -> u32

source§

fn from_index(u: u32) -> Self

source§

fn tag() -> &'static str

§

fn order_roots( a: Self, a_value: &Self::Value, b: Self, b_value: &Self::Value, ) -> Option<(Self, Self)>

You should return first the key that should be used as root, -then the other key (that will then point to the new root). Read more
source§

impl Copy for NumVid

source§

impl Eq for NumVid

source§

impl StructuralPartialEq for NumVid

Auto Trait Implementations§

§

impl Freeze for NumVid

§

impl RefUnwindSafe for NumVid

§

impl Send for NumVid

§

impl Sync for NumVid

§

impl Unpin for NumVid

§

impl UnwindSafe for NumVid

Blanket Implementations§

source§

impl<T> Any for T
where +then the other key (that will then point to the new root). Read more

source§

impl Copy for NumVid

source§

impl Eq for NumVid

source§

impl StructuralPartialEq for NumVid

Auto Trait Implementations§

§

impl Freeze for NumVid

§

impl RefUnwindSafe for NumVid

§

impl Send for NumVid

§

impl Sync for NumVid

§

impl Unpin for NumVid

§

impl UnwindSafe for NumVid

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.ParamSort.html b/doc/flux_middle/rty/struct.ParamSort.html index d312a18dc0..e71b22e2c7 100644 --- a/doc/flux_middle/rty/struct.ParamSort.html +++ b/doc/flux_middle/rty/struct.ParamSort.html @@ -1,32 +1,32 @@ -ParamSort in flux_middle::rty - Rust

Struct flux_middle::rty::ParamSort

source ·
pub struct ParamSort {
+ParamSort in flux_middle::rty - Rust

Struct flux_middle::rty::ParamSort

source ·
pub struct ParamSort {
     private_use_as_methods_instead: u32,
 }
Expand description

ParamSort is used for polymorphic sorts (Set, Map etc.) and bit-vector size parameters. -They should occur “bound” under a PolyFuncSort; i.e. should be < than the number of params -in the PolyFuncSort.

-

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl ParamSort

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const ZERO: Self = _

Zero value of the index.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

+They should occur “bound” under a PolyFuncSort or an AdtSortDef; i.e. should be < +than the number of params.

+

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl ParamSort

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

+
source

pub const MAX: Self = _

Maximum value the index can take.

+
source

pub const ZERO: Self = _

Zero value of the index.

+
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

+
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

§Panics

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

§Safety

The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for ParamSort

§

type Output = ParamSort

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for ParamSort

source§

fn clone(&self) -> ParamSort

Returns a 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 ParamSort

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for ParamSort

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for ParamSort

source§

fn encode(&self, e: &mut E)

source§

impl From<ParamSort> for u32

source§

fn from(v: ParamSort) -> u32

Converts to this type from the input type.
source§

impl From<ParamSort> for usize

source§

fn from(v: ParamSort) -> usize

Converts to this type from the input type.
source§

impl From<u32> for ParamSort

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for ParamSort

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for ParamSort

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 +

source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

+
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

+
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

+

Trait Implementations§

source§

impl Add<usize> for ParamSort

§

type Output = ParamSort

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for ParamSort

source§

fn clone(&self) -> ParamSort

Returns a 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 ParamSort

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for ParamSort

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for ParamSort

source§

fn encode(&self, e: &mut E)

source§

impl From<ParamSort> for u32

source§

fn from(v: ParamSort) -> u32

Converts to this type from the input type.
source§

impl From<ParamSort> for usize

source§

fn from(v: ParamSort) -> usize

Converts to this type from the input type.
source§

impl From<u32> for ParamSort

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for ParamSort

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for ParamSort

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 Idx for ParamSort

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for ParamSort

source§

fn eq(&self, other: &ParamSort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Copy for ParamSort

source§

impl Eq for ParamSort

source§

impl StructuralPartialEq for ParamSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for ParamSort

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for ParamSort

source§

fn eq(&self, other: &ParamSort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Copy for ParamSort

source§

impl Eq for ParamSort

source§

impl StructuralPartialEq for ParamSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Path.html b/doc/flux_middle/rty/struct.Path.html index 4b667de4be..01cabcbba8 100644 --- a/doc/flux_middle/rty/struct.Path.html +++ b/doc/flux_middle/rty/struct.Path.html @@ -1,7 +1,7 @@ Path in flux_middle::rty - Rust

Struct flux_middle::rty::Path

source ·
pub struct Path {
     pub loc: Loc,
     projection: List<FieldIdx>,
-}

Fields§

§loc: Loc§projection: List<FieldIdx>

Implementations§

source§

impl Path

source

pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

source

pub fn projection(&self) -> &[FieldIdx]

source

pub fn to_expr(&self) -> Expr

source

pub fn to_loc(&self) -> Option<Loc>

Trait Implementations§

source§

impl Clone for Path

source§

fn clone(&self) -> Path

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Path

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Path

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl Hash for Path

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 +}

Fields§

§loc: Loc§projection: List<FieldIdx>

Implementations§

source§

impl Path

source

pub fn new(loc: Loc, projection: impl Into<List<FieldIdx>>) -> Path

source

pub fn projection(&self) -> &[FieldIdx]

source

pub fn to_expr(&self) -> Expr

source

pub fn to_loc(&self) -> Option<Loc>

Trait Implementations§

source§

impl Clone for Path

source§

fn clone(&self) -> Path

Returns a 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, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Path

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Path

source§

fn encode(&self, __encoder: &mut __E)

source§

impl From<Loc> for Path

source§

fn from(loc: Loc) -> Self

Converts to this type from the input type.
source§

impl From<Path> for Expr

source§

fn from(path: Path) -> Self

Converts to this type from the input type.
source§

impl Hash for Path

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 Path

source§

fn cmp(&self, other: &Path) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -10,7 +10,7 @@ and should not be overridden without very good reason.

source§

impl PartialOrd for Path

source§

fn partial_cmp(&self, other: &Path) -> 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

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

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

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

Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
source§

impl Pretty for Path

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Eq for Path

source§

impl StructuralPartialEq for Path

Auto Trait Implementations§

§

impl Freeze for Path

§

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 T
where +the >= operator. Read more

source§

impl Pretty for Path

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl Eq for Path

source§

impl StructuralPartialEq for Path

Auto Trait Implementations§

§

impl Freeze for Path

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.PolyFuncSort.html b/doc/flux_middle/rty/struct.PolyFuncSort.html index 0fede6d81b..551971e4ca 100644 --- a/doc/flux_middle/rty/struct.PolyFuncSort.html +++ b/doc/flux_middle/rty/struct.PolyFuncSort.html @@ -1,4 +1,4 @@ -PolyFuncSort in flux_middle::rty - Rust

Struct flux_middle::rty::PolyFuncSort

source ·
pub struct PolyFuncSort {
+PolyFuncSort in flux_middle::rty - Rust

Struct flux_middle::rty::PolyFuncSort

source ·
pub struct PolyFuncSort {
     params: List<SortParamKind>,
     fsort: FuncSort,
 }
Expand description

A polymorphic function sort parametric over sorts or bit-vector sizes.

@@ -7,10 +7,10 @@ we should be fine. Right now, we can guarantee this, because size parameters are not exposed in the surface syntax and they are only used for predefined (interpreted) theory functions.

Fields§

§params: List<SortParamKind>

The list of parameters including sorts and bit vector sizes

-
§fsort: FuncSort

Implementations§

source§

impl PolyFuncSort

source

pub fn new(params: List<SortParamKind>, fsort: FuncSort) -> Self

source

pub fn skip_binders(&self) -> FuncSort

source

pub fn instantiate_identity(&self) -> FuncSort

source

pub fn expect_mono(&self) -> FuncSort

source

pub fn params(&self) -> impl ExactSizeIterator<Item = SortParamKind> + '_

source

pub fn instantiate(&self, args: &[SortArg]) -> FuncSort

Trait Implementations§

source§

impl Clone for PolyFuncSort

source§

fn clone(&self) -> PolyFuncSort

Returns a 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 PolyFuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for PolyFuncSort

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 +
§fsort: FuncSort

Implementations§

source§

impl PolyFuncSort

source

pub fn new(params: List<SortParamKind>, fsort: FuncSort) -> Self

source

pub fn skip_binders(&self) -> FuncSort

source

pub fn instantiate_identity(&self) -> FuncSort

source

pub fn expect_mono(&self) -> FuncSort

source

pub fn params(&self) -> impl ExactSizeIterator<Item = SortParamKind> + '_

source

pub fn instantiate(&self, args: &[SortArg]) -> FuncSort

Trait Implementations§

source§

impl Clone for PolyFuncSort

source§

fn clone(&self) -> PolyFuncSort

Returns a 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 PolyFuncSort

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for PolyFuncSort

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for PolyFuncSort

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for PolyFuncSort

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 for PolyFuncSort

source§

fn eq(&self, other: &PolyFuncSort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for PolyFuncSort

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for PolyFuncSort

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for PolyFuncSort

source§

fn eq(&self, other: &PolyFuncSort) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for PolyFuncSort

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for PolyFuncSort

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -26,8 +26,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for PolyFuncSort

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for PolyFuncSort

source§

impl StructuralPartialEq for PolyFuncSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for PolyFuncSort

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for PolyFuncSort

source§

impl StructuralPartialEq for PolyFuncSort

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.ProjectionPredicate.html b/doc/flux_middle/rty/struct.ProjectionPredicate.html index 6fba87d2e7..13686ad8a8 100644 --- a/doc/flux_middle/rty/struct.ProjectionPredicate.html +++ b/doc/flux_middle/rty/struct.ProjectionPredicate.html @@ -1,10 +1,10 @@ -ProjectionPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::ProjectionPredicate

source ·
pub struct ProjectionPredicate {
+ProjectionPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::ProjectionPredicate

source ·
pub struct ProjectionPredicate {
     pub projection_ty: AliasTy,
     pub term: Ty,
-}

Fields§

§projection_ty: AliasTy§term: Ty

Trait Implementations§

source§

impl Clone for ProjectionPredicate

source§

fn clone(&self) -> ProjectionPredicate

Returns a 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 ProjectionPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for ProjectionPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ProjectionPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ProjectionPredicate

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 +}

Fields§

§projection_ty: AliasTy§term: Ty

Trait Implementations§

source§

impl Clone for ProjectionPredicate

source§

fn clone(&self) -> ProjectionPredicate

Returns a 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 ProjectionPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for ProjectionPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for ProjectionPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for ProjectionPredicate

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 for ProjectionPredicate

source§

fn eq(&self, other: &ProjectionPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl TypeFoldable for ProjectionPredicate

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ProjectionPredicate

source§

fn eq(&self, other: &ProjectionPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl TypeFoldable for ProjectionPredicate

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -20,11 +20,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ProjectionPredicate

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for ProjectionPredicate

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for ProjectionPredicate

source§

impl StructuralPartialEq for ProjectionPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for ProjectionPredicate

source§

impl StructuralPartialEq for ProjectionPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Qualifier.html b/doc/flux_middle/rty/struct.Qualifier.html index 5343f2eeff..c8b12df22a 100644 --- a/doc/flux_middle/rty/struct.Qualifier.html +++ b/doc/flux_middle/rty/struct.Qualifier.html @@ -1,8 +1,8 @@ -Qualifier in flux_middle::rty - Rust

Struct flux_middle::rty::Qualifier

source ·
pub struct Qualifier {
+Qualifier in flux_middle::rty - Rust

Struct flux_middle::rty::Qualifier

source ·
pub struct Qualifier {
     pub name: Symbol,
     pub body: Binder<Expr>,
     pub global: bool,
-}

Fields§

§name: Symbol§body: Binder<Expr>§global: bool

Trait Implementations§

source§

impl Debug for Qualifier

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl TypeFoldable for Qualifier

Fields§

§name: Symbol§body: Binder<Expr>§global: bool

Trait Implementations§

source§

impl Debug for Qualifier

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl TypeFoldable for Qualifier

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -18,7 +18,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Qualifier

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for Qualifier

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. diff --git a/doc/flux_middle/rty/struct.Real.html b/doc/flux_middle/rty/struct.Real.html index a4898670d3..0602e36861 100644 --- a/doc/flux_middle/rty/struct.Real.html +++ b/doc/flux_middle/rty/struct.Real.html @@ -1,7 +1,7 @@ -Real in flux_middle::rty - Rust

Struct flux_middle::rty::Real

source ·
pub struct Real(pub i128);

Tuple Fields§

§0: i128

Trait Implementations§

source§

impl Clone for Real

source§

fn clone(&self) -> Real

Returns a 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 Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Real

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Real

source§

fn encode(&self, __encoder: &mut __E)

source§

impl FixpointFmt for Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

source§

fn display(&self) -> DisplayAdapter<&Self>

Returns a type that implements Display using the FixpointFmt::fmt implementation.
source§

impl Hash for Real

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 +Real in flux_middle::rty - Rust

Struct flux_middle::rty::Real

source ·
pub struct Real(pub i128);

Tuple Fields§

§0: i128

Trait Implementations§

source§

impl Clone for Real

source§

fn clone(&self) -> Real

Returns a 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 Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: SpanDecoder> Decodable<__D> for Real

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: SpanEncoder> Encodable<__E> for Real

source§

fn encode(&self, __encoder: &mut __E)

source§

impl FixpointFmt for Real

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

source§

fn display(&self) -> DisplayAdapter<&Self>

Returns a type that implements Display using the FixpointFmt::fmt implementation.
source§

impl Hash for Real

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 for Real

source§

fn eq(&self, other: &Real) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Copy for Real

source§

impl Eq for Real

source§

impl StructuralPartialEq for Real

Auto Trait Implementations§

§

impl Freeze for Real

§

impl RefUnwindSafe for Real

§

impl Send for Real

§

impl Sync for Real

§

impl Unpin for Real

§

impl UnwindSafe for Real

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for Real

source§

fn eq(&self, other: &Real) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Copy for Real

source§

impl Eq for Real

source§

impl StructuralPartialEq for Real

Auto Trait Implementations§

§

impl Freeze for Real

§

impl RefUnwindSafe for Real

§

impl Send for Real

§

impl Sync for Real

§

impl Unpin for Real

§

impl UnwindSafe for Real

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.RefineParam.html b/doc/flux_middle/rty/struct.RefineParam.html index 7a64640acc..0efe148359 100644 --- a/doc/flux_middle/rty/struct.RefineParam.html +++ b/doc/flux_middle/rty/struct.RefineParam.html @@ -1,11 +1,11 @@ -RefineParam in flux_middle::rty - Rust

Struct flux_middle::rty::RefineParam

source ·
pub struct RefineParam {
+RefineParam in flux_middle::rty - Rust

Struct flux_middle::rty::RefineParam

source ·
pub struct RefineParam {
     pub sort: Sort,
     pub name: Symbol,
     pub mode: InferMode,
-}

Fields§

§sort: Sort§name: Symbol§mode: InferMode

Trait Implementations§

source§

impl Clone for RefineParam

source§

fn clone(&self) -> RefineParam

Returns a 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 RefineParam

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for RefineParam

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for RefineParam

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for RefineParam

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 +}

Fields§

§sort: Sort§name: Symbol§mode: InferMode

Trait Implementations§

source§

impl Clone for RefineParam

source§

fn clone(&self) -> RefineParam

Returns a 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 RefineParam

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for RefineParam

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for RefineParam

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for RefineParam

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 for RefineParam

source§

fn eq(&self, other: &RefineParam) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for RefineParam

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Eq for RefineParam

source§

impl StructuralPartialEq for RefineParam

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for RefineParam

source§

fn eq(&self, other: &RefineParam) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for RefineParam

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl Eq for RefineParam

source§

impl StructuralPartialEq for RefineParam

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.RefinementGenerics.html b/doc/flux_middle/rty/struct.RefinementGenerics.html index da53ac825c..d180af844e 100644 --- a/doc/flux_middle/rty/struct.RefinementGenerics.html +++ b/doc/flux_middle/rty/struct.RefinementGenerics.html @@ -1,18 +1,18 @@ -RefinementGenerics in flux_middle::rty - Rust

Struct flux_middle::rty::RefinementGenerics

source ·
pub struct RefinementGenerics {
+RefinementGenerics in flux_middle::rty - Rust

Struct flux_middle::rty::RefinementGenerics

source ·
pub struct RefinementGenerics {
     pub parent: Option<DefId>,
     pub parent_count: usize,
     pub params: List<RefineParam>,
-}

Fields§

§parent: Option<DefId>§parent_count: usize§params: List<RefineParam>

Implementations§

Fields§

§parent: Option<DefId>§parent_count: usize§params: List<RefineParam>

Implementations§

source§

impl RefinementGenerics

source

pub fn count(&self) -> usize

source

pub fn param_at( &self, param_index: usize, genv: GlobalEnv<'_, '_>, -) -> QueryResult<RefineParam>

source

pub fn collect_all_params<T, S>( +) -> QueryResult<RefineParam>

source

pub fn collect_all_params<T, S>( &self, genv: GlobalEnv<'_, '_>, f: impl FnMut(RefineParam) -> T, ) -> QueryResult<S>
where S: FromIterator<T>,

Iterate and collect all parameters in this item including parents

-

Trait Implementations§

source§

impl Clone for RefinementGenerics

source§

fn clone(&self) -> RefinementGenerics

Returns a 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 RefinementGenerics

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for RefinementGenerics

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for RefinementGenerics

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for RefinementGenerics

source§

fn clone(&self) -> RefinementGenerics

Returns a 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 RefinementGenerics

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for RefinementGenerics

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for RefinementGenerics

source§

fn encode(&self, __encoder: &mut __E)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.SortVid.html b/doc/flux_middle/rty/struct.SortVid.html index 63d4f41172..78c0ce2ee7 100644 --- a/doc/flux_middle/rty/struct.SortVid.html +++ b/doc/flux_middle/rty/struct.SortVid.html @@ -1,36 +1,36 @@ -SortVid in flux_middle::rty - Rust

Struct flux_middle::rty::SortVid

source ·
pub struct SortVid {
+SortVid in flux_middle::rty - Rust

Struct flux_middle::rty::SortVid

source ·
pub struct SortVid {
     private_use_as_methods_instead: u32,
 }
Expand description

A sort vvariable id

-

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl SortVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

-
source

pub const MAX: Self = _

Maximum value the index can take.

-
source

pub const ZERO: Self = _

Zero value of the index.

-
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

+

Fields§

§private_use_as_methods_instead: u32

Implementations§

source§

impl SortVid

source

pub const MAX_AS_U32: u32 = 4_294_967_040u32

Maximum value the index can take, as a u32.

+
source

pub const MAX: Self = _

Maximum value the index can take.

+
source

pub const ZERO: Self = _

Zero value of the index.

+
source

pub const fn from_usize(value: usize) -> Self

Creates a new index from a given usize.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const fn from_u32(value: u32) -> Self

Creates a new index from a given u32.

§Panics

Will panic if value exceeds MAX.

-
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

+
source

pub const fn from_u16(value: u16) -> Self

Creates a new index from a given u16.

§Panics

Will panic if value exceeds MAX.

-
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

+
source

pub const unsafe fn from_u32_unchecked(value: u32) -> Self

Creates a new index from a given u32.

§Safety

The provided value must be less than or equal to the maximum value for the newtype. Providing a value outside this range is undefined due to layout restrictions.

Prefer using from_u32.

-
source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

-
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

-
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

-

Trait Implementations§

source§

impl Add<usize> for SortVid

§

type Output = SortVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for SortVid

source§

fn clone(&self) -> SortVid

Returns a 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 SortVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for SortVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for SortVid

source§

fn encode(&self, e: &mut E)

source§

impl From<SortVid> for u32

source§

fn from(v: SortVid) -> u32

Converts to this type from the input type.
source§

impl From<SortVid> for usize

source§

fn from(v: SortVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for SortVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for SortVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for SortVid

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 +

source

pub const fn index(self) -> usize

Extracts the value of this index as a usize.

+
source

pub const fn as_u32(self) -> u32

Extracts the value of this index as a u32.

+
source

pub const fn as_usize(self) -> usize

Extracts the value of this index as a usize.

+

Trait Implementations§

source§

impl Add<usize> for SortVid

§

type Output = SortVid

The resulting type after applying the + operator.
source§

fn add(self, other: usize) -> Self

Performs the + operation. Read more
source§

impl Clone for SortVid

source§

fn clone(&self) -> SortVid

Returns a 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 SortVid

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D: Decoder> Decodable<D> for SortVid

source§

fn decode(d: &mut D) -> Self

source§

impl<E: Encoder> Encodable<E> for SortVid

source§

fn encode(&self, e: &mut E)

source§

impl From<SortVid> for u32

source§

fn from(v: SortVid) -> u32

Converts to this type from the input type.
source§

impl From<SortVid> for usize

source§

fn from(v: SortVid) -> usize

Converts to this type from the input type.
source§

impl From<u32> for SortVid

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl From<usize> for SortVid

source§

fn from(value: usize) -> Self

Converts to this type from the input type.
source§

impl Hash for SortVid

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 Idx for SortVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for SortVid

source§

fn eq(&self, other: &SortVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl UnifyKey for SortVid

§

type Value = Option<Sort>

source§

fn index(&self) -> u32

source§

fn from_index(u: u32) -> Self

source§

fn tag() -> &'static str

§

fn order_roots( + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Idx for SortVid

source§

fn new(value: usize) -> Self

source§

fn index(self) -> usize

§

fn increment_by(&mut self, amount: usize)

§

fn plus(self, amount: usize) -> Self

source§

impl PartialEq for SortVid

source§

fn eq(&self, other: &SortVid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl UnifyKey for SortVid

§

type Value = Option<Sort>

source§

fn index(&self) -> u32

source§

fn from_index(u: u32) -> Self

source§

fn tag() -> &'static str

§

fn order_roots( a: Self, a_value: &Self::Value, b: Self, b_value: &Self::Value, ) -> Option<(Self, Self)>

You should return first the key that should be used as root, -then the other key (that will then point to the new root). Read more
source§

impl Copy for SortVid

source§

impl Eq for SortVid

source§

impl StructuralPartialEq for SortVid

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +then the other key (that will then point to the new root). Read more

source§

impl Copy for SortVid

source§

impl Eq for SortVid

source§

impl StructuralPartialEq for SortVid

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.SpecFunc.html b/doc/flux_middle/rty/struct.SpecFunc.html index 4c26b0b6d9..33e11bd04a 100644 --- a/doc/flux_middle/rty/struct.SpecFunc.html +++ b/doc/flux_middle/rty/struct.SpecFunc.html @@ -1,4 +1,4 @@ -SpecFunc in flux_middle::rty - Rust

Struct flux_middle::rty::SpecFunc

source ·
pub struct SpecFunc {
+SpecFunc in flux_middle::rty - Rust

Struct flux_middle::rty::SpecFunc

source ·
pub struct SpecFunc {
     pub name: Symbol,
     pub expr: Binder<Expr>,
 }

Fields§

§name: Symbol§expr: Binder<Expr>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/flux_middle/rty/struct.SpecFuncDecl.html b/doc/flux_middle/rty/struct.SpecFuncDecl.html index c6f61c4165..8bc0e2ef2e 100644 --- a/doc/flux_middle/rty/struct.SpecFuncDecl.html +++ b/doc/flux_middle/rty/struct.SpecFuncDecl.html @@ -1,8 +1,8 @@ -SpecFuncDecl in flux_middle::rty - Rust

Struct flux_middle::rty::SpecFuncDecl

source ·
pub struct SpecFuncDecl {
+SpecFuncDecl in flux_middle::rty - Rust

Struct flux_middle::rty::SpecFuncDecl

source ·
pub struct SpecFuncDecl {
     pub name: Symbol,
     pub sort: PolyFuncSort,
     pub kind: SpecFuncKind,
-}

Fields§

§name: Symbol§sort: PolyFuncSort§kind: SpecFuncKind

Trait Implementations§

source§

impl Clone for SpecFuncDecl

source§

fn clone(&self) -> SpecFuncDecl

Returns a 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 SpecFuncDecl

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§name: Symbol§sort: PolyFuncSort§kind: SpecFuncKind

Trait Implementations§

source§

impl Clone for SpecFuncDecl

source§

fn clone(&self) -> SpecFuncDecl

Returns a 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 SpecFuncDecl

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.SubsetTy.html b/doc/flux_middle/rty/struct.SubsetTy.html index 096f18edb8..51d2d40a92 100644 --- a/doc/flux_middle/rty/struct.SubsetTy.html +++ b/doc/flux_middle/rty/struct.SubsetTy.html @@ -1,4 +1,4 @@ -SubsetTy in flux_middle::rty - Rust

Struct flux_middle::rty::SubsetTy

source ·
pub struct SubsetTy {
+SubsetTy in flux_middle::rty - Rust

Struct flux_middle::rty::SubsetTy

source ·
pub struct SubsetTy {
     pub bty: BaseTy,
     pub idx: Expr,
     pub pred: Expr,
@@ -51,10 +51,10 @@
 which makes manipulation easier. However, since this is mostly found under a binder, we expect
 it to be Expr::nu().

§pred: Expr

The predicate p in the subset type {b[e] | p}.

-

Implementations§

source§

impl SubsetTy

source

pub fn new(bty: BaseTy, idx: impl Into<Expr>, pred: impl Into<Expr>) -> Self

source

pub fn trivial(bty: BaseTy, idx: impl Into<Expr>) -> Self

source

pub fn strengthen(&self, pred: impl Into<Expr>) -> Self

source

fn to_ty(&self) -> Ty

Trait Implementations§

source§

impl Clone for SubsetTy

source§

fn clone(&self) -> SubsetTy

Returns a 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 SubsetTy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SubsetTy

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SubsetTy

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SubsetTy

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 +

Implementations§

source§

impl SubsetTy

source

pub fn new(bty: BaseTy, idx: impl Into<Expr>, pred: impl Into<Expr>) -> Self

source

pub fn trivial(bty: BaseTy, idx: impl Into<Expr>) -> Self

source

pub fn strengthen(&self, pred: impl Into<Expr>) -> Self

source

fn to_ty(&self) -> Ty

Trait Implementations§

source§

impl Clone for SubsetTy

source§

fn clone(&self) -> SubsetTy

Returns a 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 SubsetTy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for SubsetTy

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for SubsetTy

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for SubsetTy

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 for SubsetTy

source§

fn eq(&self, other: &SubsetTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for SubsetTy

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for SubsetTy

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Ty<'tcx>

source§

impl TypeFoldable for SubsetTy

Feeds a slice of this type into the given Hasher. Read more

source§

impl PartialEq for SubsetTy

source§

fn eq(&self, other: &SubsetTy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for SubsetTy

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<'tcx> ToRustc<'tcx> for SubsetTy

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Ty<'tcx>

source§

impl TypeFoldable for SubsetTy

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -70,11 +70,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for SubsetTy

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for SubsetTy

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeVisitable for SubsetTy

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for SubsetTy

source§

impl StructuralPartialEq for SubsetTy

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeVisitable for SubsetTy

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for SubsetTy

source§

impl StructuralPartialEq for SubsetTy

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.TraitPredicate.html b/doc/flux_middle/rty/struct.TraitPredicate.html index fa088143ab..322e6372a1 100644 --- a/doc/flux_middle/rty/struct.TraitPredicate.html +++ b/doc/flux_middle/rty/struct.TraitPredicate.html @@ -1,9 +1,9 @@ -TraitPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::TraitPredicate

source ·
pub struct TraitPredicate {
+TraitPredicate in flux_middle::rty - Rust

Struct flux_middle::rty::TraitPredicate

source ·
pub struct TraitPredicate {
     pub trait_ref: TraitRef,
-}

Fields§

§trait_ref: TraitRef

Trait Implementations§

source§

impl Clone for TraitPredicate

source§

fn clone(&self) -> TraitPredicate

Returns a 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 TraitPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for TraitPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for TraitPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for TraitPredicate

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 +}

Fields§

§trait_ref: TraitRef

Trait Implementations§

source§

impl Clone for TraitPredicate

source§

fn clone(&self) -> TraitPredicate

Returns a 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 TraitPredicate

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for TraitPredicate

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for TraitPredicate

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for TraitPredicate

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 for TraitPredicate

source§

fn eq(&self, other: &TraitPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl TypeFoldable for TraitPredicate

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for TraitPredicate

source§

fn eq(&self, other: &TraitPredicate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl TypeFoldable for TraitPredicate

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -19,11 +19,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for TraitPredicate

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for TraitPredicate

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for TraitPredicate

source§

impl StructuralPartialEq for TraitPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for TraitPredicate

source§

impl StructuralPartialEq for TraitPredicate

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.TraitRef.html b/doc/flux_middle/rty/struct.TraitRef.html index cc38627dcf..b79677ebac 100644 --- a/doc/flux_middle/rty/struct.TraitRef.html +++ b/doc/flux_middle/rty/struct.TraitRef.html @@ -1,10 +1,10 @@ -TraitRef in flux_middle::rty - Rust

Struct flux_middle::rty::TraitRef

source ·
pub struct TraitRef {
+TraitRef in flux_middle::rty - Rust

Struct flux_middle::rty::TraitRef

source ·
pub struct TraitRef {
     pub def_id: DefId,
     pub args: GenericArgs,
-}

Fields§

§def_id: DefId§args: GenericArgs

Trait Implementations§

source§

impl Clone for TraitRef

source§

fn clone(&self) -> TraitRef

Returns a 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 TraitRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for TraitRef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for TraitRef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for TraitRef

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 +}

Fields§

§def_id: DefId§args: GenericArgs

Trait Implementations§

source§

impl Clone for TraitRef

source§

fn clone(&self) -> TraitRef

Returns a 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 TraitRef

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for TraitRef

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for TraitRef

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for TraitRef

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 for TraitRef

source§

fn eq(&self, other: &TraitRef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl SliceInternable for TraitRef

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx> ToRustc<'tcx> for TraitRef

§

type T = TraitRef<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for TraitRef

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for TraitRef

source§

fn eq(&self, other: &TraitRef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl SliceInternable for TraitRef

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx> ToRustc<'tcx> for TraitRef

§

type T = TraitRef<TyCtxt<'tcx>>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for TraitRef

source§

fn try_fold_with<__F: FallibleTypeFolder>( &self, __folder: &mut __F, ) -> Result<Self, __F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -20,11 +20,11 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for TraitRef

source§

fn visit_with<__V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for TraitRef

source§

fn visit_with<__V: TypeVisitor>( &self, __visitor: &mut __V, ) -> ControlFlow<__V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for TraitRef

source§

impl StructuralPartialEq for TraitRef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +For example, Vec<i32[n]>{v : v > m} returns {n, m}.

source§

impl Eq for TraitRef

source§

impl StructuralPartialEq for TraitRef

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.Ty.html b/doc/flux_middle/rty/struct.Ty.html index d805fdabdc..c23de1385f 100644 --- a/doc/flux_middle/rty/struct.Ty.html +++ b/doc/flux_middle/rty/struct.Ty.html @@ -1,36 +1,36 @@ -Ty in flux_middle::rty - Rust

Struct flux_middle::rty::Ty

source ·
pub struct Ty(Interned<TyKind>);

Tuple Fields§

§0: Interned<TyKind>

Implementations§

source§

impl Ty

source

pub fn shallow_canonicalize(&self) -> CanonicalTy

Hoist existentials and predicates inside the type stopping when encountering the first +Ty in flux_middle::rty - Rust

Struct flux_middle::rty::Ty

source ·
pub struct Ty(Interned<TyKind>);

Tuple Fields§

§0: Interned<TyKind>

Implementations§

source§

impl Ty

source

pub fn shallow_canonicalize(&self) -> CanonicalTy

Hoist existentials and predicates inside the type stopping when encountering the first type constructor.

-
source§

impl Ty

source

pub fn kind(&self) -> &TyKind

source

pub fn trait_object_dummy_self() -> Ty

Dummy type used for the Self of a TraitRef created when converting a trait object, and +

source§

impl Ty

source

pub fn kind(&self) -> &TyKind

source

pub fn trait_object_dummy_self() -> Ty

Dummy type used for the Self of a TraitRef created when converting a trait object, and which gets removed in ExistentialTraitRef. This type must not appear anywhere in other converted types and must be a valid rustc type (i.e., we must be able to call to_rustc on it). TyKind::Infer(TyVid(0)) does the job, with the caveat that we must skip 0 when generating TyKind::Infer for “type holes”.

-
source

pub fn alias(kind: AliasKind, alias_ty: AliasTy) -> Ty

source

pub fn opaque( +

source

pub fn alias(kind: AliasKind, alias_ty: AliasTy) -> Ty

source

pub fn opaque( def_id: impl Into<DefId>, args: GenericArgs, refine_args: RefineArgs, -) -> Ty

source

pub fn projection(alias_ty: AliasTy) -> Ty

source

pub fn dynamic( +) -> Ty

source

pub fn projection(alias_ty: AliasTy) -> Ty

source

pub fn dynamic( preds: impl Into<List<Binder<ExistentialPredicate>>>, region: Region, -) -> Ty

source

pub fn strg_ref(re: Region, path: Path, ty: Ty) -> Ty

source

pub fn ptr(pk: impl Into<PtrKind>, path: impl Into<Path>) -> Ty

source

pub fn constr(p: impl Into<Expr>, ty: Ty) -> Ty

source

pub fn uninit() -> Ty

source

pub fn indexed(bty: BaseTy, idx: impl Into<Expr>) -> Ty

source

pub fn exists(ty: Binder<Ty>) -> Ty

source

pub fn exists_with_constr(bty: BaseTy, pred: Expr) -> Ty

source

pub fn discr(adt_def: AdtDef, place: Place) -> Ty

source

pub fn unit() -> Ty

source

pub fn bool() -> Ty

source

pub fn int(int_ty: IntTy) -> Ty

source

pub fn uint(uint_ty: UintTy) -> Ty

source

pub fn param(param_ty: ParamTy) -> Ty

source

pub fn downcast( +) -> Ty

source

pub fn strg_ref(re: Region, path: Path, ty: Ty) -> Ty

source

pub fn ptr(pk: impl Into<PtrKind>, path: impl Into<Path>) -> Ty

source

pub fn constr(p: impl Into<Expr>, ty: Ty) -> Ty

source

pub fn uninit() -> Ty

source

pub fn indexed(bty: BaseTy, idx: impl Into<Expr>) -> Ty

source

pub fn exists(ty: Binder<Ty>) -> Ty

source

pub fn exists_with_constr(bty: BaseTy, pred: Expr) -> Ty

source

pub fn discr(adt_def: AdtDef, place: Place) -> Ty

source

pub fn unit() -> Ty

source

pub fn bool() -> Ty

source

pub fn int(int_ty: IntTy) -> Ty

source

pub fn uint(uint_ty: UintTy) -> Ty

source

pub fn param(param_ty: ParamTy) -> Ty

source

pub fn downcast( adt: AdtDef, args: GenericArgs, ty: Ty, variant: VariantIdx, fields: List<Ty>, -) -> Ty

source

pub fn blocked(ty: Ty) -> Ty

source

pub fn str() -> Ty

source

pub fn char() -> Ty

source

pub fn float(float_ty: FloatTy) -> Ty

source

pub fn mk_ref(region: Region, ty: Ty, mutbl: Mutability) -> Ty

source

pub fn mk_slice(ty: Ty) -> Ty

source

pub fn mk_box( +) -> Ty

source

pub fn blocked(ty: Ty) -> Ty

source

pub fn str() -> Ty

source

pub fn char() -> Ty

source

pub fn float(float_ty: FloatTy) -> Ty

source

pub fn mk_ref(region: Region, ty: Ty, mutbl: Mutability) -> Ty

source

pub fn mk_slice(ty: Ty) -> Ty

source

pub fn mk_box( genv: GlobalEnv<'_, '_>, deref_ty: Ty, alloc_ty: Ty, -) -> QueryResult<Ty>

source

pub fn mk_box_with_default_alloc( +) -> QueryResult<Ty>

source

pub fn mk_box_with_default_alloc( genv: GlobalEnv<'_, '_>, deref_ty: Ty, -) -> QueryResult<Ty>

source

pub fn tuple(tys: impl Into<List<Ty>>) -> Ty

source

pub fn array(ty: Ty, c: Const) -> Ty

source

pub fn closure(did: DefId, tys: impl Into<List<Ty>>, args: &GenericArgs) -> Ty

source

pub fn coroutine(did: DefId, resume_ty: Ty, upvar_tys: List<Ty>) -> Ty

source

pub fn never() -> Ty

source

pub fn infer(vid: TyVid) -> Ty

source

pub fn unconstr(&self) -> (Ty, Expr)

source

pub fn unblocked(&self) -> Ty

source

pub fn is_integral(&self) -> bool

Whether the type is an int or a uint

-
source

pub fn is_bool(&self) -> bool

Whether the type is a bool

-
source

pub fn is_uninit(&self) -> bool

source

pub fn is_box(&self) -> bool

source

pub fn is_struct(&self) -> bool

source

pub fn is_array(&self) -> bool

source

pub fn is_slice(&self) -> bool

source

pub fn as_bty_skipping_existentials(&self) -> Option<&BaseTy>

source

pub fn expect_discr(&self) -> (&AdtDef, &Place)

source

pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg], &Expr)

source

pub(crate) fn expect_tuple(&self) -> &[Ty]

Trait Implementations§

source§

impl Clone for Ty

source§

fn clone(&self) -> Ty

Returns a 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 Ty

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Ty

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Ty

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Ty

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 +) -> QueryResult<Ty>

source

pub fn tuple(tys: impl Into<List<Ty>>) -> Ty

source

pub fn array(ty: Ty, c: Const) -> Ty

source

pub fn closure(did: DefId, tys: impl Into<List<Ty>>, args: &GenericArgs) -> Ty

source

pub fn coroutine(did: DefId, resume_ty: Ty, upvar_tys: List<Ty>) -> Ty

source

pub fn never() -> Ty

source

pub fn infer(vid: TyVid) -> Ty

source

pub fn unconstr(&self) -> (Ty, Expr)

source

pub fn unblocked(&self) -> Ty

source

pub fn is_integral(&self) -> bool

Whether the type is an int or a uint

+
source

pub fn is_bool(&self) -> bool

Whether the type is a bool

+
source

pub fn is_uninit(&self) -> bool

source

pub fn is_box(&self) -> bool

source

pub fn is_struct(&self) -> bool

source

pub fn is_array(&self) -> bool

source

pub fn is_slice(&self) -> bool

source

pub fn as_bty_skipping_existentials(&self) -> Option<&BaseTy>

source

pub fn expect_discr(&self) -> (&AdtDef, &Place)

source

pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg], &Expr)

source

pub(crate) fn expect_tuple(&self) -> &[Ty]

Trait Implementations§

source§

impl Clone for Ty

source§

fn clone(&self) -> Ty

Returns a 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 Ty

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for Ty

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for Ty

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for Ty

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 for Ty

source§

fn eq(&self, other: &Ty) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for Ty

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Ty

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx> ToRustc<'tcx> for Ty

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for Ty

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Ty

source§

fn eq(&self, other: &Ty) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for Ty

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl SliceInternable for Ty

source§

fn storage() -> &'static InternStorage<[Self]>

source§

impl<'tcx> ToRustc<'tcx> for Ty

§

type T = Ty<'tcx>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

source§

impl TypeFoldable for Ty

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -46,14 +46,14 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Ty

source§

fn try_super_fold_with<F: FallibleTypeFolder>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeSuperFoldable for Ty

source§

fn try_super_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, -) -> Result<Ty, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

impl TypeSuperVisitable for Ty

source§

impl TypeSuperVisitable for Ty

source§

impl TypeVisitable for Ty

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Ty

source§

impl StructuralPartialEq for Ty

Auto Trait Implementations§

§

impl Freeze for Ty

§

impl RefUnwindSafe for Ty

§

impl Send for Ty

§

impl Sync for Ty

§

impl Unpin for Ty

§

impl UnwindSafe for Ty

Blanket Implementations§

source§

impl<T> Any for T
where +) -> ControlFlow<V::BreakTy>

source§

impl TypeVisitable for Ty

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for Ty

source§

impl StructuralPartialEq for Ty

Auto Trait Implementations§

§

impl Freeze for Ty

§

impl RefUnwindSafe for Ty

§

impl Send for Ty

§

impl Sync for Ty

§

impl Unpin for Ty

§

impl UnwindSafe for Ty

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.VariantSig.html b/doc/flux_middle/rty/struct.VariantSig.html index 5763e2e400..5731a585fc 100644 --- a/doc/flux_middle/rty/struct.VariantSig.html +++ b/doc/flux_middle/rty/struct.VariantSig.html @@ -1,17 +1,17 @@ -VariantSig in flux_middle::rty - Rust

Struct flux_middle::rty::VariantSig

source ·
pub struct VariantSig {
+VariantSig in flux_middle::rty - Rust

Struct flux_middle::rty::VariantSig

source ·
pub struct VariantSig {
     pub adt_def: AdtDef,
     pub args: GenericArgs,
     pub fields: List<Ty>,
     pub idx: Expr,
-}

Fields§

§adt_def: AdtDef§args: GenericArgs§fields: List<Ty>§idx: Expr

Implementations§

Fields§

§adt_def: AdtDef§args: GenericArgs§fields: List<Ty>§idx: Expr

Implementations§

source§

impl VariantSig

source

pub fn new( adt_def: AdtDef, args: GenericArgs, fields: List<Ty>, idx: Expr, -) -> Self

source

pub fn fields(&self) -> &[Ty]

source

pub fn ret(&self) -> Ty

Trait Implementations§

source§

impl Clone for VariantSig

source§

fn clone(&self) -> VariantSig

Returns a 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 VariantSig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for VariantSig

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for VariantSig

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for VariantSig

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 +) -> Self

source

pub fn fields(&self) -> &[Ty]

source

pub fn ret(&self) -> Ty

Trait Implementations§

source§

impl Clone for VariantSig

source§

fn clone(&self) -> VariantSig

Returns a 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 VariantSig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<__D: TyDecoder> Decodable<__D> for VariantSig

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<__E: TyEncoder> Encodable<__E> for VariantSig

source§

fn encode(&self, __encoder: &mut __E)

source§

impl Hash for VariantSig

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 for VariantSig

source§

fn eq(&self, other: &VariantSig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Pretty for VariantSig

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for VariantSig

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for VariantSig

source§

fn eq(&self, other: &VariantSig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Pretty for VariantSig

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl TypeFoldable for VariantSig

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -27,8 +27,8 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for VariantSig

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. -For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for VariantSig

source§

impl StructuralPartialEq for VariantSig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for VariantSig

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. +For example, Vec<i32[n]>{v : v > m} returns {n, m}.
source§

impl Eq for VariantSig

source§

impl StructuralPartialEq for VariantSig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/flux_middle/rty/struct.WfckResults.html b/doc/flux_middle/rty/struct.WfckResults.html index 0f484af153..c2bca3518a 100644 --- a/doc/flux_middle/rty/struct.WfckResults.html +++ b/doc/flux_middle/rty/struct.WfckResults.html @@ -1,11 +1,11 @@ -WfckResults in flux_middle::rty - Rust

Struct flux_middle::rty::WfckResults

source ·
pub struct WfckResults {
+WfckResults in flux_middle::rty - Rust

Struct flux_middle::rty::WfckResults

source ·
pub struct WfckResults {
     pub owner: FluxOwnerId,
     bin_rel_sorts: ItemLocalMap<Sort>,
     coercions: ItemLocalMap<Vec<Coercion>>,
     field_projs: ItemLocalMap<FieldProj>,
     node_sorts: ItemLocalMap<Sort>,
     record_ctors: ItemLocalMap<DefId>,
-}

Fields§

§owner: FluxOwnerId§bin_rel_sorts: ItemLocalMap<Sort>§coercions: ItemLocalMap<Vec<Coercion>>§field_projs: ItemLocalMap<FieldProj>§node_sorts: ItemLocalMap<Sort>§record_ctors: ItemLocalMap<DefId>

Implementations§

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§owner: FluxOwnerId§bin_rel_sorts: ItemLocalMap<Sort>§coercions: ItemLocalMap<Vec<Coercion>>§field_projs: ItemLocalMap<FieldProj>§node_sorts: ItemLocalMap<Sort>§record_ctors: ItemLocalMap<DefId>

Implementations§

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/rty/subst/trait.GenericsSubstDelegate.html b/doc/flux_middle/rty/subst/trait.GenericsSubstDelegate.html index 02c358aa3b..30147e35ac 100644 --- a/doc/flux_middle/rty/subst/trait.GenericsSubstDelegate.html +++ b/doc/flux_middle/rty/subst/trait.GenericsSubstDelegate.html @@ -8,5 +8,5 @@ fn region_for_param(&mut self, ebr: EarlyParamRegion) -> Region; fn expr_for_param_const(&self, param_const: ParamConst) -> Expr; fn const_for_param(&mut self, param: &Const) -> Const; -}

Provided Associated Types§

source

type Error = !

Required Methods§

source

fn sort_for_param(&mut self, param_ty: ParamTy) -> Result<Sort, Self::Error>

source

fn ty_for_param(&mut self, param_ty: ParamTy) -> Result<Ty, Self::Error>

source

fn ctor_for_param(&mut self, param_ty: ParamTy) -> SubsetTyCtor

source

fn region_for_param(&mut self, ebr: EarlyParamRegion) -> Region

source

fn expr_for_param_const(&self, param_const: ParamConst) -> Expr

source

fn const_for_param(&mut self, param: &Const) -> Const

Implementors§

source§

impl GenericsSubstDelegate for &TVarSubst

§

type Error = ()

source§

impl<'a, 'tcx> GenericsSubstDelegate for GenericArgsDelegate<'a, 'tcx>

source§

impl<F, E> GenericsSubstDelegate for GenericsSubstForSort<F, E>
where +}

Provided Associated Types§

source

type Error = !

Required Methods§

source

fn sort_for_param(&mut self, param_ty: ParamTy) -> Result<Sort, Self::Error>

source

fn ty_for_param(&mut self, param_ty: ParamTy) -> Result<Ty, Self::Error>

source

fn ctor_for_param(&mut self, param_ty: ParamTy) -> SubsetTyCtor

source

fn region_for_param(&mut self, ebr: EarlyParamRegion) -> Region

source

fn expr_for_param_const(&self, param_const: ParamConst) -> Expr

source

fn const_for_param(&mut self, param: &Const) -> Const

Implementors§

\ No newline at end of file diff --git a/doc/flux_middle/rty/trait.GenericArgsExt.html b/doc/flux_middle/rty/trait.GenericArgsExt.html index f9fc35d492..69a0722d65 100644 --- a/doc/flux_middle/rty/trait.GenericArgsExt.html +++ b/doc/flux_middle/rty/trait.GenericArgsExt.html @@ -1,5 +1,5 @@ -GenericArgsExt in flux_middle::rty - Rust

Trait flux_middle::rty::GenericArgsExt

source ·
pub trait GenericArgsExt {
+GenericArgsExt in flux_middle::rty - Rust

Trait flux_middle::rty::GenericArgsExt

source ·
pub trait GenericArgsExt {
     // Required methods
     fn box_args(&self) -> (&Ty, &Ty);
     fn to_rustc<'tcx>(&self, tcx: TyCtxt<'tcx>) -> GenericArgsRef<'tcx>;
-}

Required Methods§

source

fn box_args(&self) -> (&Ty, &Ty)

source

fn to_rustc<'tcx>(&self, tcx: TyCtxt<'tcx>) -> GenericArgsRef<'tcx>

Implementors§

\ No newline at end of file +}

Required Methods§

source

fn box_args(&self) -> (&Ty, &Ty)

source

fn to_rustc<'tcx>(&self, tcx: TyCtxt<'tcx>) -> GenericArgsRef<'tcx>

Implementors§

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.Clauses.html b/doc/flux_middle/rty/type.Clauses.html index ca7f861c9d..67bdbdb787 100644 --- a/doc/flux_middle/rty/type.Clauses.html +++ b/doc/flux_middle/rty/type.Clauses.html @@ -1 +1 @@ -Clauses in flux_middle::rty - Rust

Type Alias flux_middle::rty::Clauses

source ·
pub type Clauses = List<Clause>;

Aliased Type§

struct Clauses { /* private fields */ }
\ No newline at end of file +Clauses in flux_middle::rty - Rust

Type Alias flux_middle::rty::Clauses

source ·
pub type Clauses = List<Clause>;

Aliased Type§

struct Clauses { /* private fields */ }
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.GenericArgs.html b/doc/flux_middle/rty/type.GenericArgs.html index 653ee83231..3b055599d9 100644 --- a/doc/flux_middle/rty/type.GenericArgs.html +++ b/doc/flux_middle/rty/type.GenericArgs.html @@ -1 +1 @@ -GenericArgs in flux_middle::rty - Rust

Type Alias flux_middle::rty::GenericArgs

source ·
pub type GenericArgs = List<GenericArg>;

Aliased Type§

struct GenericArgs { /* private fields */ }

Trait Implementations§

source§

impl GenericArgsExt for GenericArgs

source§

fn box_args(&self) -> (&Ty, &Ty)

source§

fn to_rustc<'tcx>(&self, tcx: TyCtxt<'tcx>) -> GenericArgsRef<'tcx>

\ No newline at end of file +GenericArgs in flux_middle::rty - Rust

Type Alias flux_middle::rty::GenericArgs

source ·
pub type GenericArgs = List<GenericArg>;

Aliased Type§

struct GenericArgs { /* private fields */ }

Trait Implementations§

source§

impl GenericArgsExt for GenericArgs

source§

fn box_args(&self) -> (&Ty, &Ty)

source§

fn to_rustc<'tcx>(&self, tcx: TyCtxt<'tcx>) -> GenericArgsRef<'tcx>

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.ItemLocalMap.html b/doc/flux_middle/rty/type.ItemLocalMap.html index 9c0f17f787..0ab4246288 100644 --- a/doc/flux_middle/rty/type.ItemLocalMap.html +++ b/doc/flux_middle/rty/type.ItemLocalMap.html @@ -1 +1 @@ -ItemLocalMap in flux_middle::rty - Rust

Type Alias flux_middle::rty::ItemLocalMap

source ·
pub type ItemLocalMap<T> = UnordMap<ItemLocalId, T>;

Aliased Type§

struct ItemLocalMap<T> { /* private fields */ }
\ No newline at end of file +ItemLocalMap in flux_middle::rty - Rust

Type Alias flux_middle::rty::ItemLocalMap

source ·
pub type ItemLocalMap<T> = UnordMap<ItemLocalId, T>;

Aliased Type§

struct ItemLocalMap<T> { /* private fields */ }
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.List.html b/doc/flux_middle/rty/type.List.html index ef13148185..a6bc279762 100644 --- a/doc/flux_middle/rty/type.List.html +++ b/doc/flux_middle/rty/type.List.html @@ -1,6 +1,6 @@ -List in flux_middle::rty - Rust

Type Alias flux_middle::rty::List

source ·
pub type List<T> = Interned<[T]>;

Aliased Type§

struct List<T> { /* private fields */ }

Trait Implementations§

source§

impl Pretty for List<Ty>

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

source§

impl<T> TypeFoldable for List<T>
where +List in flux_middle::rty - Rust

Type Alias flux_middle::rty::List

source ·
pub type List<T> = Interned<[T]>;

Aliased Type§

struct List<T> { /* private fields */ }

Trait Implementations§

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>( @@ -16,7 +16,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeVisitable for List<T>
where +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl<T> TypeVisitable for List<T>

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. + [T]: Internable,
source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables. For example, Vec<i32[n]>{v : v > m} returns {n, m}.
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyExistentialPredicate.html b/doc/flux_middle/rty/type.PolyExistentialPredicate.html index dac328d24b..76d91788e0 100644 --- a/doc/flux_middle/rty/type.PolyExistentialPredicate.html +++ b/doc/flux_middle/rty/type.PolyExistentialPredicate.html @@ -1,4 +1,4 @@ -PolyExistentialPredicate in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyExistentialPredicate

source ·
pub type PolyExistentialPredicate = Binder<ExistentialPredicate>;

Aliased Type§

struct PolyExistentialPredicate {
+PolyExistentialPredicate in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyExistentialPredicate

source ·
pub type PolyExistentialPredicate = Binder<ExistentialPredicate>;

Aliased Type§

struct PolyExistentialPredicate {
     vars: Interned<[BoundVariableKind]>,
     value: ExistentialPredicate,
 }

Fields§

§vars: Interned<[BoundVariableKind]>§value: ExistentialPredicate
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyExistentialTraitRef.html b/doc/flux_middle/rty/type.PolyExistentialTraitRef.html index 606af6230d..4adfef6cd1 100644 --- a/doc/flux_middle/rty/type.PolyExistentialTraitRef.html +++ b/doc/flux_middle/rty/type.PolyExistentialTraitRef.html @@ -1,4 +1,4 @@ -PolyExistentialTraitRef in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyExistentialTraitRef

source ·
pub type PolyExistentialTraitRef = Binder<ExistentialTraitRef>;

Aliased Type§

struct PolyExistentialTraitRef {
+PolyExistentialTraitRef in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyExistentialTraitRef

source ·
pub type PolyExistentialTraitRef = Binder<ExistentialTraitRef>;

Aliased Type§

struct PolyExistentialTraitRef {
     vars: Interned<[BoundVariableKind]>,
     value: ExistentialTraitRef,
-}

Fields§

§vars: Interned<[BoundVariableKind]>§value: ExistentialTraitRef

Implementations§

\ No newline at end of file +}

Fields§

§vars: Interned<[BoundVariableKind]>§value: ExistentialTraitRef

Implementations§

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyFnSig.html b/doc/flux_middle/rty/type.PolyFnSig.html index 4190b520ff..b902b9733e 100644 --- a/doc/flux_middle/rty/type.PolyFnSig.html +++ b/doc/flux_middle/rty/type.PolyFnSig.html @@ -1,4 +1,4 @@ -PolyFnSig in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyFnSig

source ·
pub type PolyFnSig = Binder<FnSig>;

Aliased Type§

struct PolyFnSig {
+PolyFnSig in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyFnSig

source ·
pub type PolyFnSig = Binder<FnSig>;

Aliased Type§

struct PolyFnSig {
     vars: Interned<[BoundVariableKind]>,
     value: FnSig,
 }

Fields§

§vars: Interned<[BoundVariableKind]>§value: FnSig

Trait Implementations§

source§

impl Pretty for PolyFnSig

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyTraitPredicate.html b/doc/flux_middle/rty/type.PolyTraitPredicate.html index 8a9a14f3e3..f1a96f62da 100644 --- a/doc/flux_middle/rty/type.PolyTraitPredicate.html +++ b/doc/flux_middle/rty/type.PolyTraitPredicate.html @@ -1,4 +1,4 @@ -PolyTraitPredicate in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyTraitPredicate

source ·
pub type PolyTraitPredicate = Binder<TraitPredicate>;

Aliased Type§

struct PolyTraitPredicate {
+PolyTraitPredicate in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyTraitPredicate

source ·
pub type PolyTraitPredicate = Binder<TraitPredicate>;

Aliased Type§

struct PolyTraitPredicate {
     vars: Interned<[BoundVariableKind]>,
     value: TraitPredicate,
 }

Fields§

§vars: Interned<[BoundVariableKind]>§value: TraitPredicate
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyTraitRef.html b/doc/flux_middle/rty/type.PolyTraitRef.html index 9503256780..18db1e97b1 100644 --- a/doc/flux_middle/rty/type.PolyTraitRef.html +++ b/doc/flux_middle/rty/type.PolyTraitRef.html @@ -1,4 +1,4 @@ -PolyTraitRef in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyTraitRef

source ·
pub type PolyTraitRef = Binder<TraitRef>;

Aliased Type§

struct PolyTraitRef {
+PolyTraitRef in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyTraitRef

source ·
pub type PolyTraitRef = Binder<TraitRef>;

Aliased Type§

struct PolyTraitRef {
     vars: Interned<[BoundVariableKind]>,
     value: TraitRef,
-}

Fields§

§vars: Interned<[BoundVariableKind]>§value: TraitRef

Implementations§

\ No newline at end of file +}

Fields§

§vars: Interned<[BoundVariableKind]>§value: TraitRef

Implementations§

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyVariant.html b/doc/flux_middle/rty/type.PolyVariant.html index 53add98f79..97654514db 100644 --- a/doc/flux_middle/rty/type.PolyVariant.html +++ b/doc/flux_middle/rty/type.PolyVariant.html @@ -1,4 +1,4 @@ -PolyVariant in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyVariant

source ·
pub type PolyVariant = Binder<VariantSig>;

Aliased Type§

struct PolyVariant {
+PolyVariant in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyVariant

source ·
pub type PolyVariant = Binder<VariantSig>;

Aliased Type§

struct PolyVariant {
     vars: Interned<[BoundVariableKind]>,
     value: VariantSig,
-}

Fields§

§vars: Interned<[BoundVariableKind]>§value: VariantSig

Trait Implementations§

\ No newline at end of file +}

Fields§

§vars: Interned<[BoundVariableKind]>§value: VariantSig

Trait Implementations§

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.PolyVariants.html b/doc/flux_middle/rty/type.PolyVariants.html index 08cb6d2f8f..ed768d667c 100644 --- a/doc/flux_middle/rty/type.PolyVariants.html +++ b/doc/flux_middle/rty/type.PolyVariants.html @@ -1 +1 @@ -PolyVariants in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyVariants

source ·
pub type PolyVariants = List<Binder<VariantSig>>;

Aliased Type§

struct PolyVariants { /* private fields */ }
\ No newline at end of file +PolyVariants in flux_middle::rty - Rust

Type Alias flux_middle::rty::PolyVariants

source ·
pub type PolyVariants = List<Binder<VariantSig>>;

Aliased Type§

struct PolyVariants { /* private fields */ }
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.RefineArgs.html b/doc/flux_middle/rty/type.RefineArgs.html index 3ec7c11fbe..6bbe3990a6 100644 --- a/doc/flux_middle/rty/type.RefineArgs.html +++ b/doc/flux_middle/rty/type.RefineArgs.html @@ -1 +1 @@ -RefineArgs in flux_middle::rty - Rust

Type Alias flux_middle::rty::RefineArgs

source ·
pub type RefineArgs = List<Expr>;

Aliased Type§

struct RefineArgs { /* private fields */ }
\ No newline at end of file +RefineArgs in flux_middle::rty - Rust

Type Alias flux_middle::rty::RefineArgs

source ·
pub type RefineArgs = List<Expr>;

Aliased Type§

struct RefineArgs { /* private fields */ }
\ No newline at end of file diff --git a/doc/flux_middle/rty/type.SubsetTyCtor.html b/doc/flux_middle/rty/type.SubsetTyCtor.html index ec4a2ae126..0528fbc6cd 100644 --- a/doc/flux_middle/rty/type.SubsetTyCtor.html +++ b/doc/flux_middle/rty/type.SubsetTyCtor.html @@ -1,8 +1,8 @@ -SubsetTyCtor in flux_middle::rty - Rust

Type Alias flux_middle::rty::SubsetTyCtor

source ·
pub type SubsetTyCtor = Binder<SubsetTy>;
Expand description

A type constructor meant to be used as generic a argument of kind base. This is just an alias +SubsetTyCtor in flux_middle::rty - Rust

Type Alias flux_middle::rty::SubsetTyCtor

source ·
pub type SubsetTyCtor = Binder<SubsetTy>;
Expand description

A type constructor meant to be used as generic a argument of kind base. This is just an alias to Binder<SubsetTy>, but we expect the binder to have a single bound variable of the sort of the underlying base type.

Aliased Type§

struct SubsetTyCtor {
     vars: Interned<[BoundVariableKind]>,
     value: SubsetTy,
-}

Fields§

§vars: Interned<[BoundVariableKind]>§value: SubsetTy

Implementations§

source§

impl SubsetTyCtor

source

pub fn trait_object_dummy_self() -> Self

This is the subset type version of Ty::trait_object_dummy_self

-
source

pub fn as_bty_skipping_binder(&self) -> &BaseTy

source

pub fn to_ty(&self) -> Ty

\ No newline at end of file +}

Fields§

§vars: Interned<[BoundVariableKind]>§value: SubsetTy

Implementations§

source§

impl SubsetTyCtor

source

pub fn trait_object_dummy_self() -> Self

This is the subset type version of Ty::trait_object_dummy_self

+
source

pub fn as_bty_skipping_binder(&self) -> &BaseTy

source

pub fn to_ty(&self) -> Ty

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.TyCtor.html b/doc/flux_middle/rty/type.TyCtor.html index 1787c32421..d754b3f7fa 100644 --- a/doc/flux_middle/rty/type.TyCtor.html +++ b/doc/flux_middle/rty/type.TyCtor.html @@ -1,4 +1,4 @@ -TyCtor in flux_middle::rty - Rust

Type Alias flux_middle::rty::TyCtor

source ·
pub type TyCtor = Binder<Ty>;

Aliased Type§

struct TyCtor {
+TyCtor in flux_middle::rty - Rust

Type Alias flux_middle::rty::TyCtor

source ·
pub type TyCtor = Binder<Ty>;

Aliased Type§

struct TyCtor {
     vars: Interned<[BoundVariableKind]>,
     value: Ty,
-}

Fields§

§vars: Interned<[BoundVariableKind]>§value: Ty

Implementations§

source§

impl TyCtor

source

pub fn to_ty(&self) -> Ty

\ No newline at end of file +}

Fields§

§vars: Interned<[BoundVariableKind]>§value: Ty

Implementations§

source§

impl TyCtor

source

pub fn to_ty(&self) -> Ty

\ No newline at end of file diff --git a/doc/flux_middle/rty/type.TypeOutlivesPredicate.html b/doc/flux_middle/rty/type.TypeOutlivesPredicate.html index 4af8b69835..a14b1a5e7c 100644 --- a/doc/flux_middle/rty/type.TypeOutlivesPredicate.html +++ b/doc/flux_middle/rty/type.TypeOutlivesPredicate.html @@ -1 +1 @@ -TypeOutlivesPredicate in flux_middle::rty - Rust

Type Alias flux_middle::rty::TypeOutlivesPredicate

source ·
pub type TypeOutlivesPredicate = OutlivesPredicate<Ty>;

Aliased Type§

struct TypeOutlivesPredicate(pub Ty, pub Region);

Fields§

§0: Ty§1: Region
\ No newline at end of file +TypeOutlivesPredicate in flux_middle::rty - Rust

Type Alias flux_middle::rty::TypeOutlivesPredicate

source ·
pub type TypeOutlivesPredicate = OutlivesPredicate<Ty>;

Aliased Type§

struct TypeOutlivesPredicate(pub Ty, pub Region);

Fields§

§0: Ty§1: Region
\ No newline at end of file diff --git a/doc/flux_middle/sort_of/index.html b/doc/flux_middle/sort_of/index.html index 298e8168ec..7313e8e849 100644 --- a/doc/flux_middle/sort_of/index.html +++ b/doc/flux_middle/sort_of/index.html @@ -1 +1 @@ -flux_middle::sort_of - Rust

Module flux_middle::sort_of

source ·
\ No newline at end of file +flux_middle::sort_of - Rust

Module flux_middle::sort_of

source ·
\ No newline at end of file diff --git a/doc/flux_middle/static.DEFAULT_LOCALE_RESOURCE.html b/doc/flux_middle/static.DEFAULT_LOCALE_RESOURCE.html index 618fdc4b5b..6c9442e438 100644 --- a/doc/flux_middle/static.DEFAULT_LOCALE_RESOURCE.html +++ b/doc/flux_middle/static.DEFAULT_LOCALE_RESOURCE.html @@ -1,3 +1,3 @@ -DEFAULT_LOCALE_RESOURCE in flux_middle - Rust

Static flux_middle::DEFAULT_LOCALE_RESOURCE

source ·
pub static DEFAULT_LOCALE_RESOURCE: &'static str
Expand description

Raw content of Fluent resource for this crate, generated by fluent_messages macro, +DEFAULT_LOCALE_RESOURCE in flux_middle - Rust

Static flux_middle::DEFAULT_LOCALE_RESOURCE

source ·
pub static DEFAULT_LOCALE_RESOURCE: &'static str
Expand description

Raw content of Fluent resource for this crate, generated by fluent_messages macro, imported by rustc_driver to include all crates’ resources in one bundle.

\ No newline at end of file diff --git a/doc/flux_middle/static.THEORY_FUNCS.html b/doc/flux_middle/static.THEORY_FUNCS.html index 5f027b29bc..4ad6a02fee 100644 --- a/doc/flux_middle/static.THEORY_FUNCS.html +++ b/doc/flux_middle/static.THEORY_FUNCS.html @@ -1 +1 @@ -THEORY_FUNCS in flux_middle - Rust

Static flux_middle::THEORY_FUNCS

source ·
pub static THEORY_FUNCS: LazyLock<UnordMap<Symbol, TheoryFunc>>
\ No newline at end of file +THEORY_FUNCS in flux_middle - Rust

Static flux_middle::THEORY_FUNCS

source ·
pub static THEORY_FUNCS: LazyLock<UnordMap<Symbol, TheoryFunc>>
\ No newline at end of file diff --git a/doc/flux_middle/struct.PlaceTy.html b/doc/flux_middle/struct.PlaceTy.html index ba7c27c07c..74ac2a83ca 100644 --- a/doc/flux_middle/struct.PlaceTy.html +++ b/doc/flux_middle/struct.PlaceTy.html @@ -1,16 +1,16 @@ -PlaceTy in flux_middle - Rust

Struct flux_middle::PlaceTy

source ·
pub struct PlaceTy {
+PlaceTy in flux_middle - Rust

Struct flux_middle::PlaceTy

source ·
pub struct PlaceTy {
     pub ty: Ty,
     pub variant_index: Option<VariantIdx>,
 }

Fields§

§ty: Ty§variant_index: Option<VariantIdx>

Downcast to a particular variant of an enum or a generator, if included.

-

Implementations§

source§

impl PlaceTy

source

pub(crate) fn from_ty(ty: Ty) -> PlaceTy

source

pub(crate) fn projection_ty( +

Implementations§

source§

impl PlaceTy

source

pub(crate) fn from_ty(ty: Ty) -> PlaceTy

source

pub(crate) fn projection_ty( &self, genv: GlobalEnv<'_, '_>, elem: PlaceElem, -) -> QueryResult<PlaceTy>

source

pub(crate) fn field_ty( +) -> QueryResult<PlaceTy>

source

pub(crate) fn field_ty( &self, genv: GlobalEnv<'_, '_>, f: FieldIdx, -) -> QueryResult<Ty>

Trait Implementations§

source§

impl Debug for PlaceTy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> QueryResult<Ty>

Trait Implementations§

source§

impl Debug for PlaceTy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/struct.ResolverOutput.html b/doc/flux_middle/struct.ResolverOutput.html index 169170e0e5..fda56979ac 100644 --- a/doc/flux_middle/struct.ResolverOutput.html +++ b/doc/flux_middle/struct.ResolverOutput.html @@ -1,4 +1,4 @@ -ResolverOutput in flux_middle - Rust

Struct flux_middle::ResolverOutput

source ·
pub struct ResolverOutput {
+ResolverOutput in flux_middle - Rust

Struct flux_middle::ResolverOutput

source ·
pub struct ResolverOutput {
     pub path_res_map: UnordMap<NodeId, PartialRes>,
     pub impl_trait_res_map: UnordMap<NodeId, ItemId>,
     pub param_res_map: UnordMap<NodeId, (ParamId, ParamKind)>,
@@ -12,7 +12,7 @@
 
§implicit_params: UnordMap<NodeId, Vec<(Ident, NodeId)>>

List of implicitly scoped params defined in a scope. The NodeId used as key is the id of the node introducing the scope, e.g., surface::FnSig, surface::FnOutput, or surface::VariantDef. The NodeIds in the vectors are keys in Self::param_res_map.

-
§sort_path_res_map: UnordMap<NodeId, SortRes>§expr_path_res_map: UnordMap<NodeId, ExprRes>

Trait Implementations§

source§

impl Default for ResolverOutput

source§

fn default() -> ResolverOutput

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +
§sort_path_res_map: UnordMap<NodeId, SortRes>§expr_path_res_map: UnordMap<NodeId, ExprRes>

Trait Implementations§

source§

impl Default for ResolverOutput

source§

fn default() -> ResolverOutput

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/struct.Specs.html b/doc/flux_middle/struct.Specs.html index 4e450193eb..27f8b75bdf 100644 --- a/doc/flux_middle/struct.Specs.html +++ b/doc/flux_middle/struct.Specs.html @@ -1,4 +1,4 @@ -Specs in flux_middle - Rust

Struct flux_middle::Specs

source ·
pub struct Specs {
Show 14 fields +Specs in flux_middle - Rust

Struct flux_middle::Specs

source ·
pub struct Specs {
Show 14 fields pub fn_sigs: UnordMap<OwnerId, FnSpec>, pub structs: UnordMap<OwnerId, StructDef>, pub traits: UnordMap<OwnerId, Trait>, @@ -18,11 +18,11 @@ for queries and handle them gracefully in order to report them at the use it.

If an item is in this set, all its descendants are also consider dummy (but they may not be in the set).

-
§extern_id_to_local_id: UnordMap<DefId, LocalDefId>§local_id_to_extern_id: UnordMap<LocalDefId, DefId>

Implementations§

source§

impl Specs

§extern_id_to_local_id: UnordMap<DefId, LocalDefId>§local_id_to_extern_id: UnordMap<LocalDefId, DefId>

Implementations§

source§

impl Specs

source

pub fn insert_extern_spec_id_mapping( &mut self, local_id: LocalDefId, extern_id: DefId, -) -> Result<(), ExternSpecMappingErr>

source

pub fn insert_dummy(&mut self, owner_id: OwnerId)

Trait Implementations§

source§

impl Default for Specs

source§

fn default() -> Specs

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Specs

§

impl RefUnwindSafe for Specs

§

impl Send for Specs

§

impl Sync for Specs

§

impl Unpin for Specs

§

impl UnwindSafe for Specs

Blanket Implementations§

source§

impl<T> Any for T

source

pub fn insert_dummy(&mut self, owner_id: OwnerId)

Trait Implementations§

source§

impl Default for Specs

source§

fn default() -> Specs

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Specs

§

impl RefUnwindSafe for Specs

§

impl Send for Specs

§

impl Sync for Specs

§

impl Unpin for Specs

§

impl UnwindSafe for Specs

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_middle/struct.TheoryFunc.html b/doc/flux_middle/struct.TheoryFunc.html index 8acf85a075..01dd9778c0 100644 --- a/doc/flux_middle/struct.TheoryFunc.html +++ b/doc/flux_middle/struct.TheoryFunc.html @@ -1,4 +1,4 @@ -TheoryFunc in flux_middle - Rust

Struct flux_middle::TheoryFunc

source ·
pub struct TheoryFunc {
+TheoryFunc in flux_middle - Rust

Struct flux_middle::TheoryFunc

source ·
pub struct TheoryFunc {
     pub name: Symbol,
     pub sort: PolyFuncSort,
     pub fixpoint_name: Symbol,
diff --git a/doc/flux_middle/trait.PlaceExt.html b/doc/flux_middle/trait.PlaceExt.html
index 23677d2a0d..1e941b810a 100644
--- a/doc/flux_middle/trait.PlaceExt.html
+++ b/doc/flux_middle/trait.PlaceExt.html
@@ -1,4 +1,4 @@
-PlaceExt in flux_middle - Rust

Trait flux_middle::PlaceExt

source ·
pub trait PlaceExt {
+PlaceExt in flux_middle - Rust

Trait flux_middle::PlaceExt

source ·
pub trait PlaceExt {
     // Required methods
     fn ty(
         &self,
@@ -10,19 +10,19 @@
         genv: GlobalEnv<'_, '_>,
         local_decls: &LocalDecls,
     ) -> QueryResult<bool>;
-}

Required Methods§

source

fn ty( +}

Required Methods§

source

fn ty( &self, genv: GlobalEnv<'_, '_>, local_decls: &LocalDecls, -) -> QueryResult<PlaceTy>

source

fn behind_raw_ptr( +) -> QueryResult<PlaceTy>

source

fn behind_raw_ptr( &self, genv: GlobalEnv<'_, '_>, local_decls: &LocalDecls, -) -> QueryResult<bool>

Implementations on Foreign Types§

source§

impl PlaceExt for Place

Implementations on Foreign Types§

source§

impl PlaceExt for Place

source§

fn ty( &self, genv: GlobalEnv<'_, '_>, local_decls: &LocalDecls, -) -> QueryResult<PlaceTy>

source§

fn behind_raw_ptr( +) -> QueryResult<PlaceTy>

source§

fn behind_raw_ptr( &self, genv: GlobalEnv<'_, '_>, local_decls: &LocalDecls, diff --git a/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html b/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html index 677da8a266..b75d253825 100644 --- a/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html +++ b/doc/flux_refineck/checker/errors/enum.CheckerErrKind.html @@ -2,7 +2,7 @@ Inference, OpaqueStruct(DefId), Query(QueryErr), -}

Variants§

§

Inference

§

OpaqueStruct(DefId)

§

Query(QueryErr)

Implementations§

Trait Implementations§

source§

impl Debug for CheckerErrKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<InferErr> for CheckerErrKind

source§

fn from(err: InferErr) -> Self

Converts to this type from the input type.
source§

impl From<QueryErr> for CheckerErrKind

source§

fn from(err: QueryErr) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

Inference

§

OpaqueStruct(DefId)

§

Query(QueryErr)

Implementations§

Trait Implementations§

source§

impl Debug for CheckerErrKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<InferErr> for CheckerErrKind

source§

fn from(err: InferErr) -> Self

Converts to this type from the input type.
source§

impl From<QueryErr> for CheckerErrKind

source§

fn from(err: QueryErr) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_refineck/checker/fn.infer_under_mut_ref_hack.html b/doc/flux_refineck/checker/fn.infer_under_mut_ref_hack.html index f860f16d56..0fc93dc7e7 100644 --- a/doc/flux_refineck/checker/fn.infer_under_mut_ref_hack.html +++ b/doc/flux_refineck/checker/fn.infer_under_mut_ref_hack.html @@ -1,5 +1,5 @@ infer_under_mut_ref_hack in flux_refineck::checker - Rust

Function flux_refineck::checker::infer_under_mut_ref_hack

source ·
fn infer_under_mut_ref_hack(
-    rcx: &mut RefineCtxt<'_>,
+    rcx: &mut RefineCtxt<'_>,
     actuals: &[Ty],
     fn_sig: EarlyBinder<&PolyFnSig>,
 ) -> Vec<Ty>
Expand description

HACK(nilehmann) This let us infer parameters under mutable references for the simple case diff --git a/doc/flux_refineck/checker/fn.snapshot_at_dominator.html b/doc/flux_refineck/checker/fn.snapshot_at_dominator.html index ed91779661..5eb147ea02 100644 --- a/doc/flux_refineck/checker/fn.snapshot_at_dominator.html +++ b/doc/flux_refineck/checker/fn.snapshot_at_dominator.html @@ -1,5 +1,5 @@ snapshot_at_dominator in flux_refineck::checker - Rust

Function flux_refineck::checker::snapshot_at_dominator

source ·
fn snapshot_at_dominator<'a>(
     body: &Body<'_>,
-    snapshots: &'a IndexVec<BasicBlock, Option<Snapshot>>,
+    snapshots: &'a IndexVec<BasicBlock, Option<Snapshot>>,
     bb: BasicBlock,
-) -> &'a Snapshot
\ No newline at end of file +) -> &'a Snapshot
\ No newline at end of file diff --git a/doc/flux_refineck/checker/struct.Checker.html b/doc/flux_refineck/checker/struct.Checker.html index 105cb0c6dd..9c2e8bd85d 100644 --- a/doc/flux_refineck/checker/struct.Checker.html +++ b/doc/flux_refineck/checker/struct.Checker.html @@ -6,13 +6,13 @@ body: &'ck Body<'tcx>, resume_ty: Option<Ty>, output: Binder<FnOutput>, - snapshots: IndexVec<BasicBlock, Option<Snapshot>>, + snapshots: IndexVec<BasicBlock, Option<Snapshot>>, visited: BitSet<BasicBlock>, queue: WorkQueue<'ck>, }

Fields§

§genv: GlobalEnv<'genv, 'tcx>§def_id: LocalDefId

LocalDefId of the function-like item being checked.

§generics: Generics

Generics of the function being checked.

§inherited: Inherited<'ck, M>§body: &'ck Body<'tcx>§resume_ty: Option<Ty>

The type used for the resume argument if we are checking a generator.

-
§output: Binder<FnOutput>§snapshots: IndexVec<BasicBlock, Option<Snapshot>>

A snapshot of the refinement context at the end of the basic block after applying the effects +

§output: Binder<FnOutput>§snapshots: IndexVec<BasicBlock, Option<Snapshot>>

A snapshot of the refinement context at the end of the basic block after applying the effects of the terminator.

§visited: BitSet<BasicBlock>§queue: WorkQueue<'ck>

Implementations§

source§

impl<'ck, 'genv, 'tcx> Checker<'ck, 'genv, 'tcx, ShapeMode>

source

pub(crate) fn run_in_shape_mode( genv: GlobalEnv<'genv, 'tcx>, @@ -25,31 +25,31 @@ ghost_stmts: &'ck UnordMap<LocalDefId, GhostStatements>, bb_env_shapes: ShapeResult, config: CheckerConfig, -) -> Result<(RefineTree, KVarGen), CheckerError>

source§

impl<'ck, 'genv, 'tcx, M: Mode> Checker<'ck, 'genv, 'tcx, M>

source

fn run( - infcx: InferCtxt<'_, 'genv, 'tcx>, +) -> Result<(RefineTree, KVarGen), CheckerError>

source§

impl<'ck, 'genv, 'tcx, M: Mode> Checker<'ck, 'genv, 'tcx, M>

source

fn run( + infcx: InferCtxt<'_, 'genv, 'tcx>, def_id: LocalDefId, inherited: Inherited<'ck, M>, poly_sig: PolyFnSig, ) -> Result<(), CheckerError>

source

fn check_basic_block( &mut self, - infcx: InferCtxt<'_, 'genv, 'tcx>, + infcx: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, bb: BasicBlock, ) -> Result<(), CheckerError>

source

fn check_assign_ty( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, env: &mut TypeEnv<'_>, place: &Place, ty: Ty, source_info: SourceInfo, ) -> Result<(), CheckerError>

source

fn check_statement( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, stmt: &Statement, ) -> Result<(), CheckerError>

source

fn is_exit_block(&self, bb: BasicBlock) -> bool

source

fn check_terminator( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, terminator: &Terminator<'tcx>, last_stmt_span: Option<Span>, @@ -61,12 +61,12 @@

source

fn check_ret( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, span: Span, ) -> Result<(), CheckerError>

source

fn check_call( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, span: Span, callee_def_id: DefId, @@ -75,12 +75,12 @@ actuals: &[Ty], ) -> Result<Ty, CheckerError>

source

fn check_oblig_generator_pred( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, - snapshot: &Snapshot, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + snapshot: &Snapshot, gen_pred: CoroutineObligPredicate, ) -> Result<(), CheckerError>

source

fn check_oblig_fn_def( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, def_id: &DefId, generic_args: &[GenericArg], oblig_sig: PolyFnSig, @@ -98,19 +98,19 @@ TODO: copy rules from SLACK.

source

fn check_oblig_fn_trait_pred( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, - snapshot: &Snapshot, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + snapshot: &Snapshot, fn_trait_pred: FnTraitPredicate, span: Span, ) -> Result<(), CheckerError>

source

fn check_closure_clauses( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, - snapshot: Snapshot, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + snapshot: Snapshot, clauses: &[Clause], span: Span, ) -> Result<(), CheckerError>

source

fn check_assert( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, env: &mut TypeEnv<'_>, terminator_span: Span, cond: &Operand, @@ -121,32 +121,32 @@ targets: &SwitchTargets, ) -> Vec<(BasicBlock, Guard)>

source

fn check_successors( &mut self, - infcx: InferCtxt<'_, 'genv, 'tcx>, + infcx: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, from: BasicBlock, terminator_span: Span, successors: Vec<(BasicBlock, Guard)>, ) -> Result<(), CheckerError>

source

fn check_goto( &mut self, - infcx: InferCtxt<'_, 'genv, 'tcx>, + infcx: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, span: Span, target: BasicBlock, ) -> Result<(), CheckerError>

source

fn check_rvalue( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, stmt_span: Span, rvalue: &Rvalue, ) -> Result<Ty, CheckerError>

source

fn check_len( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, env: &mut TypeEnv<'_>, stmt_span: Span, place: &Place, ) -> Result<Ty, CheckerError>

source

fn check_binary_op( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, env: &mut TypeEnv<'_>, stmt_span: Span, bin_op: BinOp, @@ -154,21 +154,21 @@ op2: &Operand, ) -> Result<Ty, CheckerError>

source

fn check_nullary_op(&self, null_op: NullOp, _ty: &Ty) -> Ty

source

fn check_unary_op( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, stmt_span: Span, un_op: UnOp, op: &Operand, ) -> Result<Ty, CheckerError>

source

fn check_mk_array( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, stmt_span: Span, args: &[Ty], arr_ty: Ty, ) -> Result<Ty, CheckerError>

source

fn check_cast( &self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, stmt_span: Span, kind: CastKind, @@ -176,36 +176,36 @@ to: &Ty, ) -> Result<Ty, CheckerError>

source

fn discr_to_int_cast(adt_def: &AdtDef, bty: BaseTy) -> Ty

source

fn check_unsize_cast( &self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, span: Span, src: &Ty, dst: &Ty, ) -> Result<Ty, CheckerError>

source

fn check_operands( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, source_span: Span, operands: &[Operand], ) -> Result<Vec<Ty>, CheckerError>

source

fn check_operand( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, env: &mut TypeEnv<'_>, source_span: Span, operand: &Operand, ) -> Result<Ty, CheckerError>

source

fn check_constant(&mut self, c: &Constant) -> Result<Ty, CheckerError>

source

fn check_ghost_statements_at( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, point: Point, span: Span, ) -> Result<(), CheckerError>

source

fn check_ghost_statement( &mut self, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, env: &mut TypeEnv<'_>, stmt: &GhostStatement, span: Span, -) -> Result<(), CheckerError>

source

fn snapshot_at_dominator(&self, bb: BasicBlock) -> &Snapshot

source

fn dominators(&self) -> &'ck Dominators<BasicBlock>

source

fn ghost_stmts(&self) -> &'ck GhostStatements

source

fn config(&self) -> CheckerConfig

source

fn check_overflow(&self) -> bool

Auto Trait Implementations§

§

impl<'ck, 'genv, 'tcx, M> Freeze for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !RefUnwindSafe for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !Send for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !Sync for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> Unpin for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !UnwindSafe for Checker<'ck, 'genv, 'tcx, M>

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<(), CheckerError>

source

fn snapshot_at_dominator(&self, bb: BasicBlock) -> &Snapshot

source

fn dominators(&self) -> &'ck Dominators<BasicBlock>

source

fn ghost_stmts(&self) -> &'ck GhostStatements

source

fn config(&self) -> CheckerConfig

source

fn check_overflow(&self) -> bool

Auto Trait Implementations§

§

impl<'ck, 'genv, 'tcx, M> Freeze for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !RefUnwindSafe for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !Send for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !Sync for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> Unpin for Checker<'ck, 'genv, 'tcx, M>

§

impl<'ck, 'genv, 'tcx, M> !UnwindSafe for Checker<'ck, 'genv, 'tcx, M>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_refineck/checker/struct.RefineMode.html b/doc/flux_refineck/checker/struct.RefineMode.html index 2795e4bdd0..0d93fc31e8 100644 --- a/doc/flux_refineck/checker/struct.RefineMode.html +++ b/doc/flux_refineck/checker/struct.RefineMode.html @@ -2,11 +2,11 @@ bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>, }

Fields§

§bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>

Trait Implementations§

source§

impl Mode for RefineMode

source§

const NAME: &str = "refine"

source§

fn enter_basic_block<'ck, 'genv, 'tcx>( ck: &mut Checker<'ck, 'genv, 'tcx, RefineMode>, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, bb: BasicBlock, ) -> TypeEnv<'ck>

source§

fn check_goto_join_point( ck: &mut Checker<'_, '_, '_, RefineMode>, - infcx: InferCtxt<'_, '_, '_>, + infcx: InferCtxt<'_, '_, '_>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock, diff --git a/doc/flux_refineck/checker/struct.ShapeMode.html b/doc/flux_refineck/checker/struct.ShapeMode.html index 5b9f6224f7..86e32446c7 100644 --- a/doc/flux_refineck/checker/struct.ShapeMode.html +++ b/doc/flux_refineck/checker/struct.ShapeMode.html @@ -2,11 +2,11 @@ bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>, }

Fields§

§bb_envs: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>

Trait Implementations§

source§

impl Mode for ShapeMode

source§

const NAME: &str = "shape"

source§

fn enter_basic_block<'ck, 'genv, 'tcx>( ck: &mut Checker<'ck, 'genv, 'tcx, ShapeMode>, - _infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + _infcx: &mut InferCtxt<'_, 'genv, 'tcx>, bb: BasicBlock, ) -> TypeEnv<'ck>

source§

fn check_goto_join_point<'genv, 'tcx>( ck: &mut Checker<'_, 'genv, 'tcx, ShapeMode>, - _: InferCtxt<'_, 'genv, 'tcx>, + _: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock, diff --git a/doc/flux_refineck/checker/struct.ShapeResult.html b/doc/flux_refineck/checker/struct.ShapeResult.html index d008cd9b14..f9bcf11e67 100644 --- a/doc/flux_refineck/checker/struct.ShapeResult.html +++ b/doc/flux_refineck/checker/struct.ShapeResult.html @@ -1,7 +1,7 @@ ShapeResult in flux_refineck::checker - Rust

Struct flux_refineck::checker::ShapeResult

source ·
pub(crate) struct ShapeResult(FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>);
Expand description

The result of running the shape phase.

Tuple Fields§

§0: FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnvShape>>

Implementations§

source§

impl ShapeResult

source

fn into_bb_envs( self, - kvar_gen: &mut KVarGen, + kvar_gen: &mut KVarGen, ) -> FxHashMap<LocalDefId, FxHashMap<BasicBlock, BasicBlockEnv>>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_refineck/checker/trait.Mode.html b/doc/flux_refineck/checker/trait.Mode.html index 332a3c854b..20e3ff1bcc 100644 --- a/doc/flux_refineck/checker/trait.Mode.html +++ b/doc/flux_refineck/checker/trait.Mode.html @@ -4,12 +4,12 @@ // Required methods fn enter_basic_block<'ck, 'genv, 'tcx>( ck: &mut Checker<'ck, 'genv, 'tcx, Self>, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, bb: BasicBlock, ) -> TypeEnv<'ck>; fn check_goto_join_point<'genv, 'tcx>( ck: &mut Checker<'_, 'genv, 'tcx, Self>, - infcx: InferCtxt<'_, 'genv, 'tcx>, + infcx: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock, @@ -17,11 +17,11 @@ fn clear(ck: &mut Checker<'_, '_, '_, Self>, bb: BasicBlock); }

Required Associated Constants§

source

const NAME: &str

Required Methods§

source

fn enter_basic_block<'ck, 'genv, 'tcx>( ck: &mut Checker<'ck, 'genv, 'tcx, Self>, - infcx: &mut InferCtxt<'_, 'genv, 'tcx>, + infcx: &mut InferCtxt<'_, 'genv, 'tcx>, bb: BasicBlock, ) -> TypeEnv<'ck>

source

fn check_goto_join_point<'genv, 'tcx>( ck: &mut Checker<'_, 'genv, 'tcx, Self>, - infcx: InferCtxt<'_, 'genv, 'tcx>, + infcx: InferCtxt<'_, 'genv, 'tcx>, env: TypeEnv<'_>, terminator_span: Span, target: BasicBlock, diff --git a/doc/flux_refineck/fn.report_errors.html b/doc/flux_refineck/fn.report_errors.html index d492b8714d..a3ae1dbac3 100644 --- a/doc/flux_refineck/fn.report_errors.html +++ b/doc/flux_refineck/fn.report_errors.html @@ -1,4 +1,4 @@ report_errors in flux_refineck - Rust

Function flux_refineck::report_errors

source ·
pub(crate) fn report_errors(
     genv: GlobalEnv<'_, '_>,
-    errors: Vec<Tag>,
+    errors: Vec<Tag>,
 ) -> Result<(), ErrorGuaranteed>
\ No newline at end of file diff --git a/doc/flux_refineck/primops/struct.Pre.html b/doc/flux_refineck/primops/struct.Pre.html index 10dccc9b4d..195bb7f3dc 100644 --- a/doc/flux_refineck/primops/struct.Pre.html +++ b/doc/flux_refineck/primops/struct.Pre.html @@ -1,7 +1,7 @@ Pre in flux_refineck::primops - Rust

Struct flux_refineck::primops::Pre

source ·
pub(crate) struct Pre {
-    pub reason: ConstrReason,
+    pub reason: ConstrReason,
     pub pred: Expr,
-}

Fields§

§reason: ConstrReason§pred: Expr

Auto Trait Implementations§

§

impl Freeze for Pre

§

impl RefUnwindSafe for Pre

§

impl Send for Pre

§

impl Sync for Pre

§

impl Unpin for Pre

§

impl UnwindSafe for Pre

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§reason: ConstrReason§pred: Expr

Auto Trait Implementations§

§

impl Freeze for Pre

§

impl RefUnwindSafe for Pre

§

impl Send for Pre

§

impl Sync for Pre

§

impl Unpin for Pre

§

impl UnwindSafe for Pre

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_refineck/type_env/index.html b/doc/flux_refineck/type_env/index.html index 6d255d1077..a59a04698b 100644 --- a/doc/flux_refineck/type_env/index.html +++ b/doc/flux_refineck/type_env/index.html @@ -1 +1 @@ -flux_refineck::type_env - Rust

Module flux_refineck::type_env

source ·

Modules§

Structs§

Enums§

Type Aliases§

\ No newline at end of file +flux_refineck::type_env - Rust

Module flux_refineck::type_env

source ·

Modules§

Structs§

Enums§

Type Aliases§

\ No newline at end of file diff --git a/doc/flux_refineck/type_env/place_ty/fn.downcast.html b/doc/flux_refineck/type_env/place_ty/fn.downcast.html index c5bba71a0f..ccb0565577 100644 --- a/doc/flux_refineck/type_env/place_ty/fn.downcast.html +++ b/doc/flux_refineck/type_env/place_ty/fn.downcast.html @@ -1,5 +1,5 @@ downcast in flux_refineck::type_env::place_ty - Rust

Function flux_refineck::type_env::place_ty::downcast

source ·
fn downcast(
-    infcx: &mut InferCtxt<'_, '_, '_>,
+    infcx: &mut InferCtxt<'_, '_, '_>,
     adt: &AdtDef,
     args: &[GenericArg],
     variant_idx: VariantIdx,
diff --git a/doc/flux_refineck/type_env/place_ty/fn.downcast_enum.html b/doc/flux_refineck/type_env/place_ty/fn.downcast_enum.html
index 5726f538d8..f1d6e34294 100644
--- a/doc/flux_refineck/type_env/place_ty/fn.downcast_enum.html
+++ b/doc/flux_refineck/type_env/place_ty/fn.downcast_enum.html
@@ -1,5 +1,5 @@
 downcast_enum in flux_refineck::type_env::place_ty - Rust

Function flux_refineck::type_env::place_ty::downcast_enum

source ·
fn downcast_enum(
-    infcx: &mut InferCtxt<'_, '_, '_>,
+    infcx: &mut InferCtxt<'_, '_, '_>,
     adt: &AdtDef,
     variant_idx: VariantIdx,
     args: &[GenericArg],
diff --git a/doc/flux_refineck/type_env/place_ty/fn.downcast_struct.html b/doc/flux_refineck/type_env/place_ty/fn.downcast_struct.html
index f4aeb0df84..a3257cb64a 100644
--- a/doc/flux_refineck/type_env/place_ty/fn.downcast_struct.html
+++ b/doc/flux_refineck/type_env/place_ty/fn.downcast_struct.html
@@ -1,5 +1,5 @@
 downcast_struct in flux_refineck::type_env::place_ty - Rust

Function flux_refineck::type_env::place_ty::downcast_struct

source ·
fn downcast_struct(
-    infcx: &InferCtxt<'_, '_, '_>,
+    infcx: &InferCtxt<'_, '_, '_>,
     adt: &AdtDef,
     args: &[GenericArg],
     idx: &Expr,
diff --git a/doc/flux_refineck/type_env/place_ty/fn.fold.html b/doc/flux_refineck/type_env/place_ty/fn.fold.html
index c1b2c9f89e..446c7265b9 100644
--- a/doc/flux_refineck/type_env/place_ty/fn.fold.html
+++ b/doc/flux_refineck/type_env/place_ty/fn.fold.html
@@ -1,6 +1,6 @@
 fold in flux_refineck::type_env::place_ty - Rust

Function flux_refineck::type_env::place_ty::fold

source ·
fn fold(
     bindings: &mut PlacesTree,
-    infcx: &mut InferCtxtAt<'_, '_, '_, '_>,
+    infcx: &mut InferCtxtAt<'_, '_, '_, '_>,
     ty: &Ty,
     is_strg: bool,
 ) -> Result<Ty, CheckerErrKind>
\ No newline at end of file diff --git a/doc/flux_refineck/type_env/place_ty/struct.LookupResult.html b/doc/flux_refineck/type_env/place_ty/struct.LookupResult.html index ef8800f793..27b8b0f713 100644 --- a/doc/flux_refineck/type_env/place_ty/struct.LookupResult.html +++ b/doc/flux_refineck/type_env/place_ty/struct.LookupResult.html @@ -4,9 +4,9 @@ pub is_constant_index: bool, cursor: Cursor, bindings: &'a mut PlacesTree, -}

Fields§

§ty: Ty§is_strg: bool§is_constant_index: bool§cursor: Cursor§bindings: &'a mut PlacesTree

Implementations§

source§

impl LookupResult<'_>

source

pub(crate) fn update(self, new: Ty) -> Ty

source

pub(crate) fn unblock(self, rcx: &mut RefineCtxt<'_>, check_overflow: bool)

source

pub(crate) fn block_with(self, new_ty: Ty) -> Ty

source

pub(crate) fn fold( +}

Fields§

§ty: Ty§is_strg: bool§is_constant_index: bool§cursor: Cursor§bindings: &'a mut PlacesTree

Implementations§

source§

impl LookupResult<'_>

source

pub(crate) fn update(self, new: Ty) -> Ty

source

pub(crate) fn unblock(self, rcx: &mut RefineCtxt<'_>, check_overflow: bool)

source

pub(crate) fn block_with(self, new_ty: Ty) -> Ty

source

pub(crate) fn fold( self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, ) -> Result<Ty, CheckerErrKind>

source

pub(crate) fn path(&self) -> Path

Auto Trait Implementations§

§

impl<'a> Freeze for LookupResult<'a>

§

impl<'a> RefUnwindSafe for LookupResult<'a>

§

impl<'a> Send for LookupResult<'a>

§

impl<'a> Sync for LookupResult<'a>

§

impl<'a> Unpin for LookupResult<'a>

§

impl<'a> !UnwindSafe for LookupResult<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/doc/flux_refineck/type_env/place_ty/struct.PlacesTree.html b/doc/flux_refineck/type_env/place_ty/struct.PlacesTree.html index ccd1c88e3a..a58e7f96bf 100644 --- a/doc/flux_refineck/type_env/place_ty/struct.PlacesTree.html +++ b/doc/flux_refineck/type_env/place_ty/struct.PlacesTree.html @@ -3,7 +3,7 @@ loc_to_place: FxHashMap<Loc, Place>, }

Fields§

§map: FxHashMap<Loc, Binding>§loc_to_place: FxHashMap<Loc, Place>

Implementations§

source§

impl PlacesTree

source

pub(crate) fn unfold( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, key: &impl LookupKey, checker_conf: CheckerConfig, ) -> Result<(), CheckerErrKind>

source

fn lookup_inner<M: LookupMode>( @@ -12,7 +12,7 @@ mode: M, ) -> Result<LookupResult<'_>, M::Error>

source

pub(crate) fn lookup_unfolding( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, key: &impl LookupKey, ) -> Result<LookupResult<'_>, CheckerErrKind>

source

pub(crate) fn lookup(&mut self, key: &impl LookupKey) -> LookupResult<'_>

source

pub(crate) fn paths(&self) -> Vec<Path>

source

pub(crate) fn get(&self, path: &Path) -> Ty

source

pub(crate) fn fmap_mut(&mut self, f: impl FnMut(&Ty) -> Ty)

source

fn try_fmap_mut<E>( &mut self, diff --git a/doc/flux_refineck/type_env/place_ty/struct.Unfold.html b/doc/flux_refineck/type_env/place_ty/struct.Unfold.html index 6b6f632123..c8e1831b4e 100644 --- a/doc/flux_refineck/type_env/place_ty/struct.Unfold.html +++ b/doc/flux_refineck/type_env/place_ty/struct.Unfold.html @@ -1,4 +1,4 @@ -Unfold in flux_refineck::type_env::place_ty - Rust

Struct flux_refineck::type_env::place_ty::Unfold

source ·
struct Unfold<'a, 'infcx, 'genv, 'tcx>(&'a mut InferCtxt<'infcx, 'genv, 'tcx>);

Tuple Fields§

§0: &'a mut InferCtxt<'infcx, 'genv, 'tcx>

Trait Implementations§

source§

impl LookupMode for Unfold<'_, '_, '_, '_>

§

type Error = CheckerErrKind

source§

fn unpack(&mut self, ty: &Ty) -> Ty

source§

fn downcast_struct( +Unfold in flux_refineck::type_env::place_ty - Rust

Struct flux_refineck::type_env::place_ty::Unfold

source ·
struct Unfold<'a, 'infcx, 'genv, 'tcx>(&'a mut InferCtxt<'infcx, 'genv, 'tcx>);

Tuple Fields§

§0: &'a mut InferCtxt<'infcx, 'genv, 'tcx>

Trait Implementations§

source§

impl LookupMode for Unfold<'_, '_, '_, '_>

§

type Error = CheckerErrKind

source§

fn unpack(&mut self, ty: &Ty) -> Ty

source§

fn downcast_struct( &mut self, adt: &AdtDef, args: &[GenericArg], diff --git a/doc/flux_refineck/type_env/place_ty/struct.Unfolder.html b/doc/flux_refineck/type_env/place_ty/struct.Unfolder.html index 5d6629ad6b..dce8fc5d36 100644 --- a/doc/flux_refineck/type_env/place_ty/struct.Unfolder.html +++ b/doc/flux_refineck/type_env/place_ty/struct.Unfolder.html @@ -1,12 +1,12 @@ Unfolder in flux_refineck::type_env::place_ty - Rust

Struct flux_refineck::type_env::place_ty::Unfolder

source ·
struct Unfolder<'a, 'infcx, 'genv, 'tcx> {
-    infcx: &'a mut InferCtxt<'infcx, 'genv, 'tcx>,
+    infcx: &'a mut InferCtxt<'infcx, 'genv, 'tcx>,
     insertions: Vec<(Loc, Place, Binding)>,
     cursor: Cursor,
     in_ref: Option<Mutability>,
     checker_conf: CheckerConfig,
     has_work: bool,
-}

Fields§

§infcx: &'a mut InferCtxt<'infcx, 'genv, 'tcx>§insertions: Vec<(Loc, Place, Binding)>§cursor: Cursor§in_ref: Option<Mutability>§checker_conf: CheckerConfig§has_work: bool

Implementations§

source§

impl<'a, 'infcx, 'genv, 'tcx> Unfolder<'a, 'infcx, 'genv, 'tcx>

source

fn new( - infcx: &'a mut InferCtxt<'infcx, 'genv, 'tcx>, +}

Fields§

§infcx: &'a mut InferCtxt<'infcx, 'genv, 'tcx>§insertions: Vec<(Loc, Place, Binding)>§cursor: Cursor§in_ref: Option<Mutability>§checker_conf: CheckerConfig§has_work: bool

Implementations§

source§

impl<'a, 'infcx, 'genv, 'tcx> Unfolder<'a, 'infcx, 'genv, 'tcx>

source

fn new( + infcx: &'a mut InferCtxt<'infcx, 'genv, 'tcx>, cursor: Cursor, checker_conf: CheckerConfig, ) -> Self

source

fn run(self, bindings: &mut PlacesTree) -> Result<(), CheckerErrKind>

source

fn unfold(&mut self, ty: &Ty) -> Result<Ty, CheckerErrKind>

source

fn deref(&mut self, ty: &Ty) -> Result<Ty, CheckerErrKind>

source

fn unfold_strg_ref(&mut self, path: &Path, ty: &Ty)

source

fn unfold_box(&mut self, deref_ty: &Ty, alloc: &Ty) -> Loc

source

fn field(&mut self, ty: &Ty, f: FieldIdx) -> Result<Ty, CheckerErrKind>

source

fn downcast( diff --git a/doc/flux_refineck/type_env/pretty/index.html b/doc/flux_refineck/type_env/pretty/index.html index a40fa96b5f..a5573b4a22 100644 --- a/doc/flux_refineck/type_env/pretty/index.html +++ b/doc/flux_refineck/type_env/pretty/index.html @@ -1 +1 @@ -flux_refineck::type_env::pretty - Rust

Module flux_refineck::type_env::pretty

source ·
\ No newline at end of file +flux_refineck::type_env::pretty - Rust

Module flux_refineck::type_env::pretty

source ·
\ No newline at end of file diff --git a/doc/flux_refineck/type_env/struct.BasicBlockEnv.html b/doc/flux_refineck/type_env/struct.BasicBlockEnv.html index 7ae41f4a76..b0a16e31b5 100644 --- a/doc/flux_refineck/type_env/struct.BasicBlockEnv.html +++ b/doc/flux_refineck/type_env/struct.BasicBlockEnv.html @@ -1,11 +1,11 @@ BasicBlockEnv in flux_refineck::type_env - Rust

Struct flux_refineck::type_env::BasicBlockEnv

source ·
pub struct BasicBlockEnv {
     data: Binder<BasicBlockEnvData>,
-    scope: Scope,
-}

Fields§

§data: Binder<BasicBlockEnvData>§scope: Scope

Implementations§

source§

impl BasicBlockEnv

source

pub(crate) fn enter<'a>( + scope: Scope, +}

Fields§

§data: Binder<BasicBlockEnvData>§scope: Scope

Implementations§

source§

impl BasicBlockEnv

source

pub(crate) fn enter<'a>( &self, - rcx: &mut RefineCtxt<'_>, + rcx: &mut RefineCtxt<'_>, local_decls: &'a LocalDecls, -) -> TypeEnv<'a>

source

pub(crate) fn scope(&self) -> &Scope

Trait Implementations§

source§

impl Debug for BasicBlockEnv

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Pretty for BasicBlockEnv

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> TypeEnv<'a>

source

pub(crate) fn scope(&self) -> &Scope

Trait Implementations§

source§

impl Debug for BasicBlockEnv

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Pretty for BasicBlockEnv

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_refineck/type_env/struct.BasicBlockEnvData.html b/doc/flux_refineck/type_env/struct.BasicBlockEnvData.html index cdab976b7e..2a3a2ed3bb 100644 --- a/doc/flux_refineck/type_env/struct.BasicBlockEnvData.html +++ b/doc/flux_refineck/type_env/struct.BasicBlockEnvData.html @@ -1,7 +1,7 @@ BasicBlockEnvData in flux_refineck::type_env - Rust

Struct flux_refineck::type_env::BasicBlockEnvData

source ·
struct BasicBlockEnvData {
     constrs: List<Expr>,
     bindings: PlacesTree,
-}

Fields§

§constrs: List<Expr>§bindings: PlacesTree

Trait Implementations§

source§

impl Debug for BasicBlockEnvData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl TypeFoldable for BasicBlockEnvData

source§

fn try_fold_with<F: FallibleTypeFolder>( +}

Fields§

§constrs: List<Expr>§bindings: PlacesTree

Trait Implementations§

source§

impl Debug for BasicBlockEnvData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl TypeFoldable for BasicBlockEnvData

source§

fn try_fold_with<F: FallibleTypeFolder>( &self, folder: &mut F, ) -> Result<Self, F::Error>

source§

fn fold_with<F>(&self, folder: &mut F) -> Self
where @@ -18,7 +18,7 @@ to the list of sorts bound at that level. The list is ordered from outermost to innermost binder, i.e., the last element is the binder closest to the hole.

source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a TyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes -{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BasicBlockEnvData

source§

fn visit_with<V: TypeVisitor>( +{n. Vec<{v. i32[v] | *}>[n] | *}.

source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

source§

impl TypeVisitable for BasicBlockEnvData

source§

fn visit_with<V: TypeVisitor>( &self, _visitor: &mut V, ) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> HashSet<Name, BuildHasherDefault<FxHasher>>

Returns the set of all free variables. diff --git a/doc/flux_refineck/type_env/struct.BasicBlockEnvShape.html b/doc/flux_refineck/type_env/struct.BasicBlockEnvShape.html index eed3428f79..7c76f08233 100644 --- a/doc/flux_refineck/type_env/struct.BasicBlockEnvShape.html +++ b/doc/flux_refineck/type_env/struct.BasicBlockEnvShape.html @@ -1,22 +1,22 @@ BasicBlockEnvShape in flux_refineck::type_env - Rust

Struct flux_refineck::type_env::BasicBlockEnvShape

source ·
pub struct BasicBlockEnvShape {
-    scope: Scope,
+    scope: Scope,
     bindings: PlacesTree,
-}

Fields§

§scope: Scope§bindings: PlacesTree

Implementations§

source§

impl BasicBlockEnvShape

source

pub fn enter<'a>(&self, local_decls: &'a LocalDecls) -> TypeEnv<'a>

source

fn new( - scope: Scope, +}

Fields§

§scope: Scope§bindings: PlacesTree

Implementations§

source§

impl BasicBlockEnvShape

source

pub fn enter<'a>(&self, local_decls: &'a LocalDecls) -> TypeEnv<'a>

source

fn new( + scope: Scope, env: TypeEnv<'_>, -) -> Result<BasicBlockEnvShape, CheckerErrKind>

source

fn pack_ty(scope: &Scope, ty: &Ty) -> Ty

source

fn pack_bty(scope: &Scope, bty: &BaseTy) -> BaseTy

source

fn pack_generic_arg(scope: &Scope, arg: &GenericArg) -> GenericArg

source

fn update(&mut self, path: &Path, ty: Ty)

source

pub(crate) fn join( +) -> Result<BasicBlockEnvShape, CheckerErrKind>

source

fn pack_ty(scope: &Scope, ty: &Ty) -> Ty

source

fn pack_bty(scope: &Scope, bty: &BaseTy) -> BaseTy

source

fn pack_generic_arg(scope: &Scope, arg: &GenericArg) -> GenericArg

source

fn update(&mut self, path: &Path, ty: Ty)

source

pub(crate) fn join( &mut self, other: TypeEnv<'_>, ) -> Result<bool, CheckerErrKind>

join(self, genv, other) consumes the bindings in other, to “update” self in place, and returns true if there was an actual change or false indicating no change (i.e., a fixpoint was reached).

-
source

fn join_ty(&self, ty1: &Ty, ty2: &Ty) -> Ty

source

fn join_idx( +

source

fn join_ty(&self, ty1: &Ty, ty2: &Ty) -> Ty

source

fn join_idx( &self, e1: &Expr, e2: &Expr, sort: &Sort, bound_sorts: &mut Vec<Sort>, -) -> Expr

source

fn join_bty(&self, bty1: &BaseTy, bty2: &BaseTy) -> BaseTy

source

fn join_generic_arg(&self, arg1: &GenericArg, arg2: &GenericArg) -> GenericArg

source

pub fn into_bb_env(self, kvar_gen: &mut KVarGen) -> BasicBlockEnv

Trait Implementations§

source§

impl Debug for BasicBlockEnvShape

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Pretty for BasicBlockEnvShape

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Expr

source

fn join_bty(&self, bty1: &BaseTy, bty2: &BaseTy) -> BaseTy

source

fn join_generic_arg(&self, arg1: &GenericArg, arg2: &GenericArg) -> GenericArg

source

pub fn into_bb_env(self, kvar_gen: &mut KVarGen) -> BasicBlockEnv

Trait Implementations§

source§

impl Debug for BasicBlockEnvShape

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Pretty for BasicBlockEnvShape

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/flux_refineck/type_env/struct.TypeEnv.html b/doc/flux_refineck/type_env/struct.TypeEnv.html index 80795f9fb1..c6013a993e 100644 --- a/doc/flux_refineck/type_env/struct.TypeEnv.html +++ b/doc/flux_refineck/type_env/struct.TypeEnv.html @@ -2,24 +2,24 @@ bindings: PlacesTree, local_decls: &'a LocalDecls, }

Fields§

§bindings: PlacesTree§local_decls: &'a LocalDecls

Implementations§

source§

impl<'a> TypeEnv<'a>

source

pub fn new( - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, body: &'a Body<'_>, fn_sig: &FnSig, check_overflow: bool, ) -> TypeEnv<'a>

source

fn alloc_with_ty(&mut self, local: Local, ty: Ty)

source

fn alloc(&mut self, local: Local)

source

pub(crate) fn into_infer( self, - scope: Scope, + scope: Scope, ) -> Result<BasicBlockEnvShape, CheckerErrKind>

source

pub(crate) fn lookup_rust_ty( &self, genv: GlobalEnv<'_, '_>, place: &Place, ) -> QueryResult<Ty>

source

pub(crate) fn lookup_place( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, place: &Place, ) -> Result<Ty, CheckerErrKind>

source

pub(crate) fn get(&self, path: &Path) -> Ty

source

pub fn update_path(&mut self, path: &Path, new_ty: Ty)

source

pub(crate) fn borrow( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, re: Region, mutbl: Mutability, place: &Place, @@ -28,12 +28,12 @@ and then replaced by the region in the type of x after the assignment. See TypeEnv::assign

source

pub(crate) fn ptr_to_ref_at_place( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, place: &Place, ) -> Result<(), CheckerErrKind>

source

pub(crate) fn ptr_to_ref( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, - reason: ConstrReason, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + reason: ConstrReason, re: Region, path: &Path, bound: PtrToRefBound, @@ -55,7 +55,7 @@ x: i32[a] ; ptr(mut, x) => x:†i32{v: $k(v)} ; &mut i32{v: $k(v)}

source

pub(crate) fn assign( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, place: &Place, new_ty: Ty, ) -> Result<(), CheckerErrKind>

Updates the type of place to new_ty. This may involve a strong update if we have @@ -70,38 +70,38 @@ assigned type are consistent with those expected by the place’s original type definition.

source

pub(crate) fn move_place( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, place: &Place, ) -> Result<Ty, CheckerErrKind>

source

pub(crate) fn unpack( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, check_overflow: bool, )

source

pub(crate) fn unblock( &mut self, - rcx: &mut RefineCtxt<'_>, + rcx: &mut RefineCtxt<'_>, place: &Place, check_overflow: bool, )

source

pub(crate) fn check_goto( self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, bb_env: &BasicBlockEnv, target: BasicBlock, ) -> Result<(), CheckerErrKind>

source

pub(crate) fn fold( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, place: &Place, ) -> Result<(), CheckerErrKind>

source

pub(crate) fn unfold( &mut self, - infcx: &mut InferCtxt<'_, '_, '_>, + infcx: &mut InferCtxt<'_, '_, '_>, place: &Place, checker_conf: CheckerConfig, ) -> Result<(), CheckerErrKind>

source

pub(crate) fn downcast( &mut self, - infcx: &mut InferCtxtAt<'_, '_, '_, '_>, + infcx: &mut InferCtxtAt<'_, '_, '_, '_>, place: &Place, variant_idx: VariantIdx, checker_config: CheckerConfig, -) -> Result<(), CheckerErrKind>

source

pub fn replace_evars(&mut self, evars: &EVarSol)

Trait Implementations§

source§

impl<'a> Clone for TypeEnv<'a>

source§

fn clone(&self) -> TypeEnv<'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 Debug for TypeEnv<'_>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Default for TypeEnv<'a>

source§

fn default() -> TypeEnv<'a>

Returns the “default value” for a type. Read more
source§

impl Pretty for TypeEnv<'_>

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

§

impl<'a> Freeze for TypeEnv<'a>

§

impl<'a> RefUnwindSafe for TypeEnv<'a>

§

impl<'a> Send for TypeEnv<'a>

§

impl<'a> Sync for TypeEnv<'a>

§

impl<'a> Unpin for TypeEnv<'a>

§

impl<'a> UnwindSafe for TypeEnv<'a>

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<(), CheckerErrKind>

source

pub fn replace_evars(&mut self, evars: &EVarSol)

Trait Implementations§

source§

impl<'a> Clone for TypeEnv<'a>

source§

fn clone(&self) -> TypeEnv<'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 Debug for TypeEnv<'_>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Default for TypeEnv<'a>

source§

fn default() -> TypeEnv<'a>

Returns the “default value” for a type. Read more
source§

impl Pretty for TypeEnv<'_>

source§

fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

Auto Trait Implementations§

§

impl<'a> Freeze for TypeEnv<'a>

§

impl<'a> RefUnwindSafe for TypeEnv<'a>

§

impl<'a> Send for TypeEnv<'a>

§

impl<'a> Sync for TypeEnv<'a>

§

impl<'a> Unpin for TypeEnv<'a>

§

impl<'a> UnwindSafe for TypeEnv<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/doc/help.html b/doc/help.html index 6d691e87c3..99ab7624d4 100644 --- a/doc/help.html +++ b/doc/help.html @@ -1 +1 @@ -Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/doc/index.html b/doc/index.html index 5cbe8fe4fb..451a7534f9 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1 +1 @@ -Index of crates
\ No newline at end of file +Index of crates
\ No newline at end of file diff --git a/doc/search-index.js b/doc/search-index.js index 6b497836f5..f637e283f6 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -8,11 +8,11 @@ var searchIndex = new Map(JSON.parse('[\ ["flux_desugar",{"t":"FJFPPINNNNNNNNNNNCHHNNNNNOCONNNNNNNNOONNNNNNNHCOONNHNNNNNNNNNNNNKPFPIFNNNNNNNNHNNNNNNHNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNHNNNNHNHNNNNNNNNNNNNNNNNONNNNNNMNNOONNNNNNNNNNOONNNNMNNOOONNNMNNOONNNNNNNNNNNNNNNNNNFFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPFPPPFIFGKONNNNNNNNNNHNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOCOONNNNNNNNNNNNNNNNNNNNNNOOHMNNNNNNNNNNNNNNNNNHOHHHNNNNNOOONONMCHNNNNNNNNNNNNOONOONNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNPPPFFPPFFFIJFGKFFPNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNCOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNNNNNNMNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNONOOOONNNNNHNNNNNNOONNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNN","n":["CrateDesugar","DEFAULT_LOCALE_RESOURCE","DesugarCtxt","Err","Ok","Result","as_rust_item_ctxt","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","desugar","desugar","desugar_crate","desugar_flux_items","desugar_func_defn","desugar_qualifier","drop","drop","err","errors","fhir","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","genv","genv","init","init","into","into","into_query_param","into_query_param","new","provide","resolver","resolver_output","resolver_output","to_result","to_result","try_desugar_crate","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","DesugarCtxt","Err","FluxItemCtxt","Ok","Result","RustItemCtxt","as_lift_cx","borrow","borrow","borrow_mut","borrow_mut","check_variant_ret_path","collect_and_apply","collect_and_apply","collect_generics_in_params","deref","deref","deref_mut","deref_mut","desugar_alias_reft","desugar_asyncness","desugar_base_sort","desugar_base_sort","desugar_bty","desugar_ensures","desugar_enum_def","desugar_enum_variant_def","desugar_expr","desugar_exprs","desugar_fn_input","desugar_fn_output","desugar_fn_ret_ty","desugar_fn_sig_refine_params","desugar_fn_spec","desugar_func","desugar_generic_args","desugar_generic_bounds","desugar_generic_predicates","desugar_generics","desugar_generics_for_adt","desugar_impl","desugar_impl_assoc_refts","desugar_impl_assoc_ty","desugar_impl_fn","desugar_impl_trait","desugar_impl_trait","desugar_impl_trait","desugar_indices","desugar_item_fn","desugar_lit","desugar_loc","desugar_opaque_ty_for_async","desugar_opaque_ty_for_impl_trait","desugar_path_segment","desugar_path_to_bty","desugar_qpath","desugar_qualifier","desugar_refine_arg","desugar_refine_params","desugar_refine_params_iter","desugar_refined_by","desugar_sort","desugar_sort","desugar_spec_func","desugar_struct_def","desugar_trait","desugar_trait_assoc_refts","desugar_trait_assoc_ty","desugar_trait_fn","desugar_trait_ref","desugar_ty","desugar_type_alias","desugar_var","desugar_variant_ret","drop","drop","emit_err","emit_err","filterable","filterable","fn_sig_scope","from","from","from","from","from_cycle_error","from_cycle_error","genv","genv","genv","genv","genv","implicit_param_into_refine_arg","implicit_params_to_args","implicit_params_to_params","init","init","insert_opaque_ty","into","into","into_query_param","into_query_param","local_id_gen","local_id_gen","make_lang_item_path","mk_lft_hole","new","new","next_fhir_id","next_fhir_id","next_fhir_id","opaque_tys","owner","owner","resolve_implicit_param","resolve_implicit_params","resolve_param","resolver_output","resolver_output","resolver_output","resolver_output","resolver_output","sess","to_result","to_result","try_from","try_from","try_into","try_into","try_parse_int_lit","ty_path","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","with_new_owner","IntTooLarge","InvalidAliasReft","InvalidDotVar","InvalidFunc","InvalidFuncAsVar","InvalidLoc","InvalidNumericSuffix","InvalidVariantRet","UnexpectedLiteral","UnresolvedGenericParam","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","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","new","new","new","new","span","span","span","span","span","span","span","span","span","span","suffix","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CrateResolver","Err","ItemResolver","Module","Normal","Ok","OpaqueTypeCollector","Result","Rib","RibKind","Segment","bindings","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","builtin_types_rib","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_impl_item","collect_item","collect_trait_item","crates","current_module","define_flux_global_items","define_generics","define_in_prelude","define_items","define_res_in","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","err","errors","errors","errors","filterable","filterable","filterable","filterable","filterable","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_decls","genv","glob_imports","ident","init","init","init","init","init","into","into","into","into","into","into_output","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_result","is_prelude_import","kind","map_res","mk_crate_mapping","module_children","nested_visit_map","new","new","new","new","opaque","opaque","output","pop_rib","prelude","push_rib","record_segment_res","refinement_resolver","resolve_crate","resolve_enum_def","resolve_flux_items","resolve_fn_sig","resolve_ident_in_module","resolve_ident_with_ribs","resolve_impl","resolve_opaque_impl","resolve_path_with_ribs","resolve_struct_def","resolve_trait","resolve_type_alias","resolve_type_path","resolver","ribs","run","sort_decls","specs","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_resolve_crate","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","visit_async","visit_block","visit_impl_item","visit_item","visit_mod","visit_path","visit_trait_item","visit_ty","visit_ty","vzip","vzip","vzip","vzip","vzip","UnresolvedPath","UnsupportedSignature","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diag","into_diag","into_query_param","into_query_param","new","new","note","path","span","span","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","Err","FnInput","FnOutput","IllegalBinderVisitor","ImplicitParamCollector","Misc","Ok","ParamDef","ParamRes","RefinementResolver","Result","SORTS","Scope","ScopeKind","ScopedVisitor","ScopedVisitorWrapper","Sorts","Variant","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","bindings","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","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","define_param","define_resolve_num_const","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","enter_scope","enter_scope","enter_scope","enter_scope","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","errors","errors","errors","exit_scope","exit_scope","exit_scope","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find","finish","fmt","fmt","for_flux_item","for_rust_item","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","ident","init","init","init","init","init","init","init","init","init","int","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_barrier","is_box","is_box","is_box","is_box","kind","kind","kind","kind","map","new","new","new","new","on_base_sort","on_base_sort","on_enum_variant","on_enum_variant","on_fn_output","on_fn_output","on_fn_sig","on_fn_sig","on_func","on_func","on_generic_param","on_implicit_param","on_implicit_param","on_implicit_param","on_loc","on_loc","on_path","on_path","on_refine_param","on_refine_param","param_defs","param_id","params","path_res_map","path_res_map","real","resolve_defn","resolve_enum_def","resolve_fn_sig","resolve_ident","resolve_impl","resolve_num_const","resolve_path","resolve_qualifier","resolve_sort_path","resolve_struct_def","resolve_trait","resolve_ty_alias","resolver","resolver","resolver_output","run","run","run","scope","scopes","scopes","set","sort_params","tcx","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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_resolve_expr_with_ribs","try_resolve_global_func","try_resolve_param","try_resolve_prim_sort","try_resolve_sort_param","try_resolve_sort_with_ribs","try_resolve_user_sort","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","visit_base_sort","visit_bty","visit_defn","visit_ensures","visit_enum_def","visit_expr","visit_fn_input","visit_fn_output","visit_fn_sig","visit_generic_param","visit_impl_assoc_reft","visit_path","visit_path_segment","visit_qualifier","visit_refine_arg","visit_refine_param","visit_struct_def","visit_trait_assoc_reft","visit_ty","visit_ty_alias","visit_variant","visit_variant_ret","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_scope","wrap","DuplicateParam","IllegalBinder","InvalidUnrefinedParam","UnresolvedSort","UnresolvedVar","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","first_use","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ident","from_path","init","init","init","init","init","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","name","name","new","new","new","new","span","span","span","span","span","to_result","to_result","to_result","to_result","to_result","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","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","var","var","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_desugar"],[64,"flux_desugar::desugar"],[204,"flux_desugar::errors"],[439,"flux_desugar::resolver"],[620,"flux_desugar::resolver::errors"],[670,"flux_desugar::resolver::refinement_resolver"],[1018,"flux_desugar::resolver::refinement_resolver::errors"],[1145,"rustc_hir::hir_id"],[1146,"rustc_span::def_id"],[1147,"flux_middle::fhir"],[1148,"rustc_data_structures::unord"],[1149,"core::option"],[1150,"core::iter::traits::iterator"],[1151,"core::ops::function"],[1152,"flux_middle::global_env"],[1153,"flux_middle::queries"],[1154,"flux_middle"],[1155,"flux_syntax::surface"],[1156,"rustc_span"],[1157,"core::result"],[1158,"icu_provider::request"],[1159,"icu_provider_adapters::filter"],[1160,"rustc_query_system::query::plumbing"],[1161,"core::any"],[1162,"flux_middle::fhir::lift"],[1163,"rustc_data_structures::fx"],[1164,"rustc_hir::hir"],[1165,"rustc_span::symbol"],[1166,"rustc_span::span_encoding"],[1167,"rustc_ast::token"],[1168,"core::iter::traits::exact_size"],[1169,"rustc_errors::diagnostic"],[1170,"rustc_hir::lang_items"],[1171,"flux_errors"],[1172,"rustc_errors"],[1173,"rustc_hir::def"],[1174,"core::iter::traits::collect"],[1175,"core::fmt"],[1176,"rustc_middle::ty::context"],[1177,"rustc_middle::metadata"],[1178,"rustc_hir"],[1179,"rustc_middle::arena"],[1180,"core::ops::control_flow"],[1181,"alloc::vec"]],"i":[0,0,0,188,188,0,1,1,20,1,20,1,20,1,20,1,20,0,0,0,20,20,20,1,20,20,0,20,1,20,1,1,20,20,1,20,1,20,1,20,1,20,1,20,20,0,0,1,20,1,20,0,1,20,1,20,1,20,1,20,1,20,1,20,0,189,0,189,0,0,9,9,87,9,87,9,9,87,0,9,87,9,87,42,9,0,42,42,9,9,9,42,42,9,9,9,9,9,42,42,9,9,9,9,9,9,9,9,42,9,87,42,9,42,42,9,9,42,42,42,0,42,42,42,9,0,42,0,9,9,9,9,9,9,42,9,42,9,9,87,9,42,9,87,9,9,9,87,87,9,87,42,9,87,9,87,42,42,42,9,87,9,9,87,9,87,9,87,9,42,9,87,42,9,87,9,9,87,42,42,42,42,9,87,9,87,42,9,87,9,87,9,87,42,42,9,87,9,87,9,87,9,87,9,0,0,0,0,0,0,0,0,0,0,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,125,130,130,131,131,132,132,133,133,134,134,135,135,136,136,137,137,138,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,135,136,137,138,125,130,131,132,133,134,135,136,137,138,135,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,125,130,131,132,133,134,135,136,137,138,0,190,0,148,148,190,0,0,0,0,0,139,144,157,155,148,139,144,157,155,148,139,0,144,157,155,148,139,155,155,155,144,144,144,144,144,144,144,144,157,155,148,139,144,157,155,148,139,144,157,155,148,139,144,0,157,155,144,157,155,148,139,148,139,144,144,157,157,155,155,148,148,139,139,144,157,155,148,139,144,144,0,154,144,157,155,148,139,144,157,155,148,139,144,144,157,155,148,139,155,0,139,0,0,0,144,144,157,155,139,157,155,144,144,144,144,154,0,0,144,144,144,144,144,144,157,144,144,144,144,157,157,144,157,144,144,144,157,155,148,139,144,157,155,148,139,144,157,155,148,139,0,144,157,155,148,139,144,157,155,148,139,144,157,155,148,139,157,144,144,144,144,157,144,157,155,144,157,155,148,139,0,0,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,163,164,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,163,164,191,168,168,0,0,168,191,0,0,0,0,0,0,0,0,0,0,168,168,168,169,169,170,170,168,168,169,169,170,170,168,177,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,168,169,170,168,169,170,168,169,170,172,175,177,171,192,176,168,169,170,171,0,172,172,175,177,171,192,176,168,169,170,172,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,173,175,171,176,168,168,168,168,168,168,168,0,171,176,173,171,176,172,175,177,171,192,176,168,169,170,171,171,168,169,171,171,172,172,175,175,177,177,171,171,192,192,176,176,168,168,169,169,170,170,172,175,177,171,192,176,168,169,170,170,172,175,177,171,192,176,168,169,170,192,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,168,173,175,171,176,169,175,177,170,192,175,177,171,176,173,171,173,171,173,171,173,171,173,171,173,173,175,176,173,171,173,171,173,171,171,169,175,175,171,192,171,171,171,171,171,0,171,171,171,171,171,171,171,176,171,175,171,176,170,171,176,192,171,175,168,169,170,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,171,171,171,171,171,171,171,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,172,175,177,171,192,176,168,169,170,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,175,177,171,192,176,168,169,170,172,173,0,0,0,0,0,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,183,183,184,184,182,182,185,185,186,186,183,184,182,185,186,182,182,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,186,183,184,183,184,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,183,184,182,185,186,182,185,183,184,182,185,186],"f":"``````{{{d{b}}f{A`{{d{h{n{jl}}}}}}}Ab}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}0{An{{d{c}}}{}}0{An{{d{hc}}}{}}0`{{B`j}{{Bd{{n{jBb}}}}}}{B`Bf}{{{d{hBh}}{d{Bj}}}Bl}{{{d{hBh}}{d{Bn}}}{{Cb{BlC`}}}}{{{d{hBh}}{d{Cd}}}{{Cb{BlC`}}}}{AnBl}0```{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}0{cc{}}{{{Cb{c}}}c{}}10{{c{d{D`}}C`}e{}{}}0``{{}An}0{{}c{}}000{{B`Bf{d{Db}}}Bh}{{{d{hDd}}}Bl}```{{}{{Cb{c}}}{}}0{B`{{Cb{BfC`}}}}{c{{Cb{e}}}{}{}}022{dDf}0{ce{}{}}0{{ce}c{}{}}088``````{{{d{hAb}}}Dh}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{hAb}}{d{Dj}}}{{A`{Dl}}}}{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}0{{B`{Dn{f}}{d{Db}}{d{E`}}}{{Eb{Dl}}}}{An{{d{c}}}{}}0{An{{d{hc}}}{}}0{{{d{hEd}}{d{Ef}}}{{Cb{EhC`}}}}{{{d{hAb}}Ej{d{El}}}{{Cb{EnC`}}}}{{B`{d{Db}}{d{F`}}{A`{{d{{Eb{Dl}}}}}}}Fb}{{{d{Ed}}{d{F`}}{A`{{d{{Eb{Dl}}}}}}}Fb}{{{d{hEd}}{d{Fd}}}{{Cb{FfC`}}}}{{{d{hAb}}{d{Fh}}}{{Cb{FjC`}}}}{{{d{hAb}}{d{Fl}}}{{Cb{lC`}}}}{{{d{hAb}}{d{{A`{Fn}}}}{d{G`}}}{{Cb{GbC`}}}}{{{d{hEd}}{d{Gd}}}{{Cb{GfC`}}}}{{{d{hEd}}{d{{Ah{Gd}}}}}{{Cb{{d{{Ah{Gf}}}}C`}}}}{{{d{hAb}}{d{Gh}}}{{Cb{EnC`}}}}{{{d{hAb}}Ej{d{Gj}}}{{Cb{GlC`}}}}{{{d{hAb}}{d{El}}}{{Cb{EnC`}}}}{{{d{Ab}}{d{Gn}}}{{d{{Ah{H`}}}}}}{{{d{hAb}}{d{Hb}}}{{Cb{{Hh{HdHf}}C`}}}}{{{d{Ed}}HjHl}{{Cb{HnC`}}}}{{{d{hEd}}I`{d{{Ah{Ib}}}}}{{Cb{{Hh{{d{{Ah{Id}}}}{d{{Ah{If}}}}}}C`}}}}{{{d{hAb}}{d{{Ah{Ih}}}}}{{Cb{IjC`}}}}{{{d{hAb}}{d{{Ah{Il}}}}}{{Cb{{d{{Ah{In}}}}C`}}}}{{{d{hAb}}{d{J`}}}{{Cb{HdC`}}}}{{{d{hAb}}{A`{{d{J`}}}}{d{Jb}}}{{Cb{HdC`}}}}{{{d{hAb}}{d{Jd}}}{{Cb{lC`}}}}{{{d{hAb}}{d{{Ah{Jf}}}}}{{Cb{{d{{Ah{Jh}}}}C`}}}}{{{d{hAb}}}{{Cb{JjC`}}}}{{{d{hAb}}{d{Hb}}}{{Cb{JjC`}}}}{{{d{hEd}}Hl{d{{Ah{Ih}}}}}{{Cb{JlC`}}}}{{{d{hAb}}Hl{d{{Ah{Ih}}}}}{{Cb{JlC`}}}}{{{d{hJn}}Hl{d{{Ah{Ih}}}}}{{Cb{JlC`}}}}{{{d{hEd}}{d{K`}}}{{Cb{KbC`}}}}{{{d{hAb}}{d{Hb}}}{{Cb{lC`}}}}{{{d{Ed}}KdKf}{{Cb{KhC`}}}}{{{d{Ed}}HjHl}{{Cb{KjC`}}}}{{{d{hAb}}{d{El}}}{{Cb{lC`}}}}{{{d{hAb}}{d{{Ah{Ih}}}}}{{Cb{lC`}}}}{{{d{hEd}}{d{Kl}}}{{Cb{KnC`}}}}{{{d{hEd}}{A`{{d{L`}}}}{d{Dj}}}{{Cb{FfC`}}}}{{{d{hEd}}{A`{{d{L`}}}}{d{Dj}}}{{Cb{LbC`}}}}{{B`{d{Db}}{d{Cd}}}{{Cb{LdC`}}}}{{{d{hEd}}{d{Lf}}}{{Cb{KbC`}}}}{{{d{Ed}}{d{{Ah{Lh}}}}}{{d{{Ah{H`}}}}}}{{{d{Ed}}{d{{Ah{Lh}}}}}{{`{{Lj{}{{Ad{H`}}}}}}}}{{{d{hAb}}{d{E`}}}{{Cb{JbC`}}}}{{B`{d{Db}}{d{Ll}}{A`{{d{{Eb{Dl}}}}}}}Fb}{{{d{Ed}}{d{Ll}}{A`{{d{{Eb{Dl}}}}}}}Fb}{{B`{d{Db}}{d{Bn}}}{{Cb{LnC`}}}}{{{d{hAb}}{d{M`}}}{{Cb{lC`}}}}{{{d{hAb}}{d{Mb}}}{{Cb{lC`}}}}{{{d{hAb}}{d{{Ah{Md}}}}}{{Cb{{d{{Ah{Mf}}}}C`}}}}{{{d{hAb}}}{{Cb{MhC`}}}}{{{d{hAb}}{d{Hb}}}{{Cb{MhC`}}}}{{{d{hAb}}{d{Ih}}}{{Cb{MjC`}}}}{{{d{hEd}}{d{L`}}}{{Cb{EnC`}}}}{{{d{hAb}}{A`{{d{Ml}}}}}{{Cb{lC`}}}}{{{d{Ed}}{d{Mn}}}{{Cb{N`C`}}}}{{{d{hAb}}{d{Nb}}}{{Cb{NdC`}}}}{AnBl}0{{{d{Ab}}c}C`Nf}{{{d{Ed}}c}C`Nf}{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}0`{cc{}}{{{Cb{c}}}c{}}01{{c{d{D`}}C`}e{}{}}0{{{d{Ed}}}B`}{{{d{Ab}}}B`}{{{d{Jn}}}B`}``{{{d{Ed}}HjHl}{{A`{Kb}}}}{{{d{Ed}}Hl}{{d{{Ah{Kb}}}}}}{{{d{Ed}}Hl}{{`{{Lj{}{{Ad{H`}}}}}}}}{{}An}0{{{d{hAb}}jl}Bl}{{}c{}}000``{{{d{hAb}}NhKd{d{{Ah{Id}}}}{d{{Ah{If}}}}}Nj}{{{d{Ed}}}Nl}{{B`{Dn{f}}{d{Db}}{A`{{d{h{n{jl}}}}}}}Ab}{{B`{d{Db}}Nn}Jn}{{{d{Ed}}}O`}{{{d{Ab}}}O`}{{{d{Jn}}}O`}```{{{d{Ed}}Hl}{{A`{{Hh{ObOd}}}}}}{{{d{Ed}}Hl}{{`{{Lj{}{{Ad{{Hh{HjObOd}}}}}}}}}}{{{d{Ed}}Hl}{{Hh{ObOd}}}}{{{d{Ed}}}{{d{Db}}}}{{{d{Ab}}}{{d{Db}}}}{{{d{Jn}}}{{d{Db}}}}``{{{d{Ed}}}{{d{Of}}}}{{}{{Cb{c}}}{}}0{c{{Cb{e}}}{}{}}011{{{d{Ed}}Kd{d{Cf}}}{{Cb{OhC`}}}}{{{d{Ed}}Lb}En}{dDf}0{ce{}{}}0{{ce}c{}{}}0{{}c{}}0{{{d{hAb}}{Dn{f}}}Ab}``````````{d{{d{c}}}{}}000000000{{{d{h}}}{{d{hc}}}{}}000000000{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}000000000{An{{d{c}}}{}}000000000{An{{d{hc}}}{}}000000000{AnBl}000000000{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}000000000{{{Cb{c}}}c{}}{cc{}}010110010110011001{{c{d{D`}}C`}e{}{}}000000000{{}An}000000000<<<<<<<<<<{{OjOlOn}{{A@`{c}}}A@b}{{A@dOlOn}{{A@`{c}}}A@b}{{A@fOlOn}{{A@`{c}}}A@b}{{A@hOlOn}{{A@`{c}}}A@b}{{A@jOlOn}{{A@`{c}}}A@b}{{A@lOlOn}{{A@`{c}}}A@b}{{A@nOlOn}{{A@`{c}}}A@b}{{AA`OlOn}{{A@`{c}}}A@b}{{AAbOlOn}{{A@`{c}}}A@b}{{AAdOlOn}{{A@`{c}}}A@b}{{}c{}}000000000{{KdNn}A@n}{HjAA`}{{{d{Dj}}}AAb}{{{d{Dj}}}AAd}```````````{{}{{Cb{c}}}{}}000000000{c{{Cb{e}}}{}{}}0000000001111111111{dDf}000000000{ce{}{}}000000000{{ce}c{}{}}0000000009999999999````````````{d{{d{c}}}{}}0000{{{d{h}}}{{d{hc}}}{}}0000{{}AAf}{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}0000{{{d{Of}}{d{AAh}}}{{Cb{{A`{AAj}}C`}}}}{{{d{Of}}{d{AAl}}}{{Cb{{A`{AAj}}C`}}}}{{{d{Of}}{d{AAn}}}{{Cb{{A`{AAj}}C`}}}}``{{{d{hAB`}}}Bl}{{{d{hAB`}}{Dn{f}}}Bl}{{{d{hAB`}}NnABbABd}Bl}{{{d{hAB`}}c}Bl{{ABf{}{{Ad{{d{AAj}}}}}}}}1{An{{d{c}}}{}}0000{An{{d{hc}}}{}}0000{AnBl}0000````{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}0000{{{d{ABh}}{d{hABj}}}ABl}{{{d{AAf}}{d{hABj}}}ABl}{cc{}}{{{Cb{c}}}c{}}01011010{{c{d{D`}}C`}e{}{}}0000``{{ABn{d{AC`}}}{{d{{Ah{ACb}}}}}}{{{d{ACd}}}Hj}{{}An}0000{{}c{}}0000{AB`{{Cb{DbC`}}}}11111{ACf{{Cb{{A`{AAj}}C`}}}}{{ABn{d{AAl}}}Cj}`{{{ABb{ACh}}}ABb}{ABn{{n{NnDl}}}}{{ABnDl}{{d{{Ah{ACb}}}}}}{{{d{hAB`}}}c{}}{{B`{d{Bj}}}AB`}{{{d{hAB`}}{Dn{f}}}{{Cb{ACjC`}}}}{{{d{Of}}}ACf}{ABhAAf}```{{{d{hAB`}}ABd}Bl}`{{{d{hAB`}}ABdABh}Bl}{{{d{hAB`}}{d{ACd}}I`}Bl}`{B`Db}{{{d{hAB`}}{Dn{f}}}{{Cb{BlC`}}}}{{{d{hAB`}}f}Bl}1{{{d{AB`}}DlHj}{{A`{ABb}}}}{{{d{AB`}}HjABd}{{A`{ABb}}}}3{{{d{hACj}}HlKd}Bl}{{{d{hAB`}}{d{{Ah{c}}}}ABd}{{A`{ACl}}}ACd}555{{{d{hACj}}{d{Dj}}}Bl}``{{{d{hAB`}}{Dn{f}}c}{{Cb{BlC`}}}{{Al{{d{hACj}}}}}}``{{}{{Cb{c}}}{}}0000{c{{Cb{e}}}{}{}}000011111{B`{{Cb{DbC`}}}}{dDf}0000{ce{}{}}0000{{ce}c{}{}}0000{{{d{hACj}}{d{Ej}}}Bl}{{{d{hAB`}}{d{ACn}}}Bl}{{{d{hAB`}}{d{AAh}}}Bl}{{{d{hAB`}}{d{AAl}}}Bl}{{{d{hAB`}}{d{AD`}}KdADb}Bl}<{{{d{hAB`}}{d{AAn}}}Bl}{{{d{hACj}}{d{L`}}}Bl}{{{d{hACf}}{d{ADd}}}Bl}{{}c{}}0000``{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}0{An{{d{c}}}{}}0{An{{d{hc}}}{}}0{AnBl}0{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}0{{{Cb{c}}}c{}}{cc{}}10{{c{d{D`}}C`}e{}{}}0{{}An}0;;{{ADfOlOn}{{A@`{c}}}A@b}{{ADhOlOn}{{A@`{c}}}A@b}=={{Kd{d{Cf}}}ADf}{{{d{Dj}}}ADh}````{{}{{Cb{c}}}{}}0{c{{Cb{e}}}{}{}}011{dDf}0{ce{}{}}0{{ce}c{}{}}0{{}c{}}0``````````````````{{{d{ADj}}e}{{d{h{Ah{c}}}}}{}{{ABf{}{{Ad{c}}}}}}{{{d{ADl}}e}{{d{h{Ah{c}}}}}{}{{ABf{}{{Ad{c}}}}}}0101{{{d{ADl}}}{{d{hc}}}{}}{{{d{ADj}}}{{d{hc}}}{}}0110{d{{d{ADn}}}}`{d{{d{c}}}{}}00000000{{{d{h}}}{{d{hc}}}{}}00000000{{{d{AE`}}}AE`}{{{d{AEb}}}AEb}{{{d{AEd}}}AEd}{{d{d{hc}}}Bl{}}00{dBl}00{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}00000000{{{d{hAEf}}HjOdHl{A`{Hl}}}Bl}`{An{{d{c}}}{}}{{{d{{AEh{c}}}}}{{d{e}}}{}{}}11111111{An{{d{hc}}}{}}{{{d{h{AEh{c}}}}}{{d{he}}}{}{}}11111111{AnBl}00000000{{{d{hAEj}}AE`}{{AEl{Bl}}}}{{{d{hAEn}}AE`}{{AEl{Bl}}}}{{{d{hAEf}}AE`}{{AEl{Bl}}}}{{{d{hAF`}}AE`}{{AEl{Bl}}}}{{{d{AE`}}{d{AE`}}}Cj}{{d{d{ADn}}}Cj}{{d{d{c}}}Cj{}}0000```{{{d{hAEj}}}Bl}{{{d{hAEf}}}Bl}{{{d{hAF`}}}Bl}{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}00000000{{{d{hAEf}}Hj}{{A`{AEb}}}}{AEf{{Cb{BlC`}}}}{{{d{AE`}}{d{hABj}}}ABl}{{{d{AEb}}{d{hABj}}}ABl}{{{d{hAB`}}{d{{Ah{Hj}}}}}AEf}{{{d{hAB`}}}AEf}{{{Cb{c}}}c{}}{cc{}}1001011001011010{{c{d{D`}}C`}e{}{}}00000000`{{}An}00000000`{{}c{}}00000000000000000{AE`Cj}{{{d{AEj}}{d{Kl}}}Cj}{{{d{AEn}}{d{Kl}}}Cj}{{{d{AEf}}{d{Kl}}}Cj}{{{d{AF`}}{d{Kl}}}Cj}{AEbOd}````{{ABn{d{{n{HlACl}}}}AE`}AEn}{AE`AFb}{{{d{hAB`}}{Eb{Nn}}}AEf}{{{d{hAB`}}}AF`}{{{d{hAEj}}{d{F`}}}Bl}{{{d{hAEf}}{d{F`}}}Bl}{{{d{hAEj}}{d{Fn}}}Bl}{{{d{hAEf}}{d{Fn}}}Bl}{{{d{hAEj}}{d{Gj}}}Bl}{{{d{hAEf}}{d{Gj}}}Bl}{{{d{hAEj}}{d{Gn}}}Bl}{{{d{hAEf}}{d{Gn}}}Bl}{{{d{hAEj}}HjHl}Bl}{{{d{hAEf}}HjHl}Bl}{{{d{hAEj}}{d{AFd}}}Bl}{{{d{hAEj}}HjOdHl}Bl}{{{d{hAEn}}HjOdHl}Bl}{{{d{hAF`}}HjOdHl}Bl}54{{{d{hAEj}}{d{Mn}}}Bl}{{{d{hAEf}}{d{Mn}}}Bl}{{{d{hAEj}}{d{Lh}}}Bl}{{{d{hAEf}}{d{Lh}}}Bl}`{AEbHl}````{{{d{hAB`}}{d{Bn}}}{{Cb{BlC`}}}}{{{d{hAB`}}{d{Fl}}}{{Cb{BlC`}}}}{{{d{hAB`}}{d{Gn}}}{{Cb{BlC`}}}}<{{{d{hAB`}}{d{Jd}}}{{Cb{BlC`}}}}{{HjHj}{{A`{{Kj{Hl}}}}}}8{{{d{hAB`}}{d{Cd}}}{{Cb{BlC`}}}}{{{d{hAEf}}{d{AFf}}}Bl}{{{d{hAB`}}{d{M`}}}{{Cb{BlC`}}}}{{{d{hAB`}}{d{Mb}}}{{Cb{BlC`}}}}{{{d{hAB`}}{d{Ml}}}{{Cb{BlC`}}}}``{{{d{AEf}}}{{d{Db}}}}{{AEnc}{{AFh{{Hh{HjOdHl}}}}}{{Al{{d{h{AEh{AEn}}}}}}}}{{AEfc}{{Cb{BlC`}}}{{Al{{d{h{AEh{AEf}}}}}}}}{{AF`c}{{Cb{BlC`}}}{{Al{{d{h{AEh{AF`}}}}}}}}``````{dc{}}00{{}{{Cb{c}}}{}}00000000{c{{Cb{e}}}{}{}}00000000111111111{{{d{hAEf}}{d{{Ah{c}}}}}{{A`{{Kj{Hl}}}}}ACd}{{{d{hAEf}}Hj}{{A`{{Kj{Hl}}}}}}0{{{d{AEf}}{d{AFf}}}{{A`{AFj}}}}0{{{d{hAEf}}{d{AFf}}}{{A`{AFj}}}}1{dDf}00000000{ce{}{}}00000000{{ce}c{}{}}00000000{{{d{h{AEh{c}}}}{d{F`}}}BlAEj}{{{d{h{AEh{c}}}}{d{Fd}}}BlAEj}{{{d{h{AEh{c}}}}{d{Bn}}}BlAEj}{{{d{h{AEh{c}}}}{d{Fh}}}BlAEj}{{{d{h{AEh{c}}}}{d{Fl}}}BlAEj}{{{d{h{AEh{c}}}}{d{Gd}}}BlAEj}{{{d{h{AEh{c}}}}{d{Gh}}}BlAEj}{{{d{h{AEh{c}}}}{d{Gj}}}BlAEj}{{{d{h{AEh{c}}}}{d{Gn}}}BlAEj}{{{d{h{AEh{c}}}}{d{AFd}}}BlAEj}{{{d{h{AEh{c}}}}{d{Jf}}}BlAEj}{{{d{h{AEh{c}}}}{d{Dj}}}BlAEj}{{{d{h{AEh{c}}}}{d{Kl}}}BlAEj}{{{d{h{AEh{c}}}}{d{Cd}}}BlAEj}{{{d{h{AEh{c}}}}{d{Lf}}}BlAEj}{{{d{h{AEh{c}}}}{d{Lh}}}BlAEj}{{{d{h{AEh{c}}}}{d{M`}}}BlAEj}{{{d{h{AEh{c}}}}{d{Md}}}BlAEj}{{{d{h{AEh{c}}}}{d{L`}}}BlAEj}{{{d{h{AEh{c}}}}{d{Ml}}}BlAEj}{{{d{h{AEh{c}}}}{d{Fn}}}BlAEj}{{{d{h{AEh{c}}}}{d{Nb}}}BlAEj}{{}c{}}00000000{{{d{h{AEh{c}}}}AE`e}BlAEj{{Al{{d{h{AEh{c}}}}}}}}{AEj{{AEh{AEj}}}}`````{d{{d{c}}}{}}0000{{{d{h}}}{{d{hc}}}{}}0000{{ei}g{}{{Af{}{{Ad{c}}}}}{}{{Al{{d{{Ah{c}}}}}{{Aj{g}}}}}}0000{An{{d{c}}}{}}0000{An{{d{hc}}}{}}0000{AnBl}0000{{{d{Cf}}}{{Cn{c{Cl{Ch}{{Aj{Cj}}}}}}}{}}0000`{{{Cb{c}}}c{}}{cc{}}01010110{{c{d{D`}}C`}e{}{}}0000{HjAFl}{{{d{Mn}}}AFl}{{}An}0000?????{{AFnOlOn}{{A@`{c}}}A@b}{{AG`OlOn}{{A@`{c}}}A@b}{{AFlOlOn}{{A@`{c}}}A@b}{{AGbOlOn}{{A@`{c}}}A@b}{{AGdOlOn}{{A@`{c}}}A@b}{{}c{}}0000```{{HjHj}AFn}{{{d{AFf}}}AG`}{HjAGb}{{KdAGf}AGd}`````{{}{{Cb{c}}}{}}0000{c{{Cb{e}}}{}{}}000011111{dDf}0000{ce{}{}}0000{{ce}c{}{}}0000``99999","D":"Of","p":[[5,"DesugarCtxt",0],[1,"reference"],[5,"OwnerId",1145],[0,"mut"],[5,"LocalDefId",1146],[5,"Item",1147],[5,"UnordMap",1148],[6,"Option",1149],[5,"RustItemCtxt",64],[17,"Item"],[10,"Iterator",1150],[1,"slice"],[17,"Output"],[10,"FnOnce",1151],[1,"usize"],[5,"GlobalEnv",1152],[6,"Node",1147],[8,"QueryResult",1153],[5,"FluxItems",1147],[5,"CrateDesugar",0],[5,"Specs",1154],[1,"unit"],[5,"SpecFunc",1155],[5,"ErrorGuaranteed",1156],[6,"Result",1157],[5,"Qualifier",1155],[1,"str"],[5,"DataRequest",1158],[1,"bool"],[1,"fn"],[5,"RequestFilterDataProvider",1159],[5,"CycleError",1160],[5,"ResolverOutput",1154],[5,"Providers",1153],[5,"TypeId",1161],[5,"LiftCtxt",1162],[5,"Path",1155],[5,"DefId",1146],[6,"MaybeExternId",1154],[8,"RefineParams",1155],[8,"FxIndexSet",1163],[10,"DesugarCtxt",64],[5,"AliasReft",1155],[5,"AliasReft",1147],[6,"Async",1155],[6,"FnRetTy",1155],[5,"Ty",1147],[6,"BaseSort",1155],[6,"Sort",1147],[5,"BaseTy",1155],[5,"BaseTy",1147],[6,"Ensures",1155],[6,"Ensures",1147],[5,"EnumDef",1155],[5,"VariantDef",1155],[5,"Variant",1164],[5,"VariantDef",1147],[5,"Expr",1155],[5,"Expr",1147],[6,"FnInput",1155],[5,"FnOutput",1155],[5,"FnOutput",1147],[5,"FnSig",1155],[5,"RefineParam",1147],[5,"FnSpec",1155],[5,"Generics",1147],[5,"FnSig",1147],[1,"tuple"],[5,"Ident",1165],[5,"NodeId",1155],[5,"PathExpr",1147],[6,"Res",1147],[5,"GenericArg",1155],[6,"GenericArg",1147],[5,"AssocItemConstraint",1147],[5,"TraitRef",1155],[8,"GenericBounds",1147],[5,"WhereBoundPredicate",1155],[5,"WhereBoundPredicate",1147],[5,"Generics",1155],[5,"RefinedBy",1147],[5,"Impl",1155],[5,"ImplAssocReft",1155],[5,"ImplAssocReft",1147],[5,"ImplItem",1147],[6,"TyKind",1147],[5,"FluxItemCtxt",64],[5,"Indices",1155],[5,"RefineArg",1147],[5,"Span",1166],[5,"Lit",1167],[6,"Lit",1147],[6,"ExprRes",1147],[5,"PathSegment",1155],[5,"PathSegment",1147],[5,"Ty",1155],[6,"QPath",1147],[5,"Qualifier",1147],[6,"RefineArg",1155],[5,"RefineParam",1155],[10,"ExactSizeIterator",1168],[6,"Sort",1155],[5,"SpecFunc",1147],[5,"StructDef",1155],[5,"Trait",1155],[5,"TraitAssocReft",1155],[5,"TraitAssocReft",1147],[5,"TraitItem",1147],[5,"PolyTraitRef",1147],[5,"TyAlias",1155],[5,"ExprPath",1155],[6,"ExprKind",1147],[5,"VariantRet",1155],[5,"VariantRet",1147],[10,"Diagnostic",1169],[6,"LangItem",1170],[5,"Path",1147],[6,"Lifetime",1147],[5,"Symbol",1165],[5,"FhirId",1147],[5,"ParamId",1147],[6,"ParamKind",1147],[5,"FluxSession",1171],[1,"i128"],[5,"IntTooLarge",204],[5,"DiagCtxtHandle",1172],[6,"Level",1172],[5,"Diag",1169],[10,"EmissionGuarantee",1169],[5,"UnexpectedLiteral",204],[5,"InvalidDotVar",204],[5,"InvalidFuncAsVar",204],[5,"InvalidFunc",204],[5,"InvalidLoc",204],[5,"InvalidNumericSuffix",204],[5,"UnresolvedGenericParam",204],[5,"InvalidAliasReft",204],[5,"InvalidVariantRet",204],[5,"Rib",439],[5,"ImplItem",1164],[5,"ItemId",1164],[5,"Item",1164],[5,"TraitItem",1164],[5,"CrateResolver",439],[6,"Res",1173],[6,"Namespace",1173],[10,"IntoIterator",1174],[6,"RibKind",439],[5,"Formatter",1175],[8,"Result",1175],[5,"TyCtxt",1176],[8,"UsePath",1164],[5,"ModChild",1177],[10,"Segment",439],[5,"OpaqueTypeCollector",439],[1,"never"],[5,"ItemResolver",439],[5,"PartialRes",1147],[5,"Block",1164],[5,"Mod",1164],[5,"HirId",1145],[5,"Ty",1164],[5,"UnsupportedSignature",620],[5,"UnresolvedPath",620],[5,"Arena",1178],[5,"Arena",1179],[10,"Any",1161],[6,"ScopeKind",670],[5,"ParamRes",670],[5,"ParamDef",670],[5,"RefinementResolver",670],[5,"ScopedVisitorWrapper",670],[10,"ScopedVisitor",670],[6,"ControlFlow",1180],[5,"ImplicitParamCollector",670],[5,"IllegalBinderVisitor",670],[5,"Scope",670],[5,"GenericParam",1155],[5,"SortPath",1155],[5,"Vec",1181],[6,"SortRes",1147],[5,"UnresolvedVar",1018],[5,"DuplicateParam",1018],[5,"UnresolvedSort",1018],[5,"InvalidUnrefinedParam",1018],[5,"IllegalBinder",1018],[6,"BindKind",1155],[8,"Result",0],[8,"Result",64],[8,"Result",439],[8,"Result",670],[5,"Sorts",670]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAP4DNgABAAAAAwAAAAYABQAOABAAIAAAACIABgArABYAQwAAAEUABwBQAEEAkwABAJYADAClAEUA9QAoACABAAAiAQEAJgEAACgBAQAsAQEAMAEUAE8BaQC6AQAAvgEDAMMBCwDUAQIA2QEeAPkBAQD8AQAA/wEAAAECDgAVAgYAHQJVAHUCCAB/AgAAgQIDAIcCFwCgAgQApgIAAKgCMQDjAj8AJAMAACcDAAApAwEALQMAAC8DAQAyAwAANAMTAFEDuAAPBBUAJwQAACkEAAArBAEALgQLAD8EOgA="}],\ ["flux_driver",{"t":"JJCCFFNNNNNOHNNONNHNNNNNNNNHNNNNNNNNOONNNNNNNHNNNNNNNNNNNNNNONNIFPPPPPFFGFPPPPPPPPPPPIPFPPPPNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCONCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNHHOHNQQQNNONOOOONNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFFFNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFPIONNNNNNHNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNHONNONNNNNNNNONNNNNNNNNNNNNNNNNNNNFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["DEFAULT_LOCALE_RESOURCE","DEFAULT_LOCALE_RESOURCES","callbacks","collector","CrateChecker","FluxCallbacks","after_analysis","borrow","borrow","borrow_mut","borrow_mut","cache","check_crate","check_def","check_def_catching_bugs","checker_config","collect_and_apply","collect_and_apply","collect_specs","config","default","deref","deref","deref_mut","deref_mut","drop","drop","encode_and_save_metadata","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","full_compilation","genv","init","init","into","into","into_query_param","into_query_param","matches_check_def","mir_borrowck","new","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","verify","verify","vzip","vzip","CFGResult","CFGSetting","CrateConfig","Err","Err","ExternSpec","Field","FluxAttr","FluxAttrCFG","FluxAttrKind","FluxAttrs","FnSig","Generics","Ignore","ImplAssocReft","Invariant","Items","Ok","Ok","Opaque","QualNames","RefinedBy","Result","ShouldFail","SpecCollector","TraitAssocReft","Trusted","TypeAlias","Variant","allow_dups","attr_name","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_crate","collect_enum_def","collect_fn_spec","collect_ignore_and_trusted","collect_impl","collect_impl_item","collect_item","collect_mod","collect_struct_def","collect_trait","collect_trait_item","collect_type_alias","collect_variant","crate_config","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","dups","errors","errors","extern_spec","extern_specs","field","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fn_sig","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics","ignore","impl_assoc_refts","init","init","init","init","init","init","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","items","kind","map","map","name","nested_visit_map","new","opaque","parse","parse_attrs_and_report_dups","parse_cfg","parse_cfg_item","parse_field_spec","parse_flux_attr","parse_flux_attrs","parse_opt_reason","parse_opt_yes_no","parse_sess","parse_yes_no_with_reason","qual_names","read_attr","read_attrs","read_flag","refined_by","report_dups","setting","should_fail","span","span","specs","tcx","to_result","to_result","to_result","to_result","to_result","to_result","trait_assoc_refts","trusted","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_crate_cfg","try_read_setting","ty_alias","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variant","visit_impl_item","visit_item","visit_trait_item","vzip","vzip","vzip","vzip","vzip","vzip","AttrOnOpaque","CFGError","DuplicatedAttr","InvalidAttr","MismatchedSpecName","MissingVariant","SyntaxErr","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","field_span","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","item_ident","item_ident_span","message","msg","name","new","new","new","span","span","span","span","span","span","span","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Err","ExternImplItem","ExternSpecCollector","Ok","Result","block","borrow","borrow","borrow_mut","borrow_mut","cannot_resolve_trait_impl","check_generics","cmp_generic_param_def","collect","collect_and_apply","collect_and_apply","collect_extern_enum","collect_extern_fn","collect_extern_impl","collect_extern_impl_fn","collect_extern_struct","collect_extern_trait","collect_extern_trait_fn","deref","deref","deref_mut","deref_mut","drop","drop","emit","errors","extract_callee_from_body","extract_extern_id_from_fn","extract_extern_id_from_impl","extract_extern_id_from_impl_fn","extract_extern_id_from_struct","extract_extern_id_from_trait","extract_extern_id_from_trait_fn","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","ident_or_def_span","impl_id","init","init","inner","insert_extern_id","into","into","into_query_param","into_query_param","invalid_impl_block","invalid_item_in_inherent_impl","item_at","item_id","item_not_in_trait","item_not_in_trait_impl","malformed","new","run","tcx","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","CannotResolveTraitImpl","DupExternSpec","ExternSpecForLocalDef","InvalidImplBlock","InvalidItemInInherentImpl","ItemNotInTrait","ItemNotInTraitImpl","MalformedExternSpec","MismatchedGenerics","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","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","extern_def","extern_impl_span","extern_item_span","extern_trait_span","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","local_def_span","name","name","name","name","name","new","previous_span","span","span","span","span","span","span","span","span","span","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_driver"],[4,"flux_driver::callbacks"],[63,"flux_driver::collector"],[285,"flux_driver::collector::errors"],[457,"flux_driver::collector::extern_specs"],[537,"flux_driver::collector::extern_specs::errors"],[757,"rustc_interface::interface"],[758,"rustc_interface::queries"],[759,"rustc_driver_impl"],[760,"flux_middle::global_env"],[761,"rustc_span"],[762,"core::result"],[763,"rustc_span::def_id"],[764,"core::iter::traits::iterator"],[765,"core::ops::function"],[766,"flux_middle"],[767,"icu_provider::request"],[768,"icu_provider_adapters::filter"],[769,"rustc_query_system::query::plumbing"],[770,"rustc_middle::ty::context"],[771,"rustc_middle::query::queries::mir_borrowck"],[772,"core::any"],[773,"flux_errors"],[774,"rustc_hir::hir_id"],[775,"rustc_hir::hir"],[776,"flux_syntax::surface"],[777,"core::option"],[778,"flux_config"],[779,"core::fmt"],[780,"flux_middle::fhir"],[781,"alloc::vec"],[782,"rustc_ast::ast"],[783,"flux_syntax"],[784,"rustc_ast::tokenstream"],[785,"rustc_span::span_encoding"],[786,"rustc_hir::def"],[787,"rustc_span::symbol"],[788,"rustc_errors"],[789,"rustc_errors::diagnostic"],[790,"rustc_middle::ty::generics"],[791,"core::convert"]],"i":[0,0,0,0,0,0,2,11,2,11,2,11,0,11,11,11,11,2,0,2,2,11,2,11,2,11,2,0,11,2,11,11,2,2,11,2,2,11,11,2,11,2,11,2,11,0,11,11,2,11,2,11,2,11,2,11,2,11,2,2,2,11,2,0,0,52,109,110,52,52,0,0,0,0,52,52,52,52,52,52,109,110,52,52,52,0,52,0,52,52,52,52,31,0,33,35,31,52,53,54,33,35,31,52,53,54,33,33,35,31,52,53,54,33,33,33,33,33,33,33,33,33,33,33,33,33,35,33,35,31,52,53,54,33,35,31,52,53,54,33,35,31,52,53,54,35,0,33,35,0,35,33,35,31,52,53,54,35,31,52,53,54,35,33,33,35,35,31,31,52,52,53,53,54,54,33,35,31,52,53,54,35,35,35,33,35,31,52,53,54,33,35,31,52,53,54,33,35,31,52,53,54,35,35,31,35,54,52,33,35,35,33,33,54,54,33,33,33,0,0,33,0,35,0,0,0,35,33,53,35,31,53,33,33,33,35,31,52,53,54,35,35,33,35,31,52,53,54,33,35,31,52,53,54,54,0,35,33,35,31,52,53,54,33,35,31,52,53,54,33,35,31,52,53,54,35,33,33,33,33,35,31,52,53,54,0,0,0,0,0,0,0,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,86,80,85,68,79,86,87,88,80,80,85,85,68,68,79,79,79,86,86,87,87,88,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,88,88,68,79,80,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,80,85,68,79,86,87,88,111,0,0,111,0,90,90,95,90,95,90,90,0,90,90,95,90,90,90,90,90,90,90,90,95,90,95,90,95,90,0,90,90,90,90,90,90,90,90,95,90,90,95,95,90,95,0,95,90,95,90,90,90,95,90,95,90,90,90,95,90,90,90,90,90,90,90,95,90,95,90,95,90,95,90,95,90,95,90,95,0,0,0,0,0,0,0,0,0,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,108,103,104,105,100,101,102,103,104,105,106,107,108,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,106,103,104,105,106,107,100,107,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108,100,101,102,103,104,105,106,107,108],"f":"``````{{{f{bd}}{f{h}}{f{j}}}l}{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0`{n{{Ad{A`Ab}}}}{{{f{bAf}}Ah}{{Ad{A`Ab}}}}0`{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{f{{An{c}}}}}{{B`{g}}}}}}0{nBd}{{{f{bd}}{f{bBf}}}A`}{{}d}{Bh{{f{c}}}{}}0{Bh{{f{bc}}}{}}0{BhA`}0{nA`}{{{f{Bj}}}{{Cb{c{C`{Bl}{{B`{Bn}}}}}}}{}}0{{{Ad{c}}}c{}}{cc{}}01{{c{f{Cd}}Ab}e{}{}}0``{{}Bh}0{{}c{}}000{{{f{Af}}Cf}Bn}{{ChAh}Cj}{nAf}{{}{{Ad{c}}}{}}0{c{{Ad{e}}}{}{}}011{fCl}0{ce{}{}}0{{ce}c{}{}}0{{{f{d}}{f{h}}{f{j}}}A`}`99`````````````````````````````{{{f{Cn}}}Bn}`{f{{f{c}}}{}}00000{{{f{b}}}{{f{bc}}}{}}00000{{Ch{f{D`}}}{{Ad{BdAb}}}}{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{f{{An{c}}}}}{{B`{g}}}}}}00000{{{f{bDb}}}{{Ad{A`Ab}}}}{{{f{bDb}}DdDf{f{Dh}}}{{Ad{{f{bDj}}Ab}}}}{{{f{bDb}}DdDf}{{Ad{{f{bDl}}Ab}}}}{{{f{bDb}}{f{bDf}}Ah}A`}{{{f{bDb}}DdDf}{{Ad{A`Ab}}}}{{{f{bDb}}{f{Dn}}}{{Ad{A`Ab}}}}{{{f{bDb}}{f{E`}}}{{Ad{A`Ab}}}}2{{{f{bDb}}DdDf{f{Eb}}}{{Ad{{f{bEd}}Ab}}}}3{{{f{bDb}}{f{Ef}}}{{Ad{A`Ab}}}}4{{{f{bDb}}{f{Eh}}Bn}{{Ad{{El{Ej}}Ab}}}}{{{f{bDf}}}{{El{En}}}}{Bh{{f{c}}}{}}00000{Bh{{f{bc}}}{}}00000{BhA`}00000{{{f{Df}}}{{`{{Al{}{{Aj{{F`{{f{Bj}}{f{{An{Cn}}}}}}}}}}}}}}``{{{f{Df}}}Bn}`{{{f{bDf}}}{{El{Fb}}}}{{{f{Bj}}}{{Cb{c{C`{Bl}{{B`{Bn}}}}}}}{}}00000{{{f{Df}}{f{bFd}}}Ff}{{{f{Cn}}{f{bFd}}}Ff}{{{f{Fh}}{f{bFd}}}Ff}{{{f{Fj}}{f{bFd}}}Ff}{{{f{Fl}}{f{bFd}}}Ff}{{{f{bDf}}}{{El{Fn}}}}{cc{}}{{{Ad{c}}}c{}}0101101010{{c{f{Cd}}Ab}e{}{}}00000{{{f{bDf}}}{{El{G`}}}}{{{f{bDf}}}{{El{Gb}}}}{{{f{bDf}}}{{Gf{Gd}}}}{{}Bh}00000{{}c{}}00000000000{{{f{bDf}}}{{Gf{Gh}}}}{{{f{bDf}}}{{Gf{Gj}}}}```{{{f{Fh}}}{{f{Bj}}}}{{{f{bDb}}}c{}}{{{Gf{Cn}}}Df}{{{f{Df}}}Bn}{{{f{bDb}}{f{Gl}}eg}{{Ad{FhAb}}}{}{{Bb{{f{bGn}}{f{H`}}Hb}{{B`{{Hd{c}}}}}}}{{Bb{c}{{B`{Fh}}}}}}{{{f{bDb}}Ah}{{Ad{DfAb}}}}{{{f{Hf}}}{{Ad{FlHh}}}}{{{f{bFl}}{f{Hj}}}{{Ad{A`Hh}}}}{{{f{bDb}}{f{Hl}}Bn}{{Ad{{El{Fb}}Ab}}}}{{{f{bDb}}{f{Hf}}Hn}{{Ad{CnAb}}}}4{{{f{{An{Hj}}}}}{{F`{{El{I`}}{f{{An{Hj}}}}}}}}{{{f{{An{Hj}}}}Bn}{{F`{Bn{f{{An{Hj}}}}}}}}`{{{f{Hf}}}{{Ad{BnA`}}}}{{{f{bDf}}}{{El{Ib}}}}```{{{f{bDf}}}{{El{Id}}}}{{{f{bDb}}{f{Df}}}{{Ad{A`Ab}}}}`<````{{}{{Ad{c}}}{}}00000{{{f{bDf}}}{{Gf{If}}}}{{{f{bDf}}}{{El{Ih}}}}{c{{Ad{e}}}{}{}}00000333333{{{f{bFl}}}{{Ad{EnHh}}}}`{{{f{bDf}}}{{El{Ij}}}}{fCl}00000{ce{}{}}00000{{ce}c{}{}}00000{{{f{bDf}}}{{El{Ej}}}}{{{f{bDb}}{f{Dn}}}A`}{{{f{bDb}}{f{E`}}}A`}{{{f{bDb}}{f{Ef}}}A`}{{}c{}}00000```````{f{{f{c}}}{}}000000{{{f{b}}}{{f{bc}}}{}}000000{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{f{{An{c}}}}}{{B`{g}}}}}}000000`{Bh{{f{c}}}{}}000000{Bh{{f{bc}}}{}}000000{BhA`}000000`{{{f{Bj}}}{{Cb{c{C`{Bl}{{B`{Bn}}}}}}}{}}000000{cc{}}{{{Ad{c}}}c{}}0101{IlIn}21122121{{c{f{Cd}}Ab}e{}{}}000000{{}Bh}000000<<<<<<<{{J`JbJd}{{Jf{c}}}Jh}{{JjJbJd}{{Jf{c}}}Jh}{{HhJbJd}{{Jf{c}}}Jh}{{InJbJd}{{Jf{c}}}Jh}{{JlJbJd}{{Jf{c}}}Jh}{{JnJbJd}{{Jf{c}}}Jh}{{K`JbJd}{{Jf{c}}}Jh}{{}c{}}000000`````{{Hb{f{Hl}}}Jl}{HbJn}{{ChKbCf}K`}```````{{}{{Ad{c}}}{}}000000{c{{Ad{e}}}{}{}}0000001111111{fCl}000000{ce{}{}}000000{{ce}c{}{}}0000008888888``````{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{Kd}}}Ab}{{{f{bKd}}DdCf}{{Ad{A`Ab}}}}{{{f{Kf}}{f{Kf}}}Bn}{{{f{bDb}}Kh}{{Ad{A`Ab}}}}{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{f{{An{c}}}}}{{B`{g}}}}}}0{{{f{bKd}}Dd{f{Dh}}Df}{{Ad{A`Ab}}}}{{{f{bKd}}{f{E`}}Df}{{Ad{A`Ab}}}}{{{f{bKd}}Dd{f{Kj}}Df}{{Ad{A`Ab}}}}{{{f{bKd}}{El{Cf}}{f{Kl}}Df}{{Ad{KnAb}}}}{{{f{bKd}}Dd{f{Eb}}Df}{{Ad{A`Ab}}}}{{{f{bKd}}Dd{f{L`}}{f{{An{Lb}}}}Df}{{Ad{A`Ab}}}}{{{f{bKd}}Cf{f{Lb}}Df}{{Ad{A`Ab}}}}{Bh{{f{c}}}{}}0{Bh{{f{bc}}}{}}0{BhA`}0{{{f{Kd}}c}AbLd}`{{{f{Kd}}Kh}{{Ad{CfAb}}}}{{{f{Kd}}{f{E`}}}{{Ad{CfAb}}}}{{{f{Kd}}Dd{f{Kj}}}{{Ad{CfAb}}}}{{{f{Kd}}{El{Cf}}{f{Kl}}}{{Ad{KnAb}}}}2{{{f{Kd}}{f{L`}}}{{Ad{CfAb}}}}{{{f{Kd}}Cf{f{Lb}}}{{Ad{CfAb}}}}{{{f{Bj}}}{{Cb{c{C`{Bl}{{B`{Bn}}}}}}}{}}0{{{Ad{c}}}c{}}{cc{}}10{{c{f{Cd}}Ab}e{}{}}0{{Chc}Hb{{Lf{Cf}}}}`{{}Bh}0`{{{f{bKd}}AhCf}{{Ad{A`Ab}}}}{{}c{}}000{{{f{Kd}}}Ab}{{{f{Kd}}DdCf}Ab}{{{f{Kd}}Bh}{{Ad{{f{E`}}Ab}}}}`{{{f{Kd}}DdCfCf}Ab}03{{{f{bDb}}Kh}{{Ad{KdAb}}}}{Kd{{Ad{A`Ab}}}}{{{f{Kd}}}Ch}{{}{{Ad{c}}}{}}0{c{{Ad{e}}}{}{}}011{fCl}0{ce{}{}}0{{ce}c{}{}}0<<`````````{f{{f{c}}}{}}00000000{{{f{b}}}{{f{bc}}}{}}00000000{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{f{{An{c}}}}}{{B`{g}}}}}}00000000`{Bh{{f{c}}}{}}00000000{Bh{{f{bc}}}{}}00000000{BhA`}00000000````{{{f{Bj}}}{{Cb{c{C`{Bl}{{B`{Bn}}}}}}}{}}00000000{cc{}}{{{Ad{c}}}c{}}1001011010010101{{c{f{Cd}}Ab}e{}{}}00000000{{}Bh}00000000{{}c{}}00000000{{LhJbJd}{{Jf{c}}}Jh}{{LjJbJd}{{Jf{c}}}Jh}{{LlJbJd}{{Jf{c}}}Jh}{{LnJbJd}{{Jf{c}}}Jh}{{M`JbJd}{{Jf{c}}}Jh}{{MbJbJd}{{Jf{c}}}Jh}{{MdJbJd}{{Jf{c}}}Jh}{{MfJbJd}{{Jf{c}}}Jh}{{MhJbJd}{{Jf{c}}}Jh}999999999``````{HbLh}``````````{{}{{Ad{c}}}{}}00000000{c{{Ad{e}}}{}{}}00000000111111111{fCl}00000000{ce{}{}}00000000{{ce}c{}{}}00000000?????????","D":"Jn","p":[[0,"mut"],[5,"FluxCallbacks",4],[1,"reference"],[5,"Compiler",757],[5,"Queries",758],[6,"Compilation",759],[5,"GlobalEnv",760],[1,"unit"],[5,"ErrorGuaranteed",761],[6,"Result",762],[5,"CrateChecker",4],[5,"LocalDefId",763],[17,"Item"],[10,"Iterator",764],[1,"slice"],[17,"Output"],[10,"FnOnce",765],[5,"Specs",766],[5,"Config",757],[1,"usize"],[1,"str"],[5,"DataRequest",767],[1,"bool"],[1,"fn"],[5,"RequestFilterDataProvider",768],[5,"CycleError",769],[5,"DefId",763],[5,"TyCtxt",770],[8,"ProvidedValue",771],[5,"TypeId",772],[5,"FluxAttr",63],[5,"FluxSession",773],[5,"SpecCollector",63],[5,"OwnerId",774],[5,"FluxAttrs",63],[5,"EnumDef",775],[5,"EnumDef",776],[5,"FnSpec",776],[5,"ImplItem",775],[5,"Item",775],[6,"VariantData",775],[5,"StructDef",776],[5,"TraitItem",775],[5,"Variant",775],[5,"VariantDef",776],[6,"Option",777],[5,"CrateConfig",778],[1,"tuple"],[5,"Ty",776],[5,"Formatter",779],[8,"Result",779],[6,"FluxAttrKind",63],[5,"CFGSetting",63],[5,"FluxAttrCFG",63],[5,"FnSig",776],[5,"Generics",776],[6,"Ignored",780],[5,"ImplAssocReft",776],[5,"Vec",781],[5,"Expr",776],[6,"Item",776],[5,"DelimArgs",782],[5,"ParseSess",783],[5,"TokenStream",784],[5,"Span",785],[8,"ParseResult",783],[5,"AttrItem",782],[5,"CFGError",285],[6,"NestedMetaItem",782],[5,"FieldDef",775],[6,"DefKind",786],[5,"Symbol",787],[5,"QualNames",776],[8,"RefineParams",776],[5,"TraitAssocReft",776],[6,"Trusted",780],[5,"TyAlias",776],[5,"ParseError",783],[5,"SyntaxErr",285],[5,"DuplicatedAttr",285],[5,"DiagCtxtHandle",788],[6,"Level",788],[5,"Diag",789],[10,"EmissionGuarantee",789],[5,"InvalidAttr",285],[5,"AttrOnOpaque",285],[5,"MissingVariant",285],[5,"MismatchedSpecName",285],[5,"Ident",787],[5,"ExternSpecCollector",457],[5,"GenericParamDef",790],[5,"BodyId",775],[5,"Impl",775],[5,"ImplItemRef",775],[5,"ExternImplItem",457],[8,"GenericBounds",775],[5,"TraitItemRef",775],[10,"Diagnostic",789],[10,"Into",791],[5,"MalformedExternSpec",537],[5,"CannotResolveTraitImpl",537],[5,"InvalidImplBlock",537],[5,"ItemNotInTraitImpl",537],[5,"InvalidItemInInherentImpl",537],[5,"ItemNotInTrait",537],[5,"ExternSpecForLocalDef",537],[5,"DupExternSpec",537],[5,"MismatchedGenerics",537],[8,"Result",63],[8,"CFGResult",63],[8,"Result",457]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJ4CKAAAAAAAAgAOABMADAAiAAYAKwAXAEUACwBTABgAcgAxAKUAAQCoAAAAqwAAAK0AAACvAA8AxQBtADoBHQBZAQEAXAEAAF4BAABgAQEAZAEAAGYBDgB8AU0AywEBAM4BAADQAQcA2gEYAPQBAAD2AQcAAAIDAAUCLwA+AigAaAIAAGoCAQBtAgAAcAIAAHICAQB1AgAAdwIAAHkCEQCUAmEA"}],\ ["flux_errors",{"t":"SFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNN","n":["E0999","ErrorGuaranteed","Errors","FluxSession","abort","abort_if_errors","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone_into","clone_to_uninit","collect","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","dcx","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","emit","emit","emit","emit_err","emit_fatal","emitter","equals","equivalent","equivalent","equivalent","equivalent","equivalent","err","err_count","error_reported","filterable","filterable","filterable","fingerprint_style","finish_diagnostics","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","has_errors","has_type_flags","has_vars_bound_at_or_above","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","into_result","into_result","is_suggestable","make_suggestable","new","new","parse_sess","recover","sess","to_debug_str","to_fingerprint","to_owned","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip"],"q":[[0,"flux_errors"],[109,"rustc_span"],[110,"rustc_middle::arena"],[111,"core::iter::traits::collect"],[112,"rustc_hir"],[113,"core::any"],[114,"core::iter::traits::iterator"],[115,"core::ops::function"],[116,"core::cmp"],[117,"rustc_errors"],[118,"rustc_errors::diagnostic"],[119,"rustc_session::options"],[120,"rustc_span::source_map"],[121,"alloc::sync"],[122,"rustc_error_messages"],[123,"rustc_errors::emitter"],[124,"alloc::boxed"],[125,"core::result"],[126,"icu_provider::request"],[127,"icu_provider_adapters::filter"],[128,"rustc_query_system::dep_graph"],[129,"rustc_query_system::query::plumbing"],[130,"rustc_type_ir::flags"],[131,"rustc_type_ir"],[132,"rustc_middle::ty::context"],[133,"rustc_middle::ty"],[134,"core::option"],[135,"rustc_query_system::dep_graph::dep_node"],[136,"alloc::string"],[137,"rustc_data_structures::fingerprint"]],"i":[0,0,0,0,1,1,3,3,3,3,3,1,13,3,1,13,3,3,3,13,1,13,3,3,3,1,1,13,3,1,13,3,1,13,3,1,13,13,1,1,0,3,3,3,3,3,3,13,1,3,1,13,3,3,1,1,1,13,13,3,3,1,13,3,13,3,3,1,13,3,1,13,3,1,13,3,13,13,3,3,1,13,1,3,13,3,3,3,1,13,3,1,13,3,1,13,3,1,13,3,1,13,3,1,13,3,1,13,3],"f":"````{{{d{b}}f}h}{{{d{b}}}j}{{{d{l}}e}{{d{n{A`{c}}}}}{}{{Ad{}{{Ab{c}}}}}}{{{d{Af}}e}{{d{n{A`{c}}}}}{}{{Ad{}{{Ab{c}}}}}}{{{d{l}}}{{d{nc}}}{}}{{{d{Af}}}{{d{nc}}}{}}{d{{d{Ah}}}}{d{{d{c}}}{}}00{{{d{n}}}{{d{nc}}}{}}00{{d{d{nc}}}j{}}{dj}{{{d{nAj}}f}j}{{ei}g{}{{Al{}{{Ab{c}}}}}{}{{B`{{d{{A`{c}}}}}{{An{g}}}}}}00{{d{d{c}}}Bb{}}0{{{d{b}}}{{d{Bd}}}}{Bf{{d{c}}}{}}00{Bf{{d{nc}}}{}}00{Bfj}00{{{d{b}}c}fBh}{{{d{Aj}}c}fBh}01{{{d{b}}c}h{{Bh{Bj}}}}{{{d{Bl}}{C`{Bn}}Cb}{{Cf{Cd}}}}{{d{d{Ah}}}Ch}{{d{d{c}}}Ch{}}0000`{{{d{b}}}Bf}{d{{Cj{j}}}}{{{d{Cl}}}{{Db{c{D`{Cn}{{An{Ch}}}}}}}{}}00{{}Dd}{{{d{b}}}j}{cc{}}{{{Cj{c}}}c{}}0110{{c{d{Df}}f}e{}{}}00{{{d{Aj}}}Ch}{{dDh}Ch}{{dDj}Ch}{{}Bf}00{{}c{}}00000{Aj{{Cj{jf}}}}{Ajc{}}{{DlCh}Ch}{{DlCh{E`{Dn}}}{{E`{c}}}{}}{{{d{Bl}}{C`{Bn}}Cb}b}{{{d{b}}}Aj}`{{c{d{Eb}}}{{E`{e}}}{}{}}`{{dc}Ed{}}{{dc}Ef{}}{dc{}}{{}{{Cj{c}}}{}}00{c{{Cj{e}}}{}{}}00111{dEh}00{ce{}{}}00{{ce}c{}{}}00???","D":"Af","p":[[5,"FluxSession",0],[1,"reference"],[5,"ErrorGuaranteed",0,109],[1,"never"],[1,"unit"],[5,"Arena",110],[0,"mut"],[1,"slice"],[17,"Item"],[10,"IntoIterator",111],[5,"Arena",112],[10,"Any",113],[5,"Errors",0],[10,"Iterator",114],[17,"Output"],[10,"FnOnce",115],[6,"Ordering",116],[5,"DiagCtxt",117],[1,"usize"],[10,"Diagnostic",118],[5,"FatalAbort",118],[5,"Options",119],[5,"SourceMap",120],[5,"Arc",121],[8,"LazyFallbackBundle",122],[10,"Emitter",123],[5,"Box",124],[1,"bool"],[6,"Result",125],[1,"str"],[5,"DataRequest",126],[1,"fn"],[5,"RequestFilterDataProvider",127],[6,"FingerprintStyle",128],[5,"CycleError",129],[5,"TypeFlags",130],[5,"DebruijnIndex",131],[5,"TyCtxt",132],[5,"Ty",133],[6,"Option",134],[5,"DepNode",135],[5,"String",136],[5,"Fingerprint",137],[5,"TypeId",113]],"r":[[1,109]],"b":[[36,"impl-ErrorEmitter-for-Errors%3C\'_%3E"],[37,"impl-Errors%3C\'sess%3E"],[76,"impl-Errors%3C\'sess%3E"],[77,"impl-ErrorCollector%3CErrorGuaranteed%3E-for-Errors%3C\'_%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGIABgAAAAEABAAQABgAHwA5AAEAPQAJAEoAIwA="}],\ -["flux_fhir_analysis",{"t":"JHHHHHHCCHCHHHHHHHHHHHHHHHHCPPIHHCFFFNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNOOONNNOOONNNOONNNNNNNNNNNNNNNNNNPPFPFFGPFGFNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNHNNNHHNNNHHNNNNNNNNHNHHNNNHHHNHNNHHNHNHNHNHHHNNHNNNHHHNNNNNNNNNNNNNNNNNNNNNNONNCHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNOOONNOOONNNNONONONNNNNNNHNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOOOOOFFFFFFNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPGFFFONHONNNNNNNNNNNNONNNNNNNNNNNNNNNNNCONNNNHNNNNNNNNNNNNOONNNNNNNNNNNNONNOONNNNNNNNNNNNNHNNNNONNNNNNNNHNNNNNNNNNNNNNNOOFFFNNNNNNNNNOONNNNNNNNNNOOOOOONONNNNNONNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNONONNNNNNNPPIFNNNHHHHNHNNNNCONNNNONHNNCHCNNNNNNNNNNHNNNNNFFFFFFFFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPFINNHNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNOPFFFPFIFNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNONNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","n":["DEFAULT_LOCALE_RESOURCE","adt_def","adt_sort_def_of","assoc_refinement_def","assoc_refinements_of","check_crate_wf","check_wf","compare_impl_item","conv","default_assoc_refinement_def","errors","fn_sig","generics_of","impl_assoc_refinement_def","invariants_of","item_bounds","normalize","predicates_of","provide","qualifiers","refinement_generics_of","sort_of_assoc_reft","spec_func_decl","spec_func_defns","ty_param_owner","type_of","variants_of","wf","Err","Ok","Result","check_assoc_reft","check_impl_against_trait","errors","IncompatibleSort","InvalidAssocReft","MissingAssocReft","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","expected","filterable","filterable","filterable","found","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","name","name","name","new","new","new","span","span","span","to_result","to_result","to_result","trait_","trait_","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Bound","Coalesce","ConvCtxt","EarlyParam","Env","Layer","LayerKind","List","LookupResult","LookupResultKind","ParamEntry","add_coercions","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bin_rel_sort","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bug_on_infer_sort","check_generic_arg_count","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","coalesce","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","conv_adt_sort_def","conv_alias_reft","conv_assoc_item_constraint","conv_assoc_path","conv_assoc_reft_body","conv_assoc_reft_def","conv_base_ty","conv_bin_op","conv_const_arg","conv_default_assoc_reft_def","conv_defn","conv_ensures","conv_enum_variant","conv_enum_variants","conv_expr","conv_exprs","conv_fn_bound","conv_fn_decl","conv_fn_output","conv_fn_sig","conv_func","conv_func_decl","conv_func_sort","conv_generic_args","conv_generic_args_into","conv_generic_bounds","conv_generic_param_kind","conv_generic_predicates","conv_generics","conv_invariant","conv_invariants","conv_invariants","conv_lifetime","conv_lit","conv_opaque_ty","conv_opaque_ty","conv_poly_func_sort","conv_poly_trait_ref","conv_qualifier","conv_refine_arg","conv_refinement_generics","conv_requires","conv_sort","conv_sort_path","conv_sorts","conv_struct_variant","conv_trait_object","conv_ty","conv_ty","conv_ty_ctor","conv_ty_to_generic_arg","conv_un_op","def_id_to_param_const","def_id_to_param_ty","depth","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","early_param","emit","empty","errors","expand_type_alias","fill_generic_args_defaults","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics_of_owner","genv","get","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_bound_vars","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","kind","layers","list","lookup","map","mode","name","new","new","new","new","next_const_index","next_const_vid","next_region_index","next_region_vid","next_type_index","next_type_vid","owner","param_as_bound_var","pop_layer","probe_single_bound_for_assoc_item","probe_type_param_bounds","push_layer","resolve_param_sort","resolve_param_sort","sort","struct_compat","to_bound_vars","to_early_param_args","to_expr","to_owned","to_owned","to_owned","to_path","to_result","to_result","to_result","to_result","to_result","to_result","to_result","top_layer","trait_defines_associated_item_named","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","ty_param_name","ty_to_base_generic","ty_to_generic_arg","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","var_span","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wfckresults","bound_regions","debruijn","entry","index","index","kind","name","AmbiguousAssocType","AssocTypeNotFound","GenericArgCountMismatch","InvalidBaseInstance","TooFewGenericArgs","TooManyGenericArgs","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","def_descr","def_descr","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","expected","filterable","filterable","filterable","filterable","filterable","filterable","found","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","max","min","name","new","new","new","new","new","new","span","span","span","span","span","span","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","ArgCountMismatch","Ensures","FnInput","FnOutput","FnSigErr","Holes","Mismatch","Zipper","a_index","adjust_binders","assert_eq_or_incompatible","b_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","consts","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","emit_fn_sig_err","enter_a_binder","enter_b_binder","enter_binders","errors","errors","filterable","filterable","filterable","filterable","fn_sig","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","holes","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","locs","new","new","owner_id","regions","replace_holes","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_alias","type_id","type_id","type_id","type_id","types","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","variants","vzip","vzip","vzip","vzip","zip_bty","zip_const","zip_fn_sig","zip_generic_arg","zip_output","zip_poly_existential_pred","zip_poly_fn_sig","zip_region","zip_ty","zip_variant","expected","i","FieldCountMismatch","IncompatibleParamCount","IncompatibleRefinement","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","def_descr","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","ensures","expected","expected_fields","expected_span","expected_span","expected_span","expected_ty","field","fields","filterable","filterable","filterable","fn_input","fn_output","found","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","new","new","span","span","span","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_alias","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","DefinitionCycle","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","msg","new","span","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","Err","Ok","Result","Wf","borrow","borrow_mut","check","check_fn_quals","check_fn_spec","check_invariants","check_node","check_output_locs","check_qualifier","collect_and_apply","deref","deref_mut","drop","errors","errors","filterable","from","from","from_cycle_error","infcx","init","insert_params","into","into_query_param","param_usage","resolve_params","sortck","to_result","try_from","try_into","type_id","upcast","upcast_from","visit_ensures","visit_fn_decl","visit_impl_assoc_reft","visit_path","visit_refine_params","visit_requires","visit_trait_assoc_reft","visit_ty","visit_variant_ret","vzip","ArgCountMismatch","CannotInferSort","DuplicatedEnsures","EarlyBoundArgCountMismatch","ExpectedFun","FieldNotFound","InvalidParamPos","InvalidPrimitiveDotAccess","MissingEnsures","ParamCountMismatch","ParamNotDetermined","RefinedUnrefinableType","SortAnnotationNeeded","SortMismatch","UnexpectedFun","UnknownQualifier","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","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expected","expected","expected","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fld","found","found","found","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_pred","loc","name","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","sort","sort","sort","sort","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","thing","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Err","Ok","ParamUsesChecker","Result","borrow","borrow_mut","check","check_func_params_uses","check_params_are_value_determined","collect_and_apply","deref","deref_mut","drop","errors","filterable","from","from","from_cycle_error","infcx","init","into","into_query_param","new","run","to_result","try_from","try_into","type_id","upcast","upcast_from","visit_expr","visit_fn_output","visit_node","visit_path_segment","visit_refine_arg","visit_struct_def","visit_ty","visit_ty_alias","visit_variant","visit_variant_ret","vzip","xi","Err","FullResolver","ImplicitParamInferer","InferCtxt","Ok","OpportunisticResolver","Result","ShallowResolver","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bv_size_unification_table","check_abs","check_expr","check_loc","check_record","check_refine_arg","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","emit_err","emit_field_not_found","emit_sort_mismatch","ensure_resolved_var","equate","errors","filterable","filterable","filterable","filterable","filterable","fold_sort","fold_sort","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","fully_resolve","genv","infcx","infcx","infcx","infcx","infer","infer_implicit_params","infer_mode","init","init","init","init","init","insert_param","insert_params","instantiate_func_sort","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_results","is_coercible","is_coercible_from_func","is_coercible_to_func","is_single_field_record","new","next_bv_size_var","next_bv_size_vid","next_num_var","next_num_vid","next_sort_var","next_sort_vid","num_unification_table","param_sort","params","resolve_param_sort","resolve_vars_if_possible","shallow_resolve","sort_unification_table","synth_alias_reft_app","synth_app","synth_binary_op","synth_expr","synth_func","synth_lit","synth_unary_op","synth_var","to_result","to_result","to_result","to_result","to_result","try_equate","try_equate_bv_sizes","try_equate_inner","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","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","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","visit_ty","vzip","vzip","vzip","vzip","vzip","wfckresults"],"q":[[0,"flux_fhir_analysis"],[28,"flux_fhir_analysis::compare_impl_item"],[34,"flux_fhir_analysis::compare_impl_item::errors"],[113,"flux_fhir_analysis::conv"],[395,"flux_fhir_analysis::conv::LayerKind"],[396,"flux_fhir_analysis::conv::LookupResultKind"],[402,"flux_fhir_analysis::conv::errors"],[556,"flux_fhir_analysis::conv::struct_compat"],[678,"flux_fhir_analysis::conv::struct_compat::FnSigErr"],[680,"flux_fhir_analysis::conv::struct_compat::errors"],[766,"flux_fhir_analysis::errors"],[791,"flux_fhir_analysis::wf"],[838,"flux_fhir_analysis::wf::errors"],[1240,"flux_fhir_analysis::wf::param_usage"],[1282,"flux_fhir_analysis::wf::sortck"],[1465,"flux_middle::global_env"],[1466,"rustc_span::def_id"],[1467,"flux_middle::rty"],[1468,"flux_middle::queries"],[1469,"rustc_span::symbol"],[1470,"flux_middle::rty::expr"],[1471,"flux_middle::rty::binder"],[1472,"rustc_span"],[1473,"core::result"],[1474,"alloc::rc"],[1475,"core::option"],[1476,"flux_middle::fhir"],[1477,"alloc::vec"],[1478,"flux_middle::rty::fold"],[1479,"flux_middle::rty::normalize"],[1480,"flux_middle"],[1481,"core::iter::traits::iterator"],[1482,"core::ops::function"],[1483,"icu_provider::request"],[1484,"icu_provider_adapters::filter"],[1485,"rustc_query_system::query::plumbing"],[1486,"rustc_errors"],[1487,"rustc_errors::diagnostic"],[1488,"rustc_span::span_encoding"],[1489,"alloc::string"],[1490,"core::any"],[1491,"rustc_middle::arena"],[1492,"core::iter::traits::collect"],[1493,"rustc_hir"],[1494,"flux_syntax::surface"],[1495,"flux_rustc_bridge::ty"],[1496,"flux_arc_interner"],[1497,"rustc_type_ir"],[1498,"rustc_hir::hir"],[1499,"rustc_target::spec::abi"],[1500,"rustc_middle::ty::sty"],[1501,"core::fmt"],[1502,"core::borrow"],[1503,"rustc_type_ir::const_kind"],[1504,"rustc_type_ir::region_kind"],[1505,"rustc_type_ir::ty_kind"],[1506,"rustc_middle::ty::predicate"],[1507,"rustc_middle::ty::generics"],[1508,"rustc_middle::ty::assoc"],[1509,"core::cmp"],[1510,"rustc_target::abi"],[1511,"flux_errors"],[1512,"rustc_data_structures::unord"],[1513,"rustc_hir::hir_id"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,215,0,0,0,0,0,0,0,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,49,54,55,49,49,49,54,54,55,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,142,68,0,142,0,0,0,68,0,0,0,59,68,68,68,68,59,59,72,67,68,69,141,142,59,72,67,68,69,141,142,0,59,67,68,69,67,68,69,67,68,69,67,59,72,67,68,69,141,142,0,59,59,59,0,0,59,59,59,0,0,59,59,59,59,59,59,59,59,0,59,0,0,59,59,59,0,0,0,59,0,59,59,0,0,59,0,59,0,59,0,59,0,0,0,59,59,0,59,59,59,0,0,0,72,59,72,67,68,69,141,142,59,72,67,68,69,141,142,59,72,67,68,69,141,142,72,59,72,0,0,59,59,72,67,68,69,141,142,67,68,69,141,142,59,59,72,72,67,67,68,68,69,69,141,141,142,142,59,72,67,68,69,141,142,59,59,67,59,72,67,68,69,141,142,59,72,67,68,69,141,142,67,67,59,72,67,68,69,141,142,67,141,72,67,72,67,69,69,59,72,67,69,59,59,59,59,59,59,59,59,72,59,59,72,0,59,69,0,67,72,141,67,68,69,141,59,72,67,68,69,141,142,72,59,59,72,67,68,69,141,142,59,72,67,68,69,141,142,0,59,59,59,72,67,68,69,141,142,59,72,67,68,69,141,142,59,72,67,68,69,141,142,141,59,72,67,68,69,141,142,59,216,217,217,217,218,217,218,0,0,0,0,0,0,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,164,161,162,163,164,165,166,164,165,166,161,161,162,162,163,163,164,164,165,165,166,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,166,165,162,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,161,162,163,164,165,166,172,172,172,172,0,0,0,0,167,167,0,167,167,168,172,171,167,168,172,171,167,168,172,171,171,171,167,168,172,171,167,168,172,171,167,168,172,171,167,167,167,167,0,167,167,168,172,171,0,167,167,168,168,172,172,171,171,167,168,172,171,167,167,167,168,172,171,167,168,172,171,167,168,172,171,167,167,168,167,171,171,167,168,172,171,167,168,172,171,167,168,172,171,0,167,168,172,171,171,167,168,172,171,167,168,172,171,0,167,168,172,171,167,167,167,167,167,167,167,167,167,167,219,219,0,0,0,176,178,179,176,178,179,176,178,179,176,178,176,178,179,176,178,179,176,178,179,176,178,179,176,178,179,176,176,179,176,178,179,176,176,178,176,176,178,178,179,179,176,178,179,176,178,179,176,178,179,176,178,179,176,178,179,178,179,176,178,179,176,178,179,176,178,179,176,178,179,176,176,178,179,176,178,179,176,178,179,176,178,179,0,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,220,220,0,0,186,186,186,0,0,0,0,186,0,186,186,186,186,0,186,186,186,186,186,186,186,0,186,186,0,0,0,186,186,186,186,186,186,186,186,186,186,0,186,186,186,186,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,197,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,198,188,189,190,194,197,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,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,195,191,200,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,195,196,198,199,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,189,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,221,221,0,0,204,204,0,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,222,0,0,0,222,0,0,0,181,207,205,206,213,181,207,205,206,213,181,181,181,181,181,181,181,207,205,206,213,181,207,205,206,213,181,207,205,206,213,181,207,205,206,213,181,181,181,181,181,207,181,207,205,206,213,205,206,181,181,207,207,205,205,206,206,213,213,181,207,205,206,213,181,181,207,205,206,213,207,207,181,181,207,205,206,213,181,181,181,181,207,205,206,213,181,207,205,206,213,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,0,181,181,181,207,205,206,213,181,181,181,205,206,205,206,205,206,205,206,205,206,205,206,213,205,206,205,206,181,207,205,206,213,181,207,205,206,213,181,207,205,206,213,181,207,205,206,213,181,207,205,206,213,207,181,207,205,206,213,181],"f":"`{{bd}{{h{f}}}}{{bd}{{h{j}}}}{{bdl}{{h{{A`{n}}}}}}{{bd}{{h{Ab}}}}{b{{Ah{AdAf}}}}{{bd}{{h{{Al{Aj}}}}}}``{{bdl}{{h{{An{{A`{n}}}}}}}}`{{bd}{{h{{A`{B`}}}}}}{{bd}{{h{Bb}}}}2{{b{Bf{Bd}}}{{h{{Bj{Bh}}}}}}{{bd}{{h{{A`{Bl}}}}}}{{bc}{{h{c}}}Bn}{{bd}{{h{{A`{C`}}}}}}{{{Bf{CbCd}}}Ad}{b{{h{{Bj{Cf}}}}}}{{bd}{{h{Ch}}}}{{bdl}{{h{{An{{A`{Cj}}}}}}}}{{bl}{{h{Cl}}}}{b{{h{Cn}}}}{{bD`}D`}{{bd}{{h{{A`{Db}}}}}}{{bd}{{h{{Df{{A`{Dd}}}}}}}}````{{bDhD`l}{{Ah{AdAf}}}}{{bDh}{{Ah{AdAf}}}}````{Bf{{Bf{c}}}{}}00{{{Bf{Cb}}}{{Bf{Cbc}}}{}}00{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}00{Ed{{Bf{c}}}{}}00{Ed{{Bf{Cbc}}}{}}00{EdAd}00`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}00`{{{Ah{c}}}c{}}{cc{}}1001{{c{Bf{F`}}Af}e{}{}}00{{}Ed}00{{}c{}}00{{FbFdFf}{{Fh{c}}}Fj}{{FlFdFf}{{Fh{c}}}Fj}{{FnFdFf}{{Fh{c}}}Fj}333```{{G`lCjCj}Fb}{{G`lGb}Fl}{{G`lGb}Fn}```{{}{{Ah{c}}}{}}00``{c{{Ah{e}}}{}{}}00111{BfGd}00{ce{}{}}00{{ce}c{}{}}00;;;```````````{{{Bf{Gf}}GhGj}Gh}{{{Bf{Gl}}e}{{Bf{Cb{Dn{c}}}}}{}{{Gn{}{{Dj{c}}}}}}{{{Bf{H`}}e}{{Bf{Cb{Dn{c}}}}}{}{{Gn{}{{Dj{c}}}}}}{{{Bf{Gl}}}{{Bf{Cbc}}}{}}{{{Bf{H`}}}{{Bf{Cbc}}}{}}{{{Bf{Gf}}Gj}Hb}{Bf{{Bf{c}}}{}}000000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}000000{{}Hb}{{{Bf{CbGf}}{Bf{Bb}}D`{Bf{Hd}}}h}{{{Bf{Hf}}}Hf}{{{Bf{Hh}}}Hh}{{{Bf{Hj}}}Hj}{{Bf{Bf{Cbc}}}Ad{}}00{BfAd}00{{{Bf{Gf}}D`{Bf{{Dn{Hl}}}}}{{h{Hf}}}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}000000{{bDh{Bf{Hn}}}{{h{j}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Ib}}}{{h{Id}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{If}}{Bf{Ih}}{Bf{Cb{Bj{Ij}}}}}h}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Il}}{Bf{Hd}}}{{h{In}}}}{{b{Bf{Aj}}{Bf{{Dn{Hl}}}}{Bf{J`}}{Bf{Jb}}}{{h{n}}}}{{b{Bf{Jd}}{Bf{Aj}}}{{h{n}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Jf}}}{{h{In}}}}{{{Bf{Gf}}JhGj}Jj}{{{Bf{CbGf}}Jl}Jn}{{b{Bf{K`}}{Bf{Aj}}}{{h{{An{n}}}}}}{{b{Bf{Kb}}{Bf{Aj}}}{{h{{An{Kd}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Kf}}}{{h{Kh}}}}{{bDh{Bf{Kj}}{Bf{Aj}}}{{h{Kl}}}}{{bDh{Bf{Kn}}{Bf{Aj}}}{{h{{Bj{Kl}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{J`}}}{{h{Gh}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{{Dn{J`}}}}}{{h{{L`{Gh}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{In}}{Bf{Lb}}Ld{Bf{Cb{Bj{Ij}}}}}h}{{{Bf{CbGf}}{Bf{CbI`}}LfLh{Bf{Lj}}}{{h{Ll}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Ln}}}{{h{{Mb{M`}}}}}}{{bDh{Bf{Md}}{Bf{Aj}}}{{h{{A`{B`}}}}}}{{{Bf{Gf}}{Bf{I`}}{Bf{Mf}}}Gh}{{b{Bf{Kb}}}{{h{Cl}}}}{{b{Bf{Mh}}{Bf{Cbc}}}{{h{Cj}}}{{Mj{}{{E`{Hb}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}D`{Bf{Hd}}}{{h{{Bj{Ml}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}D`{Bf{Hd}}{Bf{Cb{Bj{Ml}}}}}h}{{{Bf{CbGf}}{Bf{CbI`}}G`InMn}{{h{{Bj{Ij}}}}}}{{{Bf{N`}}}Nb}{{bd{Bf{{Dn{Nd}}}}{Bf{Aj}}}{{h{{A`{C`}}}}}}{{b{Bf{Nf}}DhEj}{{h{Bb}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{J`}}}{{h{Bh}}}}{{bDh{Bf{{Dn{Hl}}}}{Bf{{Dn{J`}}}}{Bf{Aj}}}{{h{{Bj{Bh}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{{Dn{J`}}}}}{{h{{Bj{Bh}}}}}}{{{Bf{CbGf}}{Bf{I`}}Nh}Nj}{NlNn}{{bd{Bf{O`}}{Bf{Aj}}}{{h{Bl}}}}{{{Bf{CbGf}}{Bf{CbI`}}Ob{Bf{{Dn{Od}}}}{Bf{{Dn{Of}}}}}{{h{In}}}}{{b{Bf{Oh}}{Bf{Cbc}}}{{h{Oj}}}{{Mj{}{{E`{Hb}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}G`{Bf{In}}{Bf{Lb}}{Bf{Cb{Bj{Ij}}}}}h}{{b{Bf{Ol}}{Bf{Aj}}}{{h{Cf}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Of}}}{{h{Gh}}}}{{b{Bf{{Dn{Hl}}}}{An{{Bf{Aj}}}}}{{h{{L`{On}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{A@`}}}{{h{Gh}}}}{{b{Bf{Jb}}{Bf{Cbc}}}{{h{Hb}}}{{Mj{}{{E`{Hb}}}}}}{{b{Bf{A@b}}{Bf{Cbc}}}{{h{Hb}}}{{Mj{}{{E`{Hb}}}}}}{{b{Bf{{Dn{Jb}}}}{Bf{Cbc}}}{{h{{Bj{Hb}}}}}{{Mj{}{{E`{Hb}}}}}}{{bDh{Bf{A@d}}{Bf{Aj}}}{{h{{Df{{Bj{Kl}}}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{{Dn{Lb}}}}Nh}{{h{In}}}}{{b{Bf{Il}}{Bf{Aj}}}{{h{{Mb{In}}}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{Il}}}{{h{In}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{A@f}}}{{h{Db}}}}{{{Bf{CbGf}}{Bf{CbI`}}{Bf{A@h}}{Bf{Il}}}{{h{Ml}}}}{A@jA@l}{{bD`}A@n}{{bD`}AA`}{{{Bf{I`}}}Ed}{Ed{{Bf{c}}}{}}000000{Ed{{Bf{Cbc}}}{}}000000{EdAd}000000`{{{Bf{Gf}}c}AfAAb}{{}I`}`{{bDh{Bf{AAd}}{Bf{Aj}}}{{h{{Mb{In}}}}}}{{{Bf{Gf}}D`{Bf{Cb{Bj{Ml}}}}}h}{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}000000{{{Bf{Hf}}{Bf{CbAAf}}}AAh}{{{Bf{Hh}}{Bf{CbAAf}}}AAh}{{{Bf{Hj}}{Bf{CbAAf}}}AAh}{{{Bf{AAj}}{Bf{CbAAf}}}AAh}{{{Bf{AAl}}{Bf{CbAAf}}}AAh}{cc{}}{{{Ah{c}}}c{}}101001011010{{c{Bf{F`}}Af}e{}{}}000000{{{Bf{Gf}}}{{h{Bb}}}}`{{{Bf{Hf}}c}{{An{{AAn{Ed{Bf{Hj}}}}}}}{{ABb{AB`}}}}{{}Ed}000000{{}c{}}000000{{Hfb}{{h{{L`{ABd}}}}}}{Hf{{`{{Dl{}{{Dj{Hj}}}}}}}}2222222```{{{Bf{Gf}}ABf{Bf{{Dn{Hl}}}}}{{h{Hf}}}}{{{Bf{I`}}{Bf{Mf}}}AAj}```{{b{Bf{Aj}}}Gf}{{{Bf{{Dn{Hl}}}}}I`}{{{Bf{Gf}}{Bf{{Dn{Hl}}}}Hh}{{h{Hf}}}}{{HbABhl}Hj}`{{{Bf{CbGf}}}ABj}`{{{Bf{CbGf}}}ABl}`{{{Bf{CbGf}}}ABn}{{{Bf{Gf}}}AC`}{{{Bf{CbGf}}{Bf{ACb}}}{{h{ABd}}}}{{{Bf{CbI`}}}Hf}{{{Bf{Gf}}eACd}{{Ah{ACfAf}}}{{Dl{}{{Dj{ACf}}}}}{{ACh{}{{E`{c}}}}}}{{{Bf{Gf}}D`ACd}ACj}{{{Bf{CbI`}}Hf}Ad}{{b{Bf{Hl}}{An{{Bf{Aj}}}}}{{h{Hb}}}}{{{Bf{Gf}}{Bf{Hl}}}{{h{Hb}}}}``{{{Bf{Hf}}b}{{h{{L`{ABd}}}}}}{{{Bf{I`}}}{{L`{Gh}}}}{{{Bf{AAj}}}Gh}{Bfc{}}00{{{Bf{AAj}}}ACl}{{}{{Ah{c}}}{}}000000{{{Bf{I`}}}{{Bf{Hf}}}}{{{Bf{Gf}}D`ACnACd}{{An{{Bf{AD`}}}}}}{c{{Ah{e}}}{}{}}0000003333333{{bD`}l}{{{Bf{Gf}}G`{Bf{In}}}{{h{Ml}}}}{{{Bf{Gf}}NbG`{Bf{In}}}{{h{Ml}}}}{BfGd}000000{ce{}{}}000000{{ce}c{}{}}000000`{{}c{}}000000``````````````{Bf{{Bf{c}}}{}}00000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}00000{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}00000```{Ed{{Bf{c}}}{}}00000{Ed{{Bf{Cbc}}}{}}00000{EdAd}00000`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}00000```{{{Ah{c}}}c{}}{cc{}}1001010101{{c{Bf{F`}}Af}e{}{}}00000{{}Ed}00000;;;;;;{{ADbFdFf}{{Fh{c}}}Fj}{{ADdFdFf}{{Fh{c}}}Fj}{{ADfFdFf}{{Fh{c}}}Fj}{{ADhFdFf}{{Fh{c}}}Fj}{{ADjFdFf}{{Fh{c}}}Fj}{{ADlFdFf}{{Fh{c}}}Fj}{{}c{}}00000```{ACdADb}{ACdADd}{G`ADf}{{bD`{Bf{Hd}}Ed}ADh}{{bD`{Bf{Hd}}Ed}ADj}{{bD`{Bf{Hd}}Ed}ADl}``````{{}{{Ah{c}}}{}}00000{c{{Ah{e}}}{}{}}00000111111{BfGd}00000{ce{}{}}00000{{ce}c{}{}}00000;;;;;;`````````{{{Bf{ADn}}{Bf{c}}}cBn}{{cc}{{Ah{AdAE`}}}{AEbAEd}}`{Bf{{Bf{c}}}{}}000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}000{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}000`{{}AEf}{Ed{{Bf{c}}}{}}000{Ed{{Bf{Cbc}}}{}}000{EdAd}000{{{Bf{CbADn}}AEh{Bf{Lj}}}Ad}{{{Bf{CbADn}}{Bf{{Mb{c}}}}g}e{}{}{{Eb{{Bf{CbADn}}{Bf{c}}}{{E`{e}}}}}}0{{{Bf{CbADn}}{Bf{{Mb{c}}}}{Bf{{Mb{c}}}}g}e{}{}{{Eb{{Bf{CbADn}}{Bf{c}}{Bf{c}}}{{E`{e}}}}}}``{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}000{{b{Bf{Lj}}{Bf{B`}}Dh}{{h{B`}}}}{{{Ah{c}}}c{}}{cc{}}101010{{c{Bf{F`}}Af}e{}{}}000``{{}Ed}000{{}c{}}0000000`{{bDh}ADn}{{cc}AE`AEd}``{{{Bf{AEf}}{Bf{c}}}cBn}{{}{{Ah{c}}}{}}000{c{{Ah{e}}}{}{}}0001111{{b{Bf{AAd}}{Bf{In}}Dh}{{h{In}}}}{BfGd}000`{ce{}{}}000{{ce}c{}{}}000{{b{Bf{{Dn{Kl}}}}Dh}{{h{{Bj{Kl}}}}}}::::{{{Bf{CbADn}}{Bf{AEj}}{Bf{AEj}}}{{Ah{AdAE`}}}}{{{Bf{CbADn}}{Bf{Jn}}{Bf{Jn}}}{{Ah{AdAE`}}}}{{{Bf{CbADn}}{Bf{Ll}}{Bf{Ll}}}{{Ah{AdAEh}}}}{{{Bf{CbADn}}{Bf{Ml}}{Bf{Ml}}}{{Ah{AdAE`}}}}{{{Bf{CbADn}}{Bf{M`}}{Bf{M`}}}{{Ah{AdAEh}}}}{{{Bf{CbADn}}{Bf{{Mb{AEl}}}}{Bf{{Mb{AEl}}}}}{{Ah{AdAE`}}}}{{{Bf{CbADn}}{Bf{B`}}{Bf{B`}}}{{Ah{AdAEh}}}}{{{Bf{CbADn}}{Bf{Nj}}{Bf{Nj}}}Ad}{{{Bf{CbADn}}{Bf{In}}{Bf{In}}}{{Ah{AdAE`}}}}{{{Bf{CbADn}}{Bf{Kl}}{Bf{Kl}}AEn}Ad}`````{Bf{{Bf{c}}}{}}00{{{Bf{Cb}}}{{Bf{Cbc}}}{}}00{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}00``{Ed{{Bf{c}}}{}}00{Ed{{Bf{Cbc}}}{}}00{EdAd}00{{bDh{Bf{Lj}}{Bf{In}}Ed}AF`}``````{{bDhAEnAFb}AF`}`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}00{{bDh{Bf{Lj}}Ed}AF`}{{bDh{Bf{Lj}}}AF`}`{{{Ah{c}}}c{}}{cc{}}1001{{c{Bf{F`}}Af}e{}{}}00{{}Ed}00{{}c{}}00{{AF`FdFf}{{Fh{c}}}Fj}{{AFdFdFf}{{Fh{c}}}Fj}{{AFfFdFf}{{Fh{c}}}Fj}333{{b{Bf{Lj}}Dh}AFd}{{bEdDhAEn}AFf}```{{}{{Ah{c}}}{}}00{c{{Ah{e}}}{}{}}00111{{bDh{Bf{AAd}}}AF`}{BfGd}00{ce{}{}}00{{ce}c{}{}}00;;;`{Bf{{Bf{c}}}{}}{{{Bf{Cb}}}{{Bf{Cbc}}}{}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}{Ed{{Bf{c}}}{}}{Ed{{Bf{Cbc}}}{}}{EdAd}{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}{{{Ah{c}}}c{}}{cc{}}{{c{Bf{F`}}Af}e{}{}}{{}Ed}{{}c{}}{{AFhFdFf}{{Fh{c}}}Fj}1`{{G`{Bj{l}}}AFh}`{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{BfGd}{ce{}{}}{{ce}c{}{}}7````{Bf{{Bf{c}}}{}}{{{Bf{Cb}}}{{Bf{Cbc}}}{}}{{{Bf{CbAFj}}{Bf{AFl}}}{{Ah{AdAf}}}}{{{Bf{AFn}}{Bf{{AG`{l}}}}{Bf{{Dn{ACd}}}}}{{Ah{AdAf}}}}{{b{Bf{Kb}}}{{Ah{AjAf}}}}{{b{Dh{AGb}}{Bf{{Dn{Hl}}}}{Bf{{Dn{J`}}}}}{{Ah{AjAf}}}}{{b{Bf{AFl}}}{{Ah{AjAf}}}}{{{Bf{CbAGd}}{Bf{Lj}}}Ad}{{b{Bf{Ol}}}{{Ah{AjAf}}}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}{Ed{{Bf{c}}}{}}{Ed{{Bf{Cbc}}}{}}{EdAd}``{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}{{{Ah{c}}}c{}}{cc{}}{{c{Bf{F`}}Af}e{}{}}`{{}Ed}?{{}c{}}0`{{{Bf{CbAFj}}{Bf{AFl}}}{{Ah{AdAf}}}}`{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{BfGd}{ce{}{}}{{ce}c{}{}}{{{Bf{CbAGd}}{Bf{Kf}}}Ad}{{{Bf{CbAGd}}{Bf{Lj}}}Ad}{{{Bf{CbAGd}}{Bf{Jd}}}Ad}{{{Bf{CbAGd}}{Bf{A@f}}}Ad}{{{Bf{AFl}}c}{{Ah{AdAf}}}{{Mj{{Bf{Hl}}}{{E`{{Ah{AdAf}}}}}}}}{{{Bf{CbAGd}}{Bf{A@`}}}Ad}{{{Bf{CbAGd}}{Bf{K`}}}Ad}{{{Bf{CbAGd}}{Bf{Il}}}Ad}{{{Bf{CbAGd}}{Bf{AGf}}}Ad}?````````````````{Bf{{Bf{c}}}{}}000000000000000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}000000000000000{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}000000000000000{Ed{{Bf{c}}}{}}000000000000000{Ed{{Bf{Cbc}}}{}}000000000000000{EdAd}000000000000000````{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}000000000000000``````{cc{}}{{{Ah{c}}}c{}}101010100101101001100110010110{{c{Bf{F`}}Af}e{}{}}000000000000000{{}Ed}000000000000000{{}c{}}000000000000000{{AGhFdFf}{{Fh{c}}}Fj}{{AGjFdFf}{{Fh{c}}}Fj}{{AGlFdFf}{{Fh{c}}}Fj}{{AGnFdFf}{{Fh{c}}}Fj}{{AH`FdFf}{{Fh{c}}}Fj}{{AHbFdFf}{{Fh{c}}}Fj}{{AHdFdFf}{{Fh{c}}}Fj}{{AHfFdFf}{{Fh{c}}}Fj}{{AHhFdFf}{{Fh{c}}}Fj}{{AHjFdFf}{{Fh{c}}}Fj}{{AHlFdFf}{{Fh{c}}}Fj}{{AHnFdFf}{{Fh{c}}}Fj}{{AI`FdFf}{{Fh{c}}}Fj}{{AIbFdFf}{{Fh{c}}}Fj}{{AIdFdFf}{{Fh{c}}}Fj}{{AIfFdFf}{{Fh{c}}}Fj}{{}c{}}000000000000000```{{G`HbHb}AGh}{{{An{G`}}GbEdEd}AGj}{{G`EdEd}AGl}{{{Bf{Mf}}}AGn}{G`AH`}{{{Bf{Mf}}}AHb}{{G`{Bf{Hb}}}AHd}{{G`{Bf{Hb}}}AHf}{{G`{Bf{Hb}}}AHh}{{G`EdEd}AHj}{{HbACd}AHl}{{{Bf{Hb}}ACd}AHn}{{G`l}AI`}{{{Bf{Hl}}}AIb}{G`AId}{G`AIf}`````````````````````{{}{{Ah{c}}}{}}000000000000000{c{{Ah{e}}}{}{}}0000000000000001111111111111111{BfGd}000000000000000{ce{}{}}000000000000000{{ce}c{}{}}000000000000000{{}c{}}000000000000000````{Bf{{Bf{c}}}{}}{{{Bf{Cb}}}{{Bf{Cbc}}}{}}{{{Bf{AFj}}{Bf{AFl}}}{{Ah{AdAf}}}}{{{Bf{CbAIh}}{Bf{J`}}Ej}Ad}{{{Bf{CbAIh}}{Bf{{Dn{Hl}}}}}Ad}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}{Ed{{Bf{c}}}{}}{Ed{{Bf{Cbc}}}{}}{EdAd}`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}{cc{}}{{{Ah{c}}}c{}}{{c{Bf{F`}}Af}e{}{}}`{{}Ed}>>{{{Bf{AFj}}}AIh}{{AIhc}{{Ah{AdAf}}}{{Eb{{Bf{CbAIh}}}}}}{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{BfGd}{ce{}{}}{{ce}c{}{}}{{{Bf{CbAIh}}{Bf{J`}}}Ad}{{{Bf{CbAIh}}{Bf{Ln}}}Ad}{{{Bf{CbAIh}}{Bf{AFl}}}Ad}{{{Bf{CbAIh}}{Bf{Hd}}}Ad}{{{Bf{CbAIh}}{Bf{Of}}}Ad}{{{Bf{CbAIh}}{Bf{A@d}}}Ad}{{{Bf{CbAIh}}{Bf{Il}}}Ad}{{{Bf{CbAIh}}{Bf{AAd}}}Ad}{{{Bf{CbAIh}}{Bf{Kj}}}Ad}{{{Bf{CbAIh}}{Bf{AGf}}}Ad}{{}c{}}`````````{Bf{{Bf{c}}}{}}0000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}0000`{{{Bf{CbAFj}}{Bf{Of}}{Bf{{Dn{Hl}}}}{Bf{J`}}{Bf{Hb}}}{{Ah{AdAf}}}}{{{Bf{CbAFj}}{Bf{J`}}{Bf{Hb}}}{{Ah{AdAf}}}}{{{Bf{CbAFj}}{Bf{Mf}}}{{Ah{AdAf}}}}{{{Bf{CbAFj}}{Bf{Of}}{Bf{{Dn{Of}}}}{Bf{Hb}}}{{Ah{AdAf}}}}{{{Bf{CbAFj}}{Bf{Of}}{Bf{Hb}}}{{Ah{AdAf}}}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}0000{Ed{{Bf{c}}}{}}0000{Ed{{Bf{Cbc}}}{}}0000{EdAd}0000{{{Bf{AFj}}c}AfAAb}{{{Bf{CbAFj}}{Bf{Hb}}ACd}Af}{{{Bf{CbAFj}}G`{Bf{Hb}}{Bf{Hb}}}Af}{{{Bf{CbAFj}}{Bf{Mf}}}{{Ah{HbAf}}}}{{{Bf{CbAFj}}{Bf{Hb}}{Bf{Hb}}}Hb}`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}0000{{{Bf{CbAIj}}{Bf{Hb}}}Hb}{{{Bf{CbAIl}}{Bf{Hb}}}Hb}{{{Ah{c}}}c{}}{cc{}}01010101{{c{Bf{F`}}Af}e{}{}}0000{{{Bf{CbAFj}}{Bf{Hb}}}{{Ah{HbAd}}}}`````{{{Bf{CbAFj}}{Bf{AFl}}}{{Ah{AdAf}}}}{{{Bf{CbAIn}}{Bf{Of}}{Bf{Hb}}}Ad}{{{Bf{AFj}}AB`}ABh}{{}Ed}0000{{{Bf{CbAFj}}AB`HbAJ`}Ad}{{{Bf{CbAFj}}{Bf{{Dn{Hl}}}}}{{Ah{AdAf}}}}{{{Bf{CbAFj}}Oj}Cj}{{}c{}}000000000{AFjAj}{{{Bf{CbAFj}}{Bf{Hb}}{Bf{Hb}}Gj}Ej}{{{Bf{CbAFj}}{Bf{Hb}}Gj}{{An{Oj}}}}0{{{Bf{CbAFj}}{Bf{Hb}}}{{An{{AAn{D`Hb}}}}}}{{bAC`}AFj}{{{Bf{CbAFj}}}AJb}{{{Bf{CbAFj}}}AJd}{{{Bf{CbAFj}}}Hb}{{{Bf{CbAFj}}}AJf}1{{{Bf{CbAFj}}}AJh}`{{{Bf{AFj}}AB`}Hb}`{{{Bf{CbAFj}}{Bf{Hl}}}{{Ah{AdAf}}}}{{{Bf{CbAFj}}{Bf{Hb}}}Hb}0`{{{Bf{CbAFj}}{Bf{Ib}}{Bf{{Dn{J`}}}}G`}{{Ah{HbAf}}}}{{{Bf{CbAFj}}{Bf{Mf}}{Bf{{Dn{J`}}}}G`}{{Ah{HbAf}}}}{{{Bf{CbAFj}}{Bf{J`}}Jh{Bf{J`}}{Bf{J`}}}{{Ah{HbAf}}}}{{{Bf{CbAFj}}{Bf{J`}}}{{Ah{HbAf}}}}{{{Bf{CbAFj}}{Bf{Mf}}}{{Ah{CjAf}}}}{NlHb}{{{Bf{CbAFj}}A@j{Bf{J`}}}{{Ah{HbAf}}}}{{{Bf{CbAFj}}{Bf{Mf}}}Hb}{{}{{Ah{c}}}{}}0000{{{Bf{CbAFj}}{Bf{Hb}}{Bf{Hb}}}{{An{Hb}}}}{{{Bf{CbAFj}}AJbAJb}{{An{AJb}}}}1{{{Bf{Cb}}{Bf{{Mb{c}}}}}{{Ah{{Mb{c}}}}}Bn}0{{{Bf{Cb}}{Bf{AEj}}}{{Ah{AEj}}}}0{{{Bf{Cb}}{Bf{Jn}}}{{Ah{Jn}}}}0{{{Bf{Cb}}{Bf{Gh}}}{{Ah{Gh}}}}0{{{Bf{Cb}}{Bf{Nj}}}{{Ah{Nj}}}}0{{{Bf{Cb}}{Bf{Hb}}}{{Ah{Hb}}}}0{{{Bf{CbAJj}}{Bf{Hb}}}{{Ah{Hbc}}}{}}{{{Bf{Cb}}{Bf{AJl}}}{{Ah{AJl}}}}0{{{Bf{Cb}}{Bf{In}}}{{Ah{In}}}}0{c{{Ah{e}}}{}{}}0000<<<<<{BfGd}0000{ce{}{}}0000{{ce}c{}{}}0000{{{Bf{CbAIn}}{Bf{Il}}}Ad}{{}c{}}0000`","D":"AEb","p":[[5,"GlobalEnv",1465],[5,"LocalDefId",1466],[5,"AdtDef",1467],[8,"QueryResult",1468],[5,"AdtSortDef",1467],[5,"Symbol",1469],[5,"Lambda",1470],[5,"EarlyBinder",1471],[5,"AssocRefinements",1467],[1,"unit"],[5,"ErrorGuaranteed",1472],[6,"Result",1473],[5,"WfckResults",1467],[5,"Rc",1474],[6,"Option",1475],[8,"PolyFnSig",1467],[5,"Generics",1467],[5,"Item",1476],[1,"reference"],[5,"Invariant",1467],[5,"Vec",1477],[8,"Clauses",1467],[10,"TypeFoldable",1478],[5,"GenericPredicates",1467],[0,"mut"],[5,"Providers",1468],[5,"Qualifier",1467],[5,"RefinementGenerics",1467],[5,"FuncSort",1467],[5,"SpecFuncDecl",1467],[5,"SpecFuncDefns",1479],[5,"DefId",1466],[8,"TyCtor",1467],[8,"PolyVariants",1467],[6,"Opaqueness",1467],[6,"MaybeExternId",1480],[17,"Item"],[10,"Iterator",1481],[1,"slice"],[17,"Output"],[10,"FnOnce",1482],[1,"usize"],[1,"str"],[5,"DataRequest",1483],[1,"bool"],[1,"fn"],[5,"RequestFilterDataProvider",1484],[5,"CycleError",1485],[5,"IncompatibleSort",34],[5,"DiagCtxtHandle",1486],[6,"Level",1486],[5,"Diag",1487],[10,"EmissionGuarantee",1487],[5,"InvalidAssocReft",34],[5,"MissingAssocReft",34],[5,"Span",1488],[5,"String",1489],[5,"TypeId",1490],[5,"ConvCtxt",113],[5,"Expr",1470],[5,"FhirId",1476],[5,"Arena",1491],[10,"IntoIterator",1492],[5,"Arena",1493],[6,"Sort",1467],[5,"PathSegment",1476],[5,"Layer",113],[6,"LayerKind",113],[5,"ParamEntry",113],[5,"RefineParam",1476],[5,"RefinedBy",1476],[5,"Env",113],[5,"AliasReft",1476],[5,"AliasReft",1470],[8,"PolyTraitRef",1467],[5,"AssocItemConstraint",1476],[5,"Clause",1467],[5,"Ty",1476],[5,"Ty",1467],[5,"Expr",1476],[6,"Sort",1476],[5,"ImplAssocReft",1476],[5,"BaseTy",1476],[6,"BinOp",1494],[6,"BinOp",1470],[5,"ConstArg",1476],[5,"Const",1495],[5,"TraitAssocReft",1476],[5,"SpecFunc",1476],[5,"SpecFunc",1467],[6,"Ensures",1476],[6,"Ensures",1467],[5,"VariantDef",1476],[8,"PolyVariant",1467],[5,"EnumDef",1476],[8,"List",1496],[5,"PolyTraitRef",1476],[6,"ClosureKind",1497],[6,"Safety",1498],[6,"Abi",1499],[5,"FnDecl",1476],[5,"FnSig",1467],[5,"FnOutput",1476],[5,"FnOutput",1467],[5,"Binder",1471],[5,"FnSig",1476],[5,"PathExpr",1476],[5,"FuncSort",1476],[10,"FnMut",1482],[6,"GenericArg",1467],[8,"GenericBounds",1476],[6,"GenericParamKind",1476],[6,"GenericParamDefKind",1467],[5,"WhereBoundPredicate",1476],[5,"Generics",1476],[6,"Lifetime",1476],[6,"Region",1495],[6,"Lit",1476],[6,"Constant",1470],[5,"OpaqueTy",1476],[5,"ItemId",1498],[6,"GenericArg",1476],[5,"RefineArg",1476],[5,"PolyFuncSort",1476],[5,"PolyFuncSort",1467],[5,"Qualifier",1476],[5,"RefineParam",1467],[5,"Requires",1476],[5,"SortPath",1476],[5,"StructDef",1476],[5,"Path",1476],[5,"GenericParamDef",1467],[6,"UnOp",1494],[6,"UnOp",1470],[5,"ParamConst",1500],[5,"ParamTy",1500],[10,"Diagnostic",1487],[5,"TyAlias",1476],[5,"Formatter",1501],[8,"Result",1501],[5,"LookupResult",113],[6,"LookupResultKind",113],[1,"tuple"],[5,"ParamId",1476],[10,"Borrow",1502],[6,"BoundVariableKind",1471],[1,"u32"],[6,"InferMode",1476],[5,"ConstVid",1503],[5,"RegionVid",1504],[5,"TyVid",1505],[6,"FluxOwnerId",1476],[5,"GenericParam",1476],[5,"Ident",1469],[8,"PolyTraitRef",1506],[10,"Fn",1482],[5,"GenericPredicates",1507],[5,"Path",1470],[6,"AssocKind",1508],[5,"AssocItem",1508],[5,"AssocTypeNotFound",402],[5,"AmbiguousAssocType",402],[5,"InvalidBaseInstance",402],[5,"GenericArgCountMismatch",402],[5,"TooFewGenericArgs",402],[5,"TooManyGenericArgs",402],[5,"Zipper",556],[5,"Mismatch",556],[10,"Eq",1509],[10,"Debug",1501],[5,"Holes",556],[6,"FnSigErr",556],[6,"BaseTy",1467],[6,"ExistentialPredicate",1467],[5,"VariantIdx",1510],[5,"IncompatibleRefinement",680],[5,"FieldIdx",1510],[5,"IncompatibleParamCount",680],[5,"FieldCountMismatch",680],[5,"DefinitionCycle",766],[5,"InferCtxt",1282],[6,"Node",1476],[5,"FluxSession",1511],[5,"UnordSet",1512],[5,"OwnerId",1513],[5,"Wf",791],[5,"VariantRet",1476],[5,"SortMismatch",838],[5,"ArgCountMismatch",838],[5,"EarlyBoundArgCountMismatch",838],[5,"DuplicatedEnsures",838],[5,"UnknownQualifier",838],[5,"MissingEnsures",838],[5,"ExpectedFun",838],[5,"InvalidParamPos",838],[5,"UnexpectedFun",838],[5,"ParamCountMismatch",838],[5,"FieldNotFound",838],[5,"InvalidPrimitiveDotAccess",838],[5,"ParamNotDetermined",838],[5,"SortAnnotationNeeded",838],[5,"CannotInferSort",838],[5,"RefinedUnrefinableType",838],[5,"ParamUsesChecker",1240],[5,"ShallowResolver",1282],[5,"OpportunisticResolver",1282],[5,"ImplicitParamInferer",1282],[6,"ParamKind",1476],[6,"BvSize",1467],[5,"BvSizeVid",1467],[5,"NumVid",1467],[5,"SortVid",1467],[5,"FullResolver",1282],[5,"SubsetTy",1467],[8,"Result",28],[15,"List",395],[15,"Bound",396],[15,"EarlyParam",396],[15,"Ensures",678],[8,"Result",791],[8,"Result",1240],[8,"Result",1282]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABAFTwAAAAAAAgAGAAoAEQAfAAwALwAOAD8AAABCAAYATAArAHkAIwCkACIAyAAAAMoANwADAQAABQEAAAcBAQAKAQAADQEAAA8BBwAYAQgAKAEjAE0BHgBtARUAhAEHAI0BAQCRARMAqwEfAMwBAADPAQAA0QEAANMBAADVAQwA6AFYAEUCGQBgAgAAYgIAAGQCAABmAgkAdAI9ALUCGgDRAgAA1AIGAN4CIwADAwQACQMBAAwDCwAaAwoAJgMGAC4DAgAzAwAANgNAAIcDSQDSAwAA1AMAANYDAADYAwAA2gMBAN0DAADgAwAA4gMBAOYDAQDqAwEA7QMAAPADIAAhBLcA2wQEAOEEAADjBAQA6QQDAO4EEwAEBQIACAUSACAFHAA/BQAAQQUAAEMFAABFBRQAWwUAAGEFBQBoBVEA"}],\ +["flux_fhir_analysis",{"t":"JHHHHHHCCHCHHHHHHHHHHHHHHHHCPPIHHCFFFNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNOOONNNOOONNNOONNNNNNNNNNNNNNNNNNPPFKTPFFGPFGFRKNNNNNMNNNNNNNNNNNNNNHNNNNNNNNNNNMNNNNNNNHNNNNNNNHNNNNNNNNNNHHNNNHNHNHNNHNNNHNHNHNHHHNNHNNNHHHNNNNNNNNNNNNNNNNNNNNNNONNCMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNMMNNNNNNNNNNNNNNNNOOMONNOOONNNNONONONMNNMONNNNMMNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOOOOFFFFFFFNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNONNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPGFFFONHONNNNNNNNNNNNONNNNNNNNNNNNNNNNNCONNNNHNNNNNNNNNNNNOONNNNNNNNNNNNONNOONNNNNNNNNNNNNHNNNNONNNNNNNNHNNNNNNNNNNNNNNOOFFFNNNNNNNNNOONNNNNNNNNNOOOOOONONNNNNONNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNONONNNNNNNPPIFNNNHHHHNHNNNNCONNNNONHHNNCHCNNNNNNNNNNHNNNNNFFFFFFFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPFINNHNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNOPFFFPFIFNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNONNNNNNONOONNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","n":["DEFAULT_LOCALE_RESOURCE","adt_def","adt_sort_def_of","assoc_refinement_def","assoc_refinements_of","check_crate_wf","check_wf","compare_impl_item","conv","default_assoc_refinement_def","errors","fn_sig","generics_of","impl_assoc_refinement_def","invariants_of","item_bounds","normalize","predicates_of","provide","qualifiers","refinement_generics_of","sort_of_assoc_reft","spec_func_decl","spec_func_defns","ty_param_owner","type_of","variants_of","wf","Err","Ok","Result","check_assoc_reft","check_impl_against_trait","errors","IncompatibleSort","InvalidAssocReft","MissingAssocReft","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","expected","filterable","filterable","filterable","found","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","name","name","name","new","new","new","span","span","span","to_result","to_result","to_result","trait_","trait_","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Bound","Coalesce","ConvCtxt","ConvPhase","EXPAND_TYPE_ALIASES","EarlyParam","Env","Layer","LayerKind","List","LookupResult","LookupResultKind","ParamEntry","Results","WfckResultsProvider","add_coercions","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bin_rel_sort","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bug_on_infer_sort","check_generic_arg_count","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","coalesce","coercions_for","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","conv_adt_sort_def","conv_alias_reft","conv_assoc_item_constraint","conv_assoc_path","conv_assoc_reft_body","conv_bin_op","conv_bty","conv_const_arg","conv_defn","conv_ensures","conv_enum_variant","conv_enum_variants","conv_expr","conv_exprs","conv_fn_bound","conv_fn_decl","conv_fn_output","conv_fn_sig","conv_func","conv_func_decl","conv_func_sort","conv_generic_args","conv_generic_args_into","conv_generic_bounds","conv_generic_param_kind","conv_generic_predicates","conv_generics","conv_invariant","conv_invariants","conv_invariants","conv_lifetime","conv_lit","conv_opaque_def","conv_opaque_ty","conv_path","conv_poly_func_sort","conv_poly_trait_ref","conv_qualifier","conv_refine_arg","conv_refinement_generics","conv_requires","conv_sort","conv_sort_path","conv_sorts","conv_struct_variant","conv_trait_object","conv_ty","conv_ty","conv_ty_to_generic_arg","conv_type_alias","conv_un_op","def_id_to_param_const","def_id_to_param_ty","depth","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","early_params","emit","empty","errors","field_proj","fill_generic_args_defaults","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics_of_owner","genv","get","init","init","init","init","init","init","init","insert_alias_reft_sort","insert_bty_sort","into","into","into","into","into","into","into","into_bound_vars","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kind","kind","lambda_output","layers","list","lookup","map","mode","name","new","new","new","new","next_const_index","next_const_vid","next_region_index","next_region_vid","next_type_index","next_type_vid","owner","owner","param_as_bound_var","param_sort","phase","pop_layer","probe_single_bound_for_assoc_item","probe_type_param_bounds","push_layer","record_ctor","results","results","sort","struct_compat","to_bound_vars","to_early_param_args","to_expr","to_owned","to_owned","to_owned","to_path","to_result","to_result","to_result","to_result","to_result","to_result","to_result","top_layer","trait_defines_associated_item_named","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","ty_param_name","ty_to_base_generic","ty_to_generic_arg","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","var_span","vzip","vzip","vzip","vzip","vzip","vzip","vzip","bound_regions","debruijn","entry","index","index","kind","name","AmbiguousAssocType","AssocTypeNotFound","GenericArgCountMismatch","InvalidBaseInstance","RefinedUnrefinableType","TooFewGenericArgs","TooManyGenericArgs","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","def_descr","def_descr","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","found","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","max","min","name","new","new","new","new","new","new","new","span","span","span","span","span","span","span","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","ArgCountMismatch","Ensures","FnInput","FnOutput","FnSigErr","Holes","Mismatch","Zipper","a_index","adjust_binders","assert_eq_or_incompatible","b_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","consts","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","emit_fn_sig_err","enter_a_binder","enter_b_binder","enter_binders","errors","errors","filterable","filterable","filterable","filterable","fn_sig","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","holes","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","locs","new","new","owner_id","regions","replace_holes","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_alias","type_id","type_id","type_id","type_id","types","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","variants","vzip","vzip","vzip","vzip","zip_bty","zip_const","zip_fn_sig","zip_generic_arg","zip_output","zip_poly_existential_pred","zip_poly_fn_sig","zip_region","zip_ty","zip_variant","expected","i","FieldCountMismatch","IncompatibleParamCount","IncompatibleRefinement","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","def_descr","def_descr","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","ensures","expected","expected_fields","expected_span","expected_span","expected_span","expected_ty","field","fields","filterable","filterable","filterable","fn_input","fn_output","found","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","new","new","span","span","span","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_alias","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","DefinitionCycle","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","msg","new","span","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","Err","Ok","Result","Wf","borrow","borrow_mut","check","check_fn_quals","check_fn_spec","check_invariants","check_node","check_output_locs","check_qualifier","collect_and_apply","deref","deref_mut","drop","errors","errors","filterable","from","from","from_cycle_error","infcx","init","init_infcx","insert_params","into","into_query_param","param_usage","resolve_params","sortck","to_result","try_from","try_into","type_id","upcast","upcast_from","visit_ensures","visit_fn_decl","visit_impl_assoc_reft","visit_path","visit_refine_params","visit_requires","visit_trait_assoc_reft","visit_ty","visit_variant_ret","vzip","ArgCountMismatch","CannotInferSort","DuplicatedEnsures","EarlyBoundArgCountMismatch","ExpectedFun","FieldNotFound","InvalidParamPos","InvalidPrimitiveDotAccess","MissingEnsures","ParamCountMismatch","ParamNotDetermined","SortAnnotationNeeded","SortMismatch","UnexpectedFun","UnknownQualifier","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","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expected","expected","expected","expected","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fld","found","found","found","found","found","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_pred","loc","name","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","sort","sort","sort","sort","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","thing","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Err","Ok","ParamUsesChecker","Result","borrow","borrow_mut","check","check_func_params_uses","check_params_are_value_determined","collect_and_apply","deref","deref_mut","drop","errors","filterable","from","from","from_cycle_error","infcx","init","into","into_query_param","new","run","to_result","try_from","try_into","type_id","upcast","upcast_from","visit_expr","visit_fn_output","visit_node","visit_path_segment","visit_refine_arg","visit_struct_def","visit_ty","visit_ty_alias","visit_variant","visit_variant_ret","vzip","xi","Err","FullResolver","ImplicitParamInferer","InferCtxt","Ok","OpportunisticResolver","Result","ShallowResolver","bin_rel_sort","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bv_size_unification_table","check_abs","check_expr","check_loc","check_record","check_refine_arg","coercions_for","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","emit_err","emit_field_not_found","emit_sort_mismatch","ensure_resolved_var","equate","errors","field_proj","filterable","filterable","filterable","filterable","filterable","fold_sort","fold_sort","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","fully_resolve","genv","infcx","infcx","infcx","infcx","infer","infer_implicit_params","infer_mode","init","init","init","init","init","insert_alias_reft_sort","insert_bty_sort","insert_param","insert_params","insert_sort_for_alias_reft","insert_sort_for_bty","instantiate_func_sort","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_results","is_coercible","is_coercible_from_func","is_coercible_to_func","is_single_field_record","lambda_output","new","next_bv_size_var","next_bv_size_vid","next_num_var","next_num_vid","next_sort_var","next_sort_vid","normalize_weak_alias_sorts","num_unification_table","owner","param_sort","param_sort","params","record_ctor","resolve_param_sort","resolve_vars_if_possible","results","shallow_resolve","sort_of_alias_reft","sort_of_alias_reft","sort_of_bty","sort_of_bty","sort_unification_table","synth_alias_reft_app","synth_app","synth_binary_op","synth_expr","synth_func","synth_lit","synth_unary_op","synth_var","to_result","to_result","to_result","to_result","to_result","try_equate","try_equate_bv_sizes","try_equate_inner","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","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","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","visit_ty","vzip","vzip","vzip","vzip","vzip","wfckresults"],"q":[[0,"flux_fhir_analysis"],[28,"flux_fhir_analysis::compare_impl_item"],[34,"flux_fhir_analysis::compare_impl_item::errors"],[113,"flux_fhir_analysis::conv"],[405,"flux_fhir_analysis::conv::LayerKind"],[406,"flux_fhir_analysis::conv::LookupResultKind"],[412,"flux_fhir_analysis::conv::errors"],[590,"flux_fhir_analysis::conv::struct_compat"],[712,"flux_fhir_analysis::conv::struct_compat::FnSigErr"],[714,"flux_fhir_analysis::conv::struct_compat::errors"],[800,"flux_fhir_analysis::errors"],[825,"flux_fhir_analysis::wf"],[873,"flux_fhir_analysis::wf::errors"],[1251,"flux_fhir_analysis::wf::param_usage"],[1293,"flux_fhir_analysis::wf::sortck"],[1493,"flux_middle::global_env"],[1494,"rustc_span::def_id"],[1495,"flux_middle::rty"],[1496,"flux_middle::queries"],[1497,"rustc_span::symbol"],[1498,"flux_middle::rty::expr"],[1499,"flux_middle::rty::binder"],[1500,"rustc_span"],[1501,"core::result"],[1502,"alloc::rc"],[1503,"core::option"],[1504,"flux_middle::fhir"],[1505,"alloc::vec"],[1506,"flux_middle::rty::fold"],[1507,"flux_middle::rty::normalize"],[1508,"flux_middle"],[1509,"core::iter::traits::iterator"],[1510,"core::ops::function"],[1511,"icu_provider::request"],[1512,"icu_provider_adapters::filter"],[1513,"rustc_query_system::query::plumbing"],[1514,"rustc_errors"],[1515,"rustc_errors::diagnostic"],[1516,"rustc_span::span_encoding"],[1517,"alloc::string"],[1518,"core::any"],[1519,"rustc_middle::arena"],[1520,"core::iter::traits::collect"],[1521,"rustc_hir"],[1522,"flux_syntax::surface"],[1523,"flux_rustc_bridge::ty"],[1524,"flux_arc_interner"],[1525,"rustc_type_ir"],[1526,"rustc_hir::hir"],[1527,"rustc_target::spec::abi"],[1528,"rustc_middle::ty::sty"],[1529,"core::fmt"],[1530,"core::borrow"],[1531,"rustc_type_ir::const_kind"],[1532,"rustc_type_ir::region_kind"],[1533,"rustc_type_ir::ty_kind"],[1534,"rustc_middle::ty::predicate"],[1535,"rustc_middle::ty::generics"],[1536,"rustc_middle::ty::assoc"],[1537,"core::cmp"],[1538,"rustc_target::abi"],[1539,"flux_errors"],[1540,"rustc_data_structures::unord"],[1541,"rustc_hir::hir_id"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,219,0,0,0,0,0,0,0,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,49,54,55,49,49,49,54,54,55,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,49,54,55,143,70,0,0,62,143,0,0,0,70,0,0,0,62,0,59,70,70,70,70,66,59,75,69,70,71,142,143,59,75,69,70,71,142,143,0,59,69,70,71,69,70,71,69,70,71,69,66,59,75,69,70,71,142,143,0,59,59,59,59,59,59,59,0,59,59,59,59,59,59,59,59,59,59,0,0,59,59,59,0,59,0,59,0,59,59,0,59,59,59,0,59,0,59,0,59,0,0,0,59,59,0,59,59,59,0,0,0,75,59,75,69,70,71,142,143,59,75,69,70,71,142,143,59,75,69,70,71,142,143,75,59,75,0,66,59,59,75,69,70,71,142,143,69,70,71,142,143,59,59,75,75,69,69,70,70,71,71,142,142,143,143,59,75,69,70,71,142,143,59,59,69,59,75,69,70,71,142,143,62,62,59,75,69,70,71,142,143,69,69,59,75,69,70,71,142,143,69,142,66,75,69,75,69,71,71,59,75,69,71,59,59,59,59,59,59,66,59,59,66,59,75,59,59,75,66,62,59,71,0,69,75,142,69,70,71,142,59,75,69,70,71,142,143,75,59,59,75,69,70,71,142,143,59,75,69,70,71,142,143,0,59,59,59,75,69,70,71,142,143,59,75,69,70,71,142,143,59,75,69,70,71,142,143,142,59,75,69,70,71,142,143,220,221,221,221,222,221,222,0,0,0,0,0,0,0,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,166,167,168,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,166,163,164,165,166,167,168,169,166,167,168,163,163,164,164,165,165,166,166,167,167,168,168,169,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,168,167,164,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,163,164,165,166,167,168,169,175,175,175,175,0,0,0,0,170,170,0,170,170,171,175,174,170,171,175,174,170,171,175,174,174,174,170,171,175,174,170,171,175,174,170,171,175,174,170,170,170,170,0,170,170,171,175,174,0,170,170,171,171,175,175,174,174,170,171,175,174,170,170,170,171,175,174,170,171,175,174,170,171,175,174,170,170,171,170,174,174,170,171,175,174,170,171,175,174,170,171,175,174,0,170,171,175,174,174,170,171,175,174,170,171,175,174,0,170,171,175,174,170,170,170,170,170,170,170,170,170,170,223,223,0,0,0,179,181,182,179,181,182,179,181,182,179,181,179,181,182,179,181,182,179,181,182,179,181,182,179,181,182,179,179,182,179,181,182,179,179,181,179,179,181,181,182,182,179,181,182,179,181,182,179,181,182,179,181,182,179,181,182,181,182,179,181,182,179,181,182,179,181,182,179,181,182,179,179,181,182,179,181,182,179,181,182,179,181,182,0,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,224,224,0,0,189,189,189,0,0,0,0,189,0,189,189,189,189,0,189,189,189,189,189,189,189,0,0,189,189,0,0,0,189,189,189,189,189,189,189,189,189,189,0,189,189,189,189,189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,202,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,203,193,194,195,199,202,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,206,206,207,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,200,196,205,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,200,201,203,204,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,194,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,225,225,0,0,208,208,0,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,226,0,0,0,226,0,0,0,184,184,211,209,210,217,184,211,209,210,217,184,184,184,184,184,184,184,184,211,209,210,217,184,211,209,210,217,184,211,209,210,217,184,211,209,210,217,184,184,184,184,184,211,184,184,211,209,210,217,209,210,184,184,211,211,209,209,210,210,217,217,184,211,209,210,217,184,184,211,209,210,217,211,211,184,184,211,209,210,217,184,184,184,184,184,184,184,184,211,209,210,217,184,211,209,210,217,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,0,184,184,184,211,209,210,217,184,184,184,209,210,209,210,209,210,209,210,209,210,209,210,217,209,210,209,210,184,211,209,210,217,184,211,209,210,217,184,211,209,210,217,184,211,209,210,217,184,211,209,210,217,211,184,211,209,210,217,184],"f":"`{{bd}{{h{f}}}}{{bd}{{h{j}}}}{{bdl}{{h{{A`{n}}}}}}{{bd}{{h{Ab}}}}{b{{Ah{AdAf}}}}{{bd}{{h{{Al{Aj}}}}}}``{{bdl}{{h{{An{{A`{n}}}}}}}}`{{bd}{{h{{A`{B`}}}}}}{{bd}{{h{Bb}}}}2{{b{Bf{Bd}}}{{h{{Bj{Bh}}}}}}{{bd}{{h{{A`{Bl}}}}}}{{bc}{{h{c}}}Bn}{{bd}{{h{{A`{C`}}}}}}{{{Bf{CbCd}}}Ad}{b{{h{{Bj{Cf}}}}}}{{bd}{{h{Ch}}}}{{bdl}{{h{{An{{A`{Cj}}}}}}}}{{bl}{{h{Cl}}}}{b{{h{Cn}}}}{{bD`}D`}{{bd}{{h{{A`{Db}}}}}}{{bd}{{h{{Df{{A`{Dd}}}}}}}}````{{bDhD`l}{{Ah{AdAf}}}}{{bDh}{{Ah{AdAf}}}}````{Bf{{Bf{c}}}{}}00{{{Bf{Cb}}}{{Bf{Cbc}}}{}}00{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}00{Ed{{Bf{c}}}{}}00{Ed{{Bf{Cbc}}}{}}00{EdAd}00`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}00`{{{Ah{c}}}c{}}{cc{}}1001{{c{Bf{F`}}Af}e{}{}}00{{}Ed}00{{}c{}}00{{FbFdFf}{{Fh{c}}}Fj}{{FlFdFf}{{Fh{c}}}Fj}{{FnFdFf}{{Fh{c}}}Fj}333```{{G`lCjCj}Fb}{{G`lGb}Fl}{{G`lGb}Fn}```{{}{{Ah{c}}}{}}00``{c{{Ah{e}}}{}{}}00111{BfGd}00{ce{}{}}00{{ce}c{}{}}00;;;```````````````{{{Bf{{Gf{c}}}}GhGj}GhGl}{{{Bf{Gn}}e}{{Bf{Cb{Dn{c}}}}}{}{{H`{}{{Dj{c}}}}}}{{{Bf{Hb}}e}{{Bf{Cb{Dn{c}}}}}{}{{H`{}{{Dj{c}}}}}}{{{Bf{Gn}}}{{Bf{Cbc}}}{}}{{{Bf{Hb}}}{{Bf{Cbc}}}{}}{{{Bf{Hd}}Gj}Hf}{Bf{{Bf{c}}}{}}000000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}000000{{}Hf}{{{Bf{Cb{Gf{c}}}}{Bf{Bb}}D`{Bf{Hh}}}hGl}{{{Bf{Hj}}}Hj}{{{Bf{Hl}}}Hl}{{{Bf{Hn}}}Hn}{{Bf{Bf{Cbc}}}Ad{}}00{BfAd}00{{{Bf{c}}D`{Bf{{Dn{I`}}}}}HjHd}{{{Bf{Hd}}Gj}{{Bf{{Dn{Ib}}}}}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}000000{{bDh{Bf{Id}}}{{h{j}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}Gj{Bf{Ih}}}{{h{Ij}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Il}}{Bf{In}}{Bf{Cb{Bj{J`}}}}}hGl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Jb}}{Bf{Hh}}}{{h{Jd}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{{Dn{I`}}}}{Bf{Jf}}{Bf{Jh}}}{{h{n}}}Gl}{{{Bf{{Gf{c}}}}JjGj}JlGl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Jn}}}{{h{Jd}}}Gl}{{{Bf{Cb{Gf{c}}}}K`}KbGl}{{b{Bf{Kd}}{Bf{Aj}}}{{h{{An{Kf}}}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Kh}}}{{h{Kj}}}Gl}{{{Bf{Cb{Gf{c}}}}Dh{Bf{Kl}}}{{h{Kn}}}Gl}{{{Bf{Cb{Gf{c}}}}Dh{Bf{L`}}}{{h{{Bj{Kn}}}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Jf}}}{{h{Gh}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{{Dn{Jf}}}}}{{h{{Lb{Gh}}}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Jd}}{Bf{Ld}}Lf{Bf{Cb{Bj{J`}}}}}hGl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}LhLj{Bf{Ll}}}{{h{Ln}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{M`}}}{{h{{Md{Mb}}}}}Gl}{{{Bf{Cb{Gf{c}}}}Dh{Bf{Mf}}}{{h{B`}}}Gl}{{{Bf{{Gf{c}}}}{Bf{If}}{Bf{Mh}}}GhGl}{{b{Bf{Kd}}}{{h{Cl}}}}{{b{Bf{Mj}}{Bf{Cbc}}}{{h{Cj}}}{{Ml{}{{E`{Hf}}}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}D`{Bf{Hh}}}{{h{{Bj{Mn}}}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}D`{Bf{Hh}}{Bf{Cb{Bj{Mn}}}}}hGl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}G`JdN`}{{h{{Bj{J`}}}}}Gl}{{{Bf{Nb}}}Nd}{{{Bf{Cb{Gf{c}}}}Dh{Bf{Nf}}}{{h{{A`{C`}}}}}Gl}{{b{Bf{Nf}}DhEj}Bb}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Jf}}}{{h{Bh}}}Gl}{{bDh{Bf{{Dn{I`}}}}{Bf{{Dn{Jf}}}}{Bf{Aj}}}{{h{{Bj{Bh}}}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{{Dn{Jf}}}}}{{h{{Bj{Bh}}}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{If}}Nh}NjGl}{NlNn}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}O`{Bf{{Dn{Ob}}}}{Bf{{Dn{Od}}}}}{{h{Jd}}}Gl}{{{Bf{Cb{Gf{c}}}}d{Bf{Of}}}{{h{Bl}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Oh}}}{{h{Db}}}Gl}{{b{Bf{Oj}}{Bf{Cbc}}}{{h{Ol}}}{{Ml{}{{E`{Hf}}}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}G`{Bf{Jd}}{Bf{Ld}}{Bf{Cb{Bj{J`}}}}}hGl}{{b{Bf{On}}{Bf{Aj}}}{{h{Cf}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Od}}}{{h{Gh}}}Gl}{{b{Bf{{Dn{I`}}}}{An{{Bf{Aj}}}}}{{h{{Lb{A@`}}}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{A@b}}}{{h{Gh}}}Gl}{{b{Bf{Jh}}{Bf{Cbc}}}{{h{Hf}}}{{Ml{}{{E`{Hf}}}}}}{{b{Bf{A@d}}{Bf{Cbc}}}{{h{Hf}}}{{Ml{}{{E`{Hf}}}}}}{{b{Bf{{Dn{Jh}}}}{Bf{Cbc}}}{{h{{Bj{Hf}}}}}{{Ml{}{{E`{Hf}}}}}}{{{Bf{Cb{Gf{c}}}}Dh{Bf{A@f}}}{{h{{Df{Kn}}}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{{Dn{Ld}}}}Nh}{{h{Jd}}}Gl}{{b{Bf{Jb}}{Bf{Aj}}}{{h{{Md{Jd}}}}}}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{Jb}}}{{h{Jd}}}Gl}{{{Bf{Cb{Gf{c}}}}{Bf{CbIf}}{Bf{A@h}}{Bf{Jb}}}{{h{Mn}}}Gl}{{{Bf{Cb{Gf{c}}}}Dh{Bf{A@j}}}{{h{Db}}}Gl}{A@lA@n}{{bD`}AA`}{{bD`}AAb}{{{Bf{If}}}Ed}{Ed{{Bf{c}}}{}}000000{Ed{{Bf{Cbc}}}{}}000000{EdAd}000000`{{{Bf{{Gf{c}}}}e}AfGlAAd}{{}If}`{{{Bf{Hd}}Gj}AAf}{{{Bf{{Gf{c}}}}D`{Bf{Cb{Bj{Mn}}}}}hGl}{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}000000{{{Bf{Hj}}{Bf{CbAAh}}}AAj}{{{Bf{Hl}}{Bf{CbAAh}}}AAj}{{{Bf{Hn}}{Bf{CbAAh}}}AAj}{{{Bf{AAl}}{Bf{CbAAh}}}AAj}{{{Bf{AAn}}{Bf{CbAAh}}}AAj}{{{Ah{c}}}c{}}{cc{}}010101011010{{c{Bf{F`}}Af}e{}{}}000000{{{Bf{{Gf{c}}}}}{{h{Bb}}}Gl}`{{{Bf{Hj}}c}{{An{{AB`{Ed{Bf{Hn}}}}}}}{{ABd{ABb}}}}{{}Ed}000000{{{Bf{Cb{Gl{}{{ABf{c}}}}}}GjCj}AdHd}{{{Bf{Cb{Gl{}{{ABf{c}}}}}}GjHf}AdHd}{{}c{}}000000{{Hjb}{{h{{Lb{ABh}}}}}}{Hj{{`{{Dl{}{{Dj{Hn}}}}}}}}2222222``{{{Bf{Hd}}Gj}Hf}`{{{Bf{c}}ABj{Bf{{Dn{I`}}}}}HjHd}{{{Bf{If}}{Bf{Mh}}}AAl}```{{bc}{{Gf{c}}}Gl}{{{Bf{{Dn{I`}}}}}If}{{{Bf{c}}{Bf{{Dn{I`}}}}Hl}HjHd}{{HfABll}Hn}`{{{Bf{Cb{Gf{c}}}}}ABnGl}`{{{Bf{Cb{Gf{c}}}}}AC`Gl}`{{{Bf{Cb{Gf{c}}}}}ACbGl}{{{Bf{Hd}}}ACd}{{{Bf{{Gf{c}}}}}ACdGl}{{{Bf{Cb{Gf{c}}}}{Bf{ACf}}}{{h{ABh}}}Gl}{{{Bf{Hd}}{Bf{I`}}}Hf}`{{{Bf{CbIf}}}Hj}{{{Bf{{Gf{c}}}}gACh}{{Ah{ACjAf}}}Gl{{Dl{}{{Dj{ACj}}}}}{{ACl{}{{E`{e}}}}}}{{{Bf{{Gf{c}}}}D`ACh}ACnGl}{{{Bf{CbIf}}Hj}Ad}{{{Bf{Hd}}Gj}D`}{{{Bf{{Gl{}{{ABf{c}}}}}}}{{Bf{c}}}Hd}{{{Bf{{Gf{c}}}}}BfGl}``{{{Bf{Hj}}b}{{h{{Lb{ABh}}}}}}{{{Bf{If}}}{{Lb{Gh}}}}{{{Bf{AAl}}}Gh}{Bfc{}}00{{{Bf{AAl}}}AD`}{{}{{Ah{c}}}{}}000000{{{Bf{If}}}{{Bf{Hj}}}}{{{Bf{{Gf{c}}}}D`ADbACh}{{An{{Bf{ADd}}}}}Gl}{c{{Ah{e}}}{}{}}0000003333333{{bD`}l}{{{Bf{{Gf{c}}}}G`{Bf{Jd}}}{{h{Mn}}}Gl}{{{Bf{{Gf{c}}}}NdG`{Bf{Jd}}}{{h{Mn}}}Gl}{BfGd}000000{ce{}{}}000000{{ce}c{}{}}000000`{{}c{}}000000``````````````{Bf{{Bf{c}}}{}}000000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}000000{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}000000```{Ed{{Bf{c}}}{}}000000{Ed{{Bf{Cbc}}}{}}000000{EdAd}000000`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}000000```{cc{}}{{{Ah{c}}}c{}}100110010101{{c{Bf{F`}}Af}e{}{}}000000{{}Ed}000000;;;;;;;{{ADfFdFf}{{Fh{c}}}Fj}{{ADhFdFf}{{Fh{c}}}Fj}{{ADjFdFf}{{Fh{c}}}Fj}{{ADlFdFf}{{Fh{c}}}Fj}{{ADnFdFf}{{Fh{c}}}Fj}{{AE`FdFf}{{Fh{c}}}Fj}{{AEbFdFf}{{Fh{c}}}Fj}{{}c{}}000000```{AChADf}{AChADh}{G`ADj}{{bD`{Bf{Hh}}Ed}ADl}{{bD`{Bf{Hh}}Ed}ADn}{{bD`{Bf{Hh}}Ed}AE`}{G`AEb}```````{{}{{Ah{c}}}{}}000000{c{{Ah{e}}}{}{}}0000001111111{BfGd}000000{ce{}{}}000000{{ce}c{}{}}000000<<<<<<<`````````{{{Bf{AEd}}{Bf{c}}}cBn}{{cc}{{Ah{AdAEf}}}{AEhAEj}}`{Bf{{Bf{c}}}{}}000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}000{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}000`{{}AEl}{Ed{{Bf{c}}}{}}000{Ed{{Bf{Cbc}}}{}}000{EdAd}000{{{Bf{CbAEd}}AEn{Bf{Ll}}}Ad}{{{Bf{CbAEd}}{Bf{{Md{c}}}}g}e{}{}{{Eb{{Bf{CbAEd}}{Bf{c}}}{{E`{e}}}}}}0{{{Bf{CbAEd}}{Bf{{Md{c}}}}{Bf{{Md{c}}}}g}e{}{}{{Eb{{Bf{CbAEd}}{Bf{c}}{Bf{c}}}{{E`{e}}}}}}``{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}000{{b{Bf{Ll}}{Bf{B`}}Dh}{{h{B`}}}}{cc{}}{{{Ah{c}}}c{}}100101{{c{Bf{F`}}Af}e{}{}}000``{{}Ed}000{{}c{}}0000000`{{bDh}AEd}{{cc}AEfAEj}``{{{Bf{AEl}}{Bf{c}}}cBn}{{}{{Ah{c}}}{}}000{c{{Ah{e}}}{}{}}0001111{{b{Bf{A@j}}{Bf{Db}}Dh}{{h{Db}}}}{BfGd}000`{ce{}{}}000{{ce}c{}{}}000{{b{Bf{{Dn{Kn}}}}Dh}{{h{{Bj{Kn}}}}}}::::{{{Bf{CbAEd}}{Bf{AF`}}{Bf{AF`}}}{{Ah{AdAEf}}}}{{{Bf{CbAEd}}{Bf{Kb}}{Bf{Kb}}}{{Ah{AdAEf}}}}{{{Bf{CbAEd}}{Bf{Ln}}{Bf{Ln}}}{{Ah{AdAEn}}}}{{{Bf{CbAEd}}{Bf{Mn}}{Bf{Mn}}}{{Ah{AdAEf}}}}{{{Bf{CbAEd}}{Bf{Mb}}{Bf{Mb}}}{{Ah{AdAEn}}}}{{{Bf{CbAEd}}{Bf{{Md{AFb}}}}{Bf{{Md{AFb}}}}}{{Ah{AdAEf}}}}{{{Bf{CbAEd}}{Bf{B`}}{Bf{B`}}}{{Ah{AdAEn}}}}{{{Bf{CbAEd}}{Bf{Nj}}{Bf{Nj}}}Ad}{{{Bf{CbAEd}}{Bf{Jd}}{Bf{Jd}}}{{Ah{AdAEf}}}}{{{Bf{CbAEd}}{Bf{Kn}}{Bf{Kn}}AFd}Ad}`````{Bf{{Bf{c}}}{}}00{{{Bf{Cb}}}{{Bf{Cbc}}}{}}00{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}00``{Ed{{Bf{c}}}{}}00{Ed{{Bf{Cbc}}}{}}00{EdAd}00{{bDh{Bf{Ll}}{Bf{Jd}}Ed}AFf}``````{{bDhAFdAFh}AFf}`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}00{{bDh{Bf{Ll}}Ed}AFf}{{bDh{Bf{Ll}}}AFf}`{cc{}}{{{Ah{c}}}c{}}1001{{c{Bf{F`}}Af}e{}{}}00{{}Ed}00{{}c{}}00{{AFfFdFf}{{Fh{c}}}Fj}{{AFjFdFf}{{Fh{c}}}Fj}{{AFlFdFf}{{Fh{c}}}Fj}333{{b{Bf{Ll}}Dh}AFj}{{bEdDhAFd}AFl}```{{}{{Ah{c}}}{}}00{c{{Ah{e}}}{}{}}00111{{bDh{Bf{A@j}}}AFf}{BfGd}00{ce{}{}}00{{ce}c{}{}}00;;;`{Bf{{Bf{c}}}{}}{{{Bf{Cb}}}{{Bf{Cbc}}}{}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}{Ed{{Bf{c}}}{}}{Ed{{Bf{Cbc}}}{}}{EdAd}{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}{{{Ah{c}}}c{}}{cc{}}{{c{Bf{F`}}Af}e{}{}}{{}Ed}{{}c{}}{{AFnFdFf}{{Fh{c}}}Fj}1`{{G`{Bj{l}}}AFn}`{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{BfGd}{ce{}{}}{{ce}c{}{}}7````{Bf{{Bf{c}}}{}}{{{Bf{Cb}}}{{Bf{Cbc}}}{}}{{{Bf{CbAG`}}{Bf{AGb}}}{{Ah{AdAf}}}}{{{Bf{AGd}}{Bf{{AGf{l}}}}{Bf{{Dn{ACh}}}}}{{Ah{AdAf}}}}{{b{Bf{Kd}}}{{Ah{AjAf}}}}{{b{Dh{AGh}}{Bf{{Dn{I`}}}}{Bf{{Dn{Jf}}}}}{{Ah{AjAf}}}}{{b{Bf{AGb}}}{{Ah{AjAf}}}}{{{Bf{CbAGj}}{Bf{Ll}}}Ad}{{b{Bf{On}}}{{Ah{AjAf}}}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}{Ed{{Bf{c}}}{}}{Ed{{Bf{Cbc}}}{}}{EdAd}``{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}{cc{}}{{{Ah{c}}}c{}}{{c{Bf{F`}}Af}e{}{}}`{{}Ed}{{b{Bf{AGb}}}{{h{AG`}}}}{{{Bf{CbAG`}}{Bf{AGb}}}{{Ah{AdAf}}}}{{}c{}}0`1`{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{BfGd}{ce{}{}}{{ce}c{}{}}{{{Bf{CbAGj}}{Bf{Kh}}}Ad}{{{Bf{CbAGj}}{Bf{Ll}}}Ad}{{{Bf{CbAGj}}{Bf{AGl}}}Ad}{{{Bf{CbAGj}}{Bf{Oh}}}Ad}{{{Bf{AGb}}c}{{Ah{AdAf}}}{{Ml{{Bf{I`}}}{{E`{{Ah{AdAf}}}}}}}}{{{Bf{CbAGj}}{Bf{A@b}}}Ad}{{{Bf{CbAGj}}{Bf{AGn}}}Ad}{{{Bf{CbAGj}}{Bf{Jb}}}Ad}{{{Bf{CbAGj}}{Bf{AH`}}}Ad}>```````````````{Bf{{Bf{c}}}{}}00000000000000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}00000000000000{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}00000000000000{Ed{{Bf{c}}}{}}00000000000000{Ed{{Bf{Cbc}}}{}}00000000000000{EdAd}00000000000000````{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}00000000000000``````{cc{}}{{{Ah{c}}}c{}}0110100101011001011001101001{{c{Bf{F`}}Af}e{}{}}00000000000000{{}Ed}00000000000000{{}c{}}00000000000000{{AHbFdFf}{{Fh{c}}}Fj}{{AHdFdFf}{{Fh{c}}}Fj}{{AHfFdFf}{{Fh{c}}}Fj}{{AHhFdFf}{{Fh{c}}}Fj}{{AHjFdFf}{{Fh{c}}}Fj}{{AHlFdFf}{{Fh{c}}}Fj}{{AHnFdFf}{{Fh{c}}}Fj}{{AI`FdFf}{{Fh{c}}}Fj}{{AIbFdFf}{{Fh{c}}}Fj}{{AIdFdFf}{{Fh{c}}}Fj}{{AIfFdFf}{{Fh{c}}}Fj}{{AIhFdFf}{{Fh{c}}}Fj}{{AIjFdFf}{{Fh{c}}}Fj}{{AIlFdFf}{{Fh{c}}}Fj}{{AInFdFf}{{Fh{c}}}Fj}???????????????```{{G`HfHf}AHb}{{{An{G`}}GbEdEd}AHd}{{G`EdEd}AHf}{{{Bf{Mh}}}AHh}{G`AHj}{{{Bf{Mh}}}AHl}{{G`{Bf{Hf}}}AHn}{{G`{Bf{Hf}}}AI`}{{G`{Bf{Hf}}}AIb}{{G`EdEd}AId}{{HfACh}AIf}{{{Bf{Hf}}ACh}AIh}{{G`l}AIj}{{{Bf{I`}}}AIl}{G`AIn}````````````````````{{}{{Ah{c}}}{}}00000000000000{c{{Ah{e}}}{}{}}00000000000000111111111111111{BfGd}00000000000000{ce{}{}}00000000000000{{ce}c{}{}}00000000000000{{}c{}}00000000000000````{Bf{{Bf{c}}}{}}{{{Bf{Cb}}}{{Bf{Cbc}}}{}}{{{Bf{AG`}}{Bf{AGb}}}{{Ah{AdAf}}}}{{{Bf{CbAJ`}}{Bf{Jf}}Ej}Ad}{{{Bf{CbAJ`}}{Bf{{Dn{I`}}}}}Ad}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}{Ed{{Bf{c}}}{}}{Ed{{Bf{Cbc}}}{}}{EdAd}`{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}{{{Ah{c}}}c{}}{cc{}}{{c{Bf{F`}}Af}e{}{}}`{{}Ed}>>{{{Bf{AG`}}}AJ`}{{AJ`c}{{Ah{AdAf}}}{{Eb{{Bf{CbAJ`}}}}}}{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{BfGd}{ce{}{}}{{ce}c{}{}}{{{Bf{CbAJ`}}{Bf{Jf}}}Ad}{{{Bf{CbAJ`}}{Bf{M`}}}Ad}{{{Bf{CbAJ`}}{Bf{AGb}}}Ad}{{{Bf{CbAJ`}}{Bf{Hh}}}Ad}{{{Bf{CbAJ`}}{Bf{Od}}}Ad}{{{Bf{CbAJ`}}{Bf{A@f}}}Ad}{{{Bf{CbAJ`}}{Bf{Jb}}}Ad}{{{Bf{CbAJ`}}{Bf{A@j}}}Ad}{{{Bf{CbAJ`}}{Bf{Kl}}}Ad}{{{Bf{CbAJ`}}{Bf{AH`}}}Ad}{{}c{}}`````````{{{Bf{AG`}}Gj}Hf}{Bf{{Bf{c}}}{}}0000{{{Bf{Cb}}}{{Bf{Cbc}}}{}}0000`{{{Bf{CbAG`}}{Bf{Od}}{Bf{{Dn{I`}}}}{Bf{Jf}}{Bf{Hf}}}{{Ah{AdAf}}}}{{{Bf{CbAG`}}{Bf{Jf}}{Bf{Hf}}}{{Ah{AdAf}}}}{{{Bf{CbAG`}}{Bf{Mh}}}{{Ah{AdAf}}}}{{{Bf{CbAG`}}{Bf{Od}}{Bf{{Dn{Od}}}}{Bf{Hf}}}{{Ah{AdAf}}}}{{{Bf{CbAG`}}{Bf{Od}}{Bf{Hf}}}{{Ah{AdAf}}}}{{{Bf{AG`}}Gj}{{Bf{{Dn{Ib}}}}}}{{ei}g{}{{Dl{}{{Dj{c}}}}}{}{{Eb{{Bf{{Dn{c}}}}}{{E`{g}}}}}}0000{Ed{{Bf{c}}}{}}0000{Ed{{Bf{Cbc}}}{}}0000{EdAd}0000{{{Bf{AG`}}c}AfAAd}{{{Bf{CbAG`}}{Bf{Hf}}ACh}Af}{{{Bf{CbAG`}}G`{Bf{Hf}}{Bf{Hf}}}Af}{{{Bf{CbAG`}}{Bf{Mh}}}{{Ah{HfAf}}}}{{{Bf{CbAG`}}{Bf{Hf}}{Bf{Hf}}}Hf}`{{{Bf{AG`}}Gj}AAf}{{{Bf{Ef}}}{{En{c{El{Eh}{{E`{Ej}}}}}}}{}}0000{{{Bf{CbAJb}}{Bf{Hf}}}Hf}{{{Bf{CbAJd}}{Bf{Hf}}}Hf}{cc{}}{{{Ah{c}}}c{}}10100110{{c{Bf{F`}}Af}e{}{}}0000{{{Bf{CbAG`}}{Bf{Hf}}}{{Ah{HfAd}}}}`````{{{Bf{CbAG`}}{Bf{AGb}}}{{Ah{AdAf}}}}{{{Bf{CbAJf}}{Bf{Od}}{Bf{Hf}}}Ad}{{{Bf{AG`}}ABb}ABl}{{}Ed}0000{{{Bf{Cb{Bf{CbAG`}}}}GjCj}Ad}{{{Bf{Cb{Bf{CbAG`}}}}GjHf}Ad}{{{Bf{CbAG`}}ABbHfAJh}Ad}{{{Bf{CbAG`}}{Bf{{Dn{I`}}}}}{{Ah{AdAf}}}}{{{Bf{CbAG`}}GjCj}Ad}{{{Bf{CbAG`}}GjHf}Ad}{{{Bf{CbAG`}}Ol}Cj}{{}c{}}000000000{AG`Aj}{{{Bf{CbAG`}}{Bf{Hf}}{Bf{Hf}}Gj}Ej}{{{Bf{CbAG`}}{Bf{Hf}}Gj}{{An{Ol}}}}0{{{Bf{CbAG`}}{Bf{Hf}}}{{An{{AB`{D`Hf}}}}}}{{{Bf{AG`}}Gj}Hf}{{bACd}AG`}{{{Bf{CbAG`}}}AJj}{{{Bf{CbAG`}}}AJl}{{{Bf{CbAG`}}}Hf}{{{Bf{CbAG`}}}AJn}1{{{Bf{CbAG`}}}AK`}{{{Bf{CbAG`}}}h}`{{{Bf{AG`}}}ACd}{{{Bf{AG`}}ABb}Hf}{{{Bf{AG`}}{Bf{I`}}}Hf}`{{{Bf{AG`}}Gj}D`}{{{Bf{CbAG`}}{Bf{I`}}}{{Ah{AdAf}}}}{{{Bf{CbAG`}}{Bf{Hf}}}Hf}{{{Bf{{Bf{CbAG`}}}}}{{Bf{c}}}{}}1{{{Bf{AG`}}Gj}Cj}`?``{{{Bf{CbAG`}}GjG`{Bf{{Dn{Jf}}}}}{{Ah{HfAf}}}}{{{Bf{CbAG`}}{Bf{Mh}}{Bf{{Dn{Jf}}}}G`}{{Ah{HfAf}}}}{{{Bf{CbAG`}}{Bf{Jf}}Jj{Bf{Jf}}{Bf{Jf}}}{{Ah{HfAf}}}}{{{Bf{CbAG`}}{Bf{Jf}}}{{Ah{HfAf}}}}{{{Bf{CbAG`}}{Bf{Mh}}}{{Ah{CjAf}}}}{NlHf}{{{Bf{CbAG`}}A@l{Bf{Jf}}}{{Ah{HfAf}}}}{{{Bf{CbAG`}}{Bf{Mh}}}Hf}{{}{{Ah{c}}}{}}0000{{{Bf{CbAG`}}{Bf{Hf}}{Bf{Hf}}}{{An{Hf}}}}{{{Bf{CbAG`}}AJjAJj}{{An{AJj}}}}1{{{Bf{Cb}}{Bf{{Md{c}}}}}{{Ah{{Md{c}}}}}Bn}0{{{Bf{Cb}}{Bf{AF`}}}{{Ah{AF`}}}}0{{{Bf{Cb}}{Bf{Kb}}}{{Ah{Kb}}}}0{{{Bf{Cb}}{Bf{Gh}}}{{Ah{Gh}}}}0{{{Bf{Cb}}{Bf{Nj}}}{{Ah{Nj}}}}0{{{Bf{Cb}}{Bf{Hf}}}{{Ah{Hf}}}}0{{{Bf{CbAKb}}{Bf{Hf}}}{{Ah{Hfc}}}{}}{{{Bf{Cb}}{Bf{AKd}}}{{Ah{AKd}}}}0{{{Bf{Cb}}{Bf{Jd}}}{{Ah{Jd}}}}0{c{{Ah{e}}}{}{}}0000<<<<<{BfGd}0000{ce{}{}}0000{{ce}c{}{}}0000{{{Bf{CbAJf}}{Bf{Jb}}}Ad}{{}c{}}0000`","D":"AEn","p":[[5,"GlobalEnv",1493],[5,"LocalDefId",1494],[5,"AdtDef",1495],[8,"QueryResult",1496],[5,"AdtSortDef",1495],[5,"Symbol",1497],[5,"Lambda",1498],[5,"EarlyBinder",1499],[5,"AssocRefinements",1495],[1,"unit"],[5,"ErrorGuaranteed",1500],[6,"Result",1501],[5,"WfckResults",1495],[5,"Rc",1502],[6,"Option",1503],[8,"PolyFnSig",1495],[5,"Generics",1495],[5,"Item",1504],[1,"reference"],[5,"Invariant",1495],[5,"Vec",1505],[8,"Clauses",1495],[10,"TypeFoldable",1506],[5,"GenericPredicates",1495],[0,"mut"],[5,"Providers",1496],[5,"Qualifier",1495],[5,"RefinementGenerics",1495],[5,"FuncSort",1495],[5,"SpecFuncDecl",1495],[5,"SpecFuncDefns",1507],[5,"DefId",1494],[8,"TyCtor",1495],[8,"PolyVariants",1495],[6,"Opaqueness",1495],[6,"MaybeExternId",1508],[17,"Item"],[10,"Iterator",1509],[1,"slice"],[17,"Output"],[10,"FnOnce",1510],[1,"usize"],[1,"str"],[5,"DataRequest",1511],[1,"bool"],[1,"fn"],[5,"RequestFilterDataProvider",1512],[5,"CycleError",1513],[5,"IncompatibleSort",34],[5,"DiagCtxtHandle",1514],[6,"Level",1514],[5,"Diag",1515],[10,"EmissionGuarantee",1515],[5,"InvalidAssocReft",34],[5,"MissingAssocReft",34],[5,"Span",1516],[5,"String",1517],[5,"TypeId",1518],[5,"ConvCtxt",113],[5,"Expr",1498],[5,"FhirId",1504],[10,"ConvPhase",113],[5,"Arena",1519],[10,"IntoIterator",1520],[5,"Arena",1521],[10,"WfckResultsProvider",113],[6,"Sort",1495],[5,"PathSegment",1504],[5,"Layer",113],[6,"LayerKind",113],[5,"ParamEntry",113],[5,"RefineParam",1504],[6,"Coercion",1495],[5,"RefinedBy",1504],[5,"Env",113],[5,"AliasReft",1504],[5,"AliasReft",1498],[8,"PolyTraitRef",1495],[5,"AssocItemConstraint",1504],[5,"Clause",1495],[5,"Ty",1504],[5,"Ty",1495],[5,"Expr",1504],[6,"Sort",1504],[6,"BinOp",1522],[6,"BinOp",1498],[5,"BaseTy",1504],[5,"ConstArg",1504],[5,"Const",1523],[5,"SpecFunc",1504],[5,"SpecFunc",1495],[6,"Ensures",1504],[6,"Ensures",1495],[5,"VariantDef",1504],[8,"PolyVariant",1495],[5,"EnumDef",1504],[8,"List",1524],[5,"PolyTraitRef",1504],[6,"ClosureKind",1525],[6,"Safety",1526],[6,"Abi",1527],[5,"FnDecl",1504],[5,"FnSig",1495],[5,"FnOutput",1504],[5,"FnOutput",1495],[5,"Binder",1499],[5,"FnSig",1504],[5,"PathExpr",1504],[5,"FuncSort",1504],[10,"FnMut",1510],[6,"GenericArg",1495],[8,"GenericBounds",1504],[6,"GenericParamKind",1504],[6,"GenericParamDefKind",1495],[5,"Generics",1504],[6,"Lifetime",1504],[6,"Region",1523],[6,"Lit",1504],[6,"Constant",1498],[5,"ItemId",1526],[6,"GenericArg",1504],[5,"RefineArg",1504],[5,"OpaqueTy",1504],[5,"Path",1504],[5,"PolyFuncSort",1504],[5,"PolyFuncSort",1495],[5,"Qualifier",1504],[5,"RefineParam",1495],[5,"Requires",1504],[5,"SortPath",1504],[5,"StructDef",1504],[5,"GenericParamDef",1495],[5,"TyAlias",1504],[6,"UnOp",1522],[6,"UnOp",1498],[5,"ParamConst",1528],[5,"ParamTy",1528],[10,"Diagnostic",1515],[6,"FieldProj",1498],[5,"Formatter",1529],[8,"Result",1529],[5,"LookupResult",113],[6,"LookupResultKind",113],[1,"tuple"],[5,"ParamId",1504],[10,"Borrow",1530],[17,"Results"],[6,"BoundVariableKind",1499],[1,"u32"],[6,"InferMode",1504],[5,"ConstVid",1531],[5,"RegionVid",1532],[5,"TyVid",1533],[6,"FluxOwnerId",1504],[5,"GenericParam",1504],[5,"Ident",1497],[8,"PolyTraitRef",1534],[10,"Fn",1510],[5,"GenericPredicates",1535],[5,"Path",1498],[6,"AssocKind",1536],[5,"AssocItem",1536],[5,"AssocTypeNotFound",412],[5,"AmbiguousAssocType",412],[5,"InvalidBaseInstance",412],[5,"GenericArgCountMismatch",412],[5,"TooFewGenericArgs",412],[5,"TooManyGenericArgs",412],[5,"RefinedUnrefinableType",412],[5,"Zipper",590],[5,"Mismatch",590],[10,"Eq",1537],[10,"Debug",1529],[5,"Holes",590],[6,"FnSigErr",590],[6,"BaseTy",1495],[6,"ExistentialPredicate",1495],[5,"VariantIdx",1538],[5,"IncompatibleRefinement",714],[5,"FieldIdx",1538],[5,"IncompatibleParamCount",714],[5,"FieldCountMismatch",714],[5,"DefinitionCycle",800],[5,"InferCtxt",1293],[6,"Node",1504],[5,"FluxSession",1539],[5,"UnordSet",1540],[5,"OwnerId",1541],[5,"Wf",825],[5,"ImplAssocReft",1504],[5,"TraitAssocReft",1504],[5,"VariantRet",1504],[5,"SortMismatch",873],[5,"ArgCountMismatch",873],[5,"EarlyBoundArgCountMismatch",873],[5,"DuplicatedEnsures",873],[5,"UnknownQualifier",873],[5,"MissingEnsures",873],[5,"ExpectedFun",873],[5,"InvalidParamPos",873],[5,"UnexpectedFun",873],[5,"ParamCountMismatch",873],[5,"FieldNotFound",873],[5,"InvalidPrimitiveDotAccess",873],[5,"ParamNotDetermined",873],[5,"SortAnnotationNeeded",873],[5,"CannotInferSort",873],[5,"ParamUsesChecker",1251],[5,"ShallowResolver",1293],[5,"OpportunisticResolver",1293],[5,"ImplicitParamInferer",1293],[6,"ParamKind",1504],[6,"BvSize",1495],[5,"BvSizeVid",1495],[5,"NumVid",1495],[5,"SortVid",1495],[5,"FullResolver",1293],[5,"SubsetTy",1495],[8,"Result",28],[15,"List",405],[15,"Bound",406],[15,"EarlyParam",406],[15,"Ensures",712],[8,"Result",825],[8,"Result",1251],[8,"Result",1293]],"r":[],"b":[[1415,"impl-InferCtxt%3C\'genv,+\'_%3E"],[1416,"impl-WfckResultsProvider-for-InferCtxt%3C\'_,+\'_%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACYFUgAAAAAAAgAGAAoAEQAfAAwALwAOAD8AAABCAAYATAAoAHcAAgB7AAQAgQAgAKkAHwDKAAIAzgA4AAkBAAALAQAADQEAAA8BAQASAQAAFAEGABwBCAAuASgAWAEeAHgBFQCPAQYAlwEBAJsBFgC5ASIA3QEAAN8BAQDjAQEA5gEAAOgBAADqAQ0A/wFjAGcCGACBAgAAgwIBAIYCAACIAgkAlgI9ANcCGQDyAgAA9AIBAPcCBQAAAyMAJQMEACsDAQAuAwsAPAMKAEgDBQBPAwMAVgMAAFkDPQCmA0UA7QMBAPEDAADzAwEA9gMAAPgDAAD7AwEA/gMAAAEEAQAFBAAABwQBAAoEHQA3BKwA5gQEAOwEAADuBAUA9QQCAPkEEwAPBQIAEwUUAC0FHABLBQAATQUAAE8FAQBTBRYAawUCAHMFBQB6BVsA"}],\ ["flux_infer",{"t":"CCCPPPFIFFFFGFFGPFTTPFFPTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNOOOHNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNONNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOOOOOHONNNNNNONONNNNNNNNNNOOONNOONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNPGPFPFPFTTTTTTPFPPPPPGTTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOPPPPPPPGGPIPPPPPIIPIPIIIPPPIPFPPPPTPPPPPIPPPPPPPPPPIPIPPIIPPPIPPNNNNNNNNONNONNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNONNNPPPPGPPPPFFFFGIPPPPPPPFFGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOHNNNNONNCNNOOOOONOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPPPFGFFFFPFFPPFFPNNONONNNNNNNNNNNNNNNNNNNNNNNNNNOHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOOCOOONNONNNONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHHHH","n":["fixpoint_encoding","infer","refine_tree","Alias","Conj","Const","ConstInfo","ConstMap","ExprEncodingCtxt","FixpointCtxt","FixpointKVar","KVarDecl","KVarEncoding","KVarEncodingCtxt","KVarGen","Key","Lambda","LocalVarEnv","MAX","MAX_AS_U32","Single","SortEncodingCtxt","TagIdx","Uif","ZERO","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","apply_bin_rel_rec","as_any","as_any","as_u32","as_usize","assume_const_values","assumption_to_fixpoint","assumption_to_fixpoint_aux","bin_op_to_fixpoint","bin_rel_to_fixpoint","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","bv_size_to_fixpoint","check","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","comment","comments","const_map","const_to_fixpoint","declare_tuple","def_id","def_span","def_span","default","default","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dummy","ecx","encode","encoding","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","errors","expr_to_fixpoint","exprs_to_fixpoint","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fixpoint","fmt","fmt","fresh","fresh_inner","fresh_name","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_str","from_u16","from_u32","from_u32_unchecked","from_usize","func_sort_to_fixpoint","func_to_fixpoint","fvars","genv","genv","get","get_fvar","get_late_bvar","global_var_gen","hash","hash","head_to_fixpoint","imm","index","index","init","init","init","init","init","init","init","init","init","init","init","init","insert_fvar_map","into","into","into","into","into","into","into","into","into","into","into","into","into_data_decls","into_fixpoint","into_fixpoint","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kcx","kvar_to_fixpoint","kvars","kvars","kvars","layers","local_var_env","local_var_gen","map","mk_implies","name","new","new","new","new","new","new","orig","pop_layer","private_use_as_methods_instead","proj_to_fixpoint","push_layer_with_fresh_names","qualifier_to_fixpoint","qualifiers_for","register_const_for_alias_reft","register_const_for_lambda","register_rust_const","register_uif","remove_fvar_map","run_task_with_cache","scx","self_args","sort","sort_to_fixpoint","sort_to_fixpoint","sorts","sorts","tag_idx","tags","tags_inv","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","try_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","tuples","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","un_op_to_fixpoint","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","val","var_to_fixpoint","var_to_fixpoint","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_name_map","ConstGeneric","DataSort","Global","GlobalVar","Itf","KVid","Local","LocalVar","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Param","SymStr","Tuple","TupleCtor","TupleProj","UIFRel","Underscore","Var","ZERO","ZERO","ZERO","add","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_any","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","fixpoint_generated","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_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u16","from_u16","from_u16","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","hash","hash","hash","hash","hash","hash","index","index","index","index","index","index","init","init","init","init","init","init","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","new","new","new","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","to_owned","to_owned","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","arity","arity","field","Abs","Add","And","And","App","App","Atom","BinOp","BinRel","BinaryOp","Bind","BitVec","Bool","Boolean","BvSize","Conj","ConstDecl","Constant","Constant","Constraint","Data","DataCtor","DataDecl","DataField","Decimal","Div","Eq","Expr","Expr","FixpointTypes","ForAll","Func","Ge","Gt","INEQUALITIES","IfThenElse","Iff","Imp","Int","KVar","KVarDecl","Le","Lt","Map","Mod","Mul","Ne","Neg","Not","Numeral","Or","Pred","Pred","Qualifier","Real","Set","Sort","SortCtor","Str","String","Sub","Task","Var","Var","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","args","as_any","as_any","body","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","comment","comments","constants","constraint","ctors","data_decls","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fields","filterable","filterable","filterable","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","hash","hash","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","kvars","name","name","name","name","name","name","pred","qualifiers","scrape_quals","sort","sort","sort","to_owned","to_owned","to_result","to_result","to_result","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vars","vzip","vzip","vzip","Assert","Assign","BaseTys","Call","ConstrReason","Div","Err","Fold","Goto","InferCtxt","InferCtxtAt","InferCtxtInner","InferCtxtRoot","InferErr","InferResult","Inference","Ok","Other","Overflow","Query","Rem","Ret","Sub","Tag","TypeTrace","Types","abs_eq","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","at","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","branch","btys","btys","change_item","change_root","check_constructor","check_non_closure_clauses","check_pred","clean_subtree","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","def_id","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","dst_span","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evars","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fresh_evars","fresh_infer_var","fresh_infer_var_for_hole","fresh_kvar","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generic_args","genv","genv","handle_opaque_type","hash","hash","idxs_eq","infcx","infcx","init","init","init","init","init","init","init","init","init","inner","inner","instantiate_generic_args","instantiate_refine_args","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","kvars","mk_coroutine_obligations","new","new","new","new","obligations","pop_scope","pop_scope_without_solving_evars","pretty","project_bty","push_scope","rcx","reason","reason","refine_tree","region_infcx","replace_evars","span","span","split","src_span","subtyping","tag","tag","tcx","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","tys","tys","unify_exprs","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_dst","AssumeInvariants","Assumption","ForAll","Head","No","Node","NodeKind","NodePtr","ParentsIter","RefineCtxt","RefineTree","Root","Scope","Snapshot","Trace","True","Unpacker","WeakNodePtr","Yes","as_any","assume_invariants","assume_invariants","assume_pred","bindings","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","branch","change_root","check_impl","check_pred","children","children_to_fixpoint","clear_children","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","contains","contains_all","define_var","define_vars","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","downgrade","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","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_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","has_free_vars","hoist_constr","hoist_exists","hoister","index","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into_fixpoint","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_forall","is_head","is_leaf","iter","kind","nbindings","new","new","next","next_name_idx","params","parent","pretty","ptr","ptr","ptr","push_node","push_trace","rcx","refine_ctxt_at_root","replace_evars","replace_evars","root","scope","scope","simplify","simplify","snapshot","to_fixpoint","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","tree","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unpack","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upgrade","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","yes","check_overflow","bindings_chain","fmt_children","preds_chain","with_padding"],"q":[[0,"flux_infer"],[3,"flux_infer::fixpoint_encoding"],[409,"flux_infer::fixpoint_encoding::fixpoint"],[672,"flux_infer::fixpoint_encoding::fixpoint::Var"],[675,"flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated"],[862,"flux_infer::infer"],[1173,"flux_infer::refine_tree"],[1488,"flux_infer::refine_tree::AssumeInvariants"],[1489,"flux_infer::refine_tree::pretty"],[1493,"rustc_hir"],[1494,"core::iter::traits::collect"],[1495,"rustc_middle::arena"],[1496,"flux_middle::rty"],[1497,"liquid_fixpoint::constraint"],[1498,"flux_middle::rty::expr"],[1499,"flux_middle::queries"],[1500,"core::ops::function"],[1501,"core::any"],[1502,"alloc::vec"],[1503,"core::hash"],[1504,"core::cmp"],[1505,"core::marker"],[1506,"flux_common::cache"],[1507,"core::iter::traits::iterator"],[1508,"rustc_span::span_encoding"],[1509,"icu_provider::request"],[1510,"icu_provider_adapters::filter"],[1511,"core::fmt"],[1512,"flux_middle::rty::binder"],[1513,"core::result"],[1514,"rustc_query_system::query::plumbing"],[1515,"rustc_span"],[1516,"core::option"],[1517,"rustc_type_ir"],[1518,"flux_middle::global_env"],[1519,"rustc_span::def_id"],[1520,"rustc_span::symbol"],[1521,"alloc::string"],[1522,"liquid_fixpoint"],[1523,"rustc_infer::infer"],[1524,"core::convert"],[1525,"flux_middle::pretty"],[1526,"flux_middle::fhir"],[1527,"flux_middle::rty::evars"],[1528,"flux_arc_interner"],[1529,"core::cell"],[1530,"rustc_middle::ty::context"],[1531,"flux_middle::rty::fold"],[1532,"flux_middle::rty::canonicalize"],[1533,"pad_adapter"]],"i":[0,0,0,48,37,48,0,0,0,0,0,0,0,0,0,0,48,0,1,1,37,0,0,48,1,1,1,1,37,37,1,1,37,37,10,1,48,1,1,10,23,23,10,10,23,79,57,73,45,10,1,14,48,44,36,37,23,79,57,73,45,10,1,14,48,44,36,37,0,23,1,36,37,1,36,37,1,36,37,23,79,57,73,45,10,1,14,48,44,36,37,73,23,10,0,14,23,23,10,14,44,23,79,57,73,45,10,1,14,48,44,36,37,23,79,57,73,45,10,1,14,48,44,36,37,23,79,57,73,45,10,1,14,48,44,36,37,45,45,23,44,36,1,48,1,48,1,1,1,1,1,48,48,48,48,48,10,10,10,23,79,57,73,45,10,1,14,48,44,36,37,0,1,1,45,45,57,23,23,79,79,57,57,73,73,45,45,10,10,1,1,1,1,14,14,48,48,44,44,36,36,37,37,23,79,57,73,45,10,1,14,48,44,36,37,1,1,1,1,1,14,10,57,23,10,45,57,57,10,1,48,23,10,1,1,23,79,57,73,45,10,1,14,48,44,36,37,57,23,79,57,73,45,10,1,14,48,44,36,37,14,73,44,23,79,57,73,45,10,1,14,48,44,36,37,23,23,23,45,44,57,10,57,44,0,73,23,79,57,45,10,1,79,57,1,10,57,10,10,10,10,10,10,57,23,23,36,73,23,14,79,36,23,23,23,1,36,37,23,79,57,73,45,10,1,14,48,44,36,37,1,23,79,57,73,45,10,1,14,48,44,36,37,23,79,57,73,45,10,1,14,48,44,36,37,14,23,79,57,73,45,10,1,14,48,44,36,37,10,23,79,57,73,45,10,1,14,48,44,36,37,23,79,57,73,45,10,1,14,48,44,36,37,73,23,10,23,79,57,73,45,10,1,14,48,44,36,37,23,71,0,71,0,71,0,71,0,47,58,84,47,58,84,71,0,93,71,71,71,71,0,47,58,84,47,58,84,47,47,58,58,84,84,71,71,47,47,58,58,84,84,71,71,47,58,84,47,58,84,47,58,84,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,47,58,84,71,93,47,58,84,71,93,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,47,58,84,47,47,47,47,47,58,58,58,58,58,84,84,84,84,84,47,58,84,71,93,95,0,47,47,47,58,84,71,71,93,93,95,47,47,47,47,58,58,58,58,84,84,84,84,71,71,71,71,93,93,95,95,47,58,84,71,93,95,47,58,84,47,58,84,47,58,84,47,58,84,47,58,84,71,93,95,47,47,58,58,84,84,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,47,58,84,47,58,84,71,93,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,47,58,84,71,93,95,141,142,142,33,96,15,26,15,33,15,0,0,15,0,33,33,42,33,22,0,0,15,0,143,0,0,0,42,96,12,0,26,0,22,33,12,12,12,15,15,15,33,26,0,12,12,143,96,96,12,15,15,42,15,0,22,0,33,143,0,0,33,42,96,0,15,33,12,12,96,96,12,12,96,96,81,12,96,81,12,96,144,12,96,144,12,96,12,96,12,96,12,96,144,74,88,88,88,72,88,12,96,144,12,96,144,12,96,144,12,96,12,96,12,12,12,12,12,96,96,96,96,96,145,12,96,144,12,12,96,96,12,12,96,96,144,144,12,96,144,12,96,12,96,144,12,96,144,12,96,144,88,74,81,72,145,146,24,24,88,88,74,146,24,12,96,12,96,144,12,96,12,96,144,12,96,144,12,96,144,12,96,144,12,96,144,72,12,96,144,109,109,101,109,0,109,102,109,109,0,0,0,0,0,0,114,102,109,109,114,109,109,0,0,0,101,97,112,112,109,109,112,112,109,109,112,109,98,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,98,101,97,98,98,99,99,99,98,112,109,112,109,112,109,121,98,124,99,101,97,112,109,114,98,121,98,98,124,99,99,101,97,112,109,114,121,98,98,124,99,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,112,112,109,112,109,112,112,112,112,112,109,109,109,109,109,124,121,98,124,99,101,97,112,109,114,98,101,112,112,109,114,98,98,98,98,121,121,98,98,124,124,99,99,101,101,97,97,112,112,109,109,114,114,114,114,121,98,124,99,101,97,112,109,114,97,121,98,97,112,109,97,121,99,121,98,124,99,101,97,112,109,114,121,98,98,98,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,124,0,121,98,124,112,97,98,98,0,97,98,98,97,112,121,98,101,99,97,121,112,99,99,97,98,112,109,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,101,97,98,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,121,98,124,99,101,97,112,109,114,112,0,139,139,139,135,0,0,0,0,0,0,139,0,0,139,139,0,0,135,130,123,133,123,130,127,123,104,137,131,139,135,133,138,130,129,127,123,104,137,131,139,135,133,138,130,129,123,123,123,123,137,0,123,129,129,129,127,123,104,137,131,139,135,133,138,130,129,130,130,123,123,127,123,104,137,131,139,135,133,138,130,129,129,127,123,104,137,131,139,135,133,138,130,129,129,127,123,104,137,131,139,135,133,138,130,129,130,130,130,130,130,130,130,127,123,104,137,131,139,135,133,138,130,129,127,127,123,123,130,130,129,127,127,123,123,104,104,137,137,131,131,139,139,135,135,133,133,138,138,130,130,129,129,127,123,104,137,131,139,135,133,138,130,129,130,133,133,123,130,127,123,104,137,131,139,135,133,138,130,129,127,123,104,137,131,139,135,133,138,130,129,127,138,127,123,104,137,131,139,135,133,138,130,129,137,137,137,130,137,137,127,138,138,129,130,137,0,123,104,138,129,123,133,127,123,137,127,123,104,127,137,123,137,129,127,123,104,137,131,139,135,133,138,130,129,123,127,123,104,137,131,139,135,133,138,130,129,127,123,104,137,131,139,135,133,138,130,129,127,123,104,137,131,139,135,133,138,130,129,123,127,123,104,137,131,139,135,133,138,130,129,127,123,104,137,131,139,135,133,138,130,129,131,127,123,104,137,131,139,135,133,138,130,129,135,147,0,0,0,0],"f":"`````````````````````````{{bd}b}{{{h{f}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}{{{h{Ab}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}10{{{h{Ab}}}{{h{jc}}}{}}{{{h{f}}}{{h{jc}}}{}}01{{{h{jAd}}{h{{l{Af}}}}Ah{h{Aj}}{h{Aj}}{h{jAl}}c}{{B`{An}}}{{Bh{Bb}{{Bd{Bf}}}}}}{h{{h{Bj}}}}0{bBb}{bd}{{{h{Ad}}Bl}Bl}{{{h{j{Bn{c}}}}{h{Aj}}}{{B`{{Cf{{Cb{C`}}Cd}}}}}{ChCjCl}}{{{h{j{Bn{c}}}}{h{Aj}}{h{j{Cb{C`}}}}{h{j{Cb{Cd}}}}}B`{ChCjCl}}{{{h{jAd}}{h{Cn}}{h{Aj}}{h{Aj}}{h{jAl}}}{{B`{An}}}}{{{h{jAd}}{h{Af}}Ah{h{Aj}}{h{Aj}}{h{jAl}}}{{B`{An}}}}{h{{h{c}}}{}}00000000000{{{h{j}}}{{h{jc}}}{}}00000000000{D`Db}{{{Bn{c}}{h{jDd}}BlDf}{{B`{{Cb{c}}}}}{ChCjCl}}{{{h{b}}}b}{{{h{Dh}}}Dh}{{{h{Dj}}}Dj}{{h{h{jc}}}Dl{}}00{hDl}00{{ei}g{}{{Dn{}{{n{c}}}}}{}{{E`{{h{{l{c}}}}}{{Bd{g}}}}}}00000000000```{EbEd}{{{h{jAl}}d}Dl}`{{{h{{Bn{c}}}}}Ef{ChCjCl}}`{{}Al}{{}Eh}{d{{h{c}}}{}}00000000000{d{{h{jc}}}{}}00000000000{dDl}00000000000{{}Ej}``{{{h{jEh}}El{h{Dh}}{h{jAl}}}{{h{{l{En}}}}}}`{{{h{b}}{h{b}}}Df}{{{h{F`}}{h{F`}}}Df}{{h{h{Bj}}}Df}0{{h{h{c}}}Df{}}000000000`{{{h{jAd}}{h{Aj}}{h{jAl}}}{{B`{An}}}}{{{h{jAd}}c{h{jAl}}}{{B`{{Cb{An}}}}}{{A`{}{{n{{h{Aj}}}}}}}}{{{h{Fb}}}{{Fh{c{Ff{Fd}{{Bd{Df}}}}}}}{}}00000000000`{{{h{b}}{h{jFj}}}Fl}0{{{h{jEj}}{h{{l{Fn}}}}cDj}Aj{{A`{}{{n{{Cf{G`Af}}}}}}}}{{{h{jEj}}dcDj}Aj{{A`{}{{n{{Cf{G`Af}}}}}}}}{{{h{jGb}}}Gd}{cc{}}{{{Gf{c}}}c{}}1001011001{Bbb}{db}232332232323{{c{h{Gh}}Gj}e{}{}}00000000000{{{h{Fb}}}{{Gf{bc}}}{}}{Glb}443{{{h{jAl}}{h{Gn}}}Db}>```{{{h{Ej}}El}{{h{Dh}}}}{{{h{Gb}}H`}{{Hb{Gd}}}}{{{h{Gb}}HdHf}{{Hb{Gd}}}}`{{{h{b}}{h{jc}}}DlHh}{{{h{F`}}{h{jc}}}DlHh}{{{h{j{Bn{c}}}}{h{Aj}}e}{{B`{Bl}}}{HjChCjCl}{{Bh{{Hb{Hl}}}{{Bd{c}}}}Cl}}{{{h{jAd}}{h{Aj}}{h{Af}}{h{jAl}}{h{j{Cb{C`}}}}}{{B`{Hn}}}}{bd}0{{}d}00000000000{{{h{jGb}}H`}Gd}{{}c{}}00000000000{Al{{Cb{I`}}}}{IbId}{Eh{{Cb{If}}}}333333333333`{{{h{j{Bn{c}}}}{h{Ih}}{h{j{Cb{C`}}}}}{{B`{Cd}}}{ChCjCl}}```````{{CdBl}Bl}`{{IjIlEj}{{Bn{c}}}{ChCjCl}}{{{Cb{Db}}El}In}{{}Gb}{{}Ej}{{IjEf}Ad}{db}`{{{h{jGb}}}{{Cb{Gd}}}}`{{{h{jAd}}Bf{h{jAl}}}{{B`{Hn}}}}{{{h{jGb}}d}Dl}{{{h{jAd}}{h{J`}}{h{jAl}}}{{B`{Jb}}}}{{{h{jAd}}Il{h{jAl}}}{{B`{{Cb{Jb}}}}}}{{{h{jAd}}{h{Jd}}Jf{h{jAl}}}Jh}{{{h{jAd}}{h{Jj}}{h{jAl}}}Jh}{{{h{jAd}}Jl}Jh}{{{h{jAd}}Jn{h{jAl}}}Jh}{{{h{jGb}}H`}Dl}{{K`Kb{h{jDd}}}{{Kd{b}}}}```{{{h{j{Bn{c}}}}{h{Af}}}Db{ChCjCl}}{{{h{jAl}}{h{Af}}}Db}``{{{h{j{Bn{c}}}}c}b{HjChCjCl}}``{hc{}}00{{}{{Gf{c}}}{}}00000000000{hKb}{c{{Gf{e}}}{}{}}00000000000222222222222`{hKf}00000000000{{{h{jAd}}Kh{h{Aj}}{h{jAl}}}{{B`{An}}}}{ce{}{}}00000000000{{ce}c{}{}}00000000000`{{{h{{Bn{c}}}}{h{G`}}}Hn{ChCjCl}}{{{h{Ad}}{h{G`}}}Hn}{{}c{}}00000000000{{{h{j{Bn{c}}}}H`g}e{ChCjCl}{}{{E`{{h{j{Bn{c}}}}Gd}{{Bd{e}}}}}}`````````````````````````{{End}En}{{Gdd}Gd}{{Jhd}Jh}{{{h{f}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}{{{h{Ab}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}100101{{{h{f}}}{{h{jc}}}{}}{{{h{Ab}}}{{h{jc}}}{}}010110{h{{h{Bj}}}}00{EnBb}{GdBb}{JhBb}{End}{Gdd}{Jhd}{h{{h{c}}}{}}00000{{{h{j}}}{{h{jc}}}{}}00000{{{h{En}}}En}{{{h{Gd}}}Gd}{{{h{Jh}}}Jh}{{{h{Hn}}}Hn}{{{h{Kj}}}Kj}{{h{h{jc}}}Dl{}}0000{hDl}0000{{ei}g{}{{Dn{}{{n{c}}}}}{}{{E`{{h{{l{c}}}}}{{Bd{g}}}}}}00000{d{{h{c}}}{}}00000{d{{h{jc}}}{}}00000{dDl}00000{{{h{En}}{h{En}}}Df}{{{h{Gd}}{h{Gd}}}Df}{{{h{Jh}}{h{Jh}}}Df}{{h{h{Bj}}}Df}00{{h{h{c}}}Df{}}00000000000000{{{h{Fb}}}{{Fh{c{Ff{Fd}{{Bd{Df}}}}}}}{}}00000`{{{h{En}}{h{jFj}}}Fl}0{{h{h{jFj}}}{{Gf{DlKl}}}}{{{h{Gd}}{h{jFj}}}Fl}{{{h{Jh}}{h{jFj}}}Fl}2{{{h{Hn}}{h{jFj}}}Fl}{{{h{Kj}}{h{jFj}}}Fl}4{{{h{Kn}}{h{jFj}}}Fl}{cc{}}{dEn}{BbEn}{{{Gf{c}}}c{}}03{BbGd}{dGd}52{BbJh}{dJh}4{GdHn}{JhHn}96969{{c{h{Gh}}Gj}e{}{}}00000{GlEn}{GlGd}{GlJh};97;97<86{{{h{En}}{h{jc}}}DlHh}{{{h{Gd}}{h{jc}}}DlHh}{{{h{Jh}}{h{jc}}}DlHh}{{{h{Hn}}{h{jc}}}DlHh}{{{h{Kj}}{h{jc}}}DlHh}{{{h{Kn}}{h{jc}}}DlHh}{End}0{Gdd}0{Jhd}0{{}d}00000{{}c{}}00000000000{dEn}{dGd}{dJh}```{hc{}}0000{{}{{Gf{c}}}{}}00000{c{{Gf{e}}}{}{}}00000111111{hKf}00000{ce{}{}}00000{{ce}c{}{}}00000999999```````````````````````````````````````````````````````````````````{{{h{Ab}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}{{{h{f}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}01{{{h{Ab}}}{{h{jc}}}{}}{{{h{f}}}{{h{jc}}}{}}01`{h{{h{Bj}}}}0`{h{{h{c}}}{}}00{{{h{j}}}{{h{jc}}}{}}00{{{h{Ah}}}Ah}{{{h{L`}}}L`}{{h{h{jc}}}Dl{}}0{hDl}0{{ei}g{}{{Dn{}{{n{c}}}}}{}{{E`{{h{{l{c}}}}}{{Bd{g}}}}}}00``````{d{{h{c}}}{}}00{d{{h{jc}}}{}}00{dDl}00{{{h{Ah}}{h{Ah}}}Df}{{{h{L`}}{h{L`}}}Df}{{h{h{Bj}}}Df}0{{h{h{c}}}Df{}}000000000`{{{h{Fb}}}{{Fh{c{Ff{Fd}{{Bd{Df}}}}}}}{}}00{{{h{Ah}}{h{jFj}}}{{Gf{DlKl}}}}0{{{h{L`}}{h{jFj}}}{{Gf{DlKl}}}}0{cc{}}{{{Gf{c}}}c{}}1010{{c{h{Gh}}Gj}e{}{}}00{{{h{Ah}}{h{jc}}}DlHh}{{{h{L`}}{h{jc}}}DlHh}{{}d}00{{}c{}}00000`````````````{hc{}}0{{}{{Gf{c}}}{}}00{hKb}0{c{{Gf{e}}}{}{}}00222{hKf}00{ce{}{}}00{{ce}c{}{}}00`777``````````````````````````{{{h{jLb}}{h{jLd}}{h{Jj}}{h{Jj}}}Dl}{{{h{Ab}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}{{{h{f}}e}{{h{j{l{c}}}}}{}{{A`{}{{n{c}}}}}}01{{{h{f}}}{{h{jc}}}{}}{{{h{Ab}}}{{h{jc}}}{}}10{h{{h{Bj}}}}0{{{h{jLd}}Ef}Lf}{h{{h{c}}}{}}00000000{{{h{j}}}{{h{jc}}}{}}00000000{{{h{jLd}}}Ld}{{{h{Lh}}{h{Lh}}}Lj}{{{h{jLb}}{h{jLd}}{h{Lh}}{h{Lh}}}Ll}{{{h{jLd}}Il{h{Ln}}{h{M`}}}Ld}{{{h{jLd}}{h{M`}}}Ld}{{{h{jLf}}{Md{Mb}}{h{{l{Mf}}}}{h{{l{Mh}}}}Mj}{{Ll{Mh}}}}{{{h{jLf}}{h{{l{Ml}}}}Mj}Ll}{{{h{jLf}}cMj}Dl{{Mn{Aj}}}}{{{h{jLd}}{h{M`}}}Dl}{{{h{N`}}}N`}{{{h{Mj}}}Mj}{{h{h{jc}}}Dl{}}0{hDl}0{{ei}g{}{{Dn{}{{n{c}}}}}{}{{E`{{h{{l{c}}}}}{{Bd{g}}}}}}00000000`{d{{h{c}}}{}}0{{{h{Ld}}}{{h{c}}}{}}1{{{h{Lf}}}{{h{c}}}{}}222222{d{{h{jc}}}{}}0{{{h{jLd}}}{{h{jc}}}{}}1{{{h{jLf}}}{{h{jc}}}{}}222222{dDl}00000000`{{{h{N`}}{h{N`}}}Df}{{{h{Mj}}{h{Mj}}}Df}{{h{h{Bj}}}Df}0{{h{h{c}}}Df{}}000000000`{{{h{Fb}}}{{Fh{c{Ff{Fd}{{Bd{Df}}}}}}}{}}00000000{{{h{Ld}}{h{jFj}}}Fl}{{{h{Lj}}{h{jFj}}}Fl}{{{h{N`}}{h{Nb}}{h{jFj}}}Fl}{{{h{N`}}{h{jFj}}}Fl}{{{h{Mj}}{h{jFj}}}Fl}{{{h{Nd}}{h{jFj}}}Fl}{{{h{Ld}}{h{Af}}}Aj}{{{h{Ld}}{h{Af}}Nf}Aj}{{{h{jLd}}{h{{l{Fn}}}}Nh}Aj}{{{h{Ld}}{h{{l{Fn}}}}Dj}Aj}{{{Gf{c}}}c{}}{cc{}}01100110010110{NjNd}1{NlNd}3{{c{h{Gh}}Gj}e{}{}}00000000{{{h{jLb}}{h{jLd}}Nn{h{Mf}}{h{Mf}}}Ll}``{{{h{jLb}}{h{jLd}}{h{Mh}}{h{O`}}}Ll}{{{h{N`}}{h{jc}}}DlHh}{{{h{Mj}}{h{jc}}}DlHh}{{{h{jLb}}{h{jLd}}{h{Aj}}{h{Aj}}}Dl}{{{h{jOb}}Il{h{Ln}}}Ld}`{{}d}00000000``{{{h{jLd}}{h{{l{Mf}}}}}{{Cb{Mf}}}}{{{h{jLd}}Jl}{{Ll{{Cb{Aj}}}}}}{{}c{}}00000000000000000`{{Ij{h{Jl}}{h{Mh}}{h{{Od{Mh}}}}{h{Jl}}}{{Ll{{Cb{Ml}}}}}}{{IjIlEj}{{B`{Ob}}}}{{Ij{h{Ln}}JlOf{h{{Oj{Oh}}}}}Ld}{EjOh}{{MjEf}N`}`{{{h{jLd}}}{{Ll{Ol}}}}{{{h{jLd}}}Dl}`{{{h{Ld}}{h{Mh}}Jl}{{Ll{Mh}}}}1`````{{{h{jLj}}{h{Ol}}}Dl}``{Ob{{Cf{OnEj}}}}`{{{h{jLf}}{h{Mh}}{h{Mh}}Mj}{{Ll{{Cb{Ml}}}}}}{{{h{Lf}}Mj}N`}{{{h{Lb}}}N`}{{{h{Ld}}}A@`}{hc{}}0{{}{{Gf{c}}}{}}00000000{c{{Gf{e}}}{}{}}00000000111111111{hKf}00000000{{{h{Mh}}{h{Mh}}}Lj}{{{h{jLb}}{h{jLd}}{h{Mh}}{h{Mh}}}Ll}{{{h{Ld}}{h{Aj}}{h{Aj}}}Dl}{ce{}{}}00000000{{ce}c{}{}}00000000{{}c{}}00000000{{N`{Hb{Hl}}}N`}```````````````````{h{{h{Bj}}}}{{{h{jOf}}{h{Mh}}Df}Dl}`{{{h{jOf}}c}Dl{{Mn{Aj}}}}`{h{{h{c}}}{}}0000000000{{{h{j}}}{{h{jc}}}{}}0000000000{{{h{jOf}}}Of}{{{h{jOf}}{h{M`}}}{{Hb{Of}}}}{{{h{jOf}}ceN`}Dl{{Mn{Aj}}}{{Mn{Aj}}}}{{{h{jOf}}cN`}Dl{{Mn{Aj}}}}`{{{h{j{Bn{N`}}}}{h{{l{A@b}}}}}{{B`{{Hb{Bl}}}}}}{{{h{jOf}}{h{M`}}}Dl}{{{h{A@b}}}A@b}{{h{h{jc}}}Dl{}}{hDl}{{ei}g{}{{Dn{}{{n{c}}}}}{}{{E`{{h{{l{c}}}}}{{Bd{g}}}}}}0000000000{{{h{A@d}}H`}Df}{{{h{A@d}}c}Df{{A`{}{{n{H`}}}}}}{{{h{jOf}}{h{Af}}}H`}{{{h{jOf}}{h{Af}}}Aj}{d{{h{c}}}{}}0000000000{{{h{A@b}}}{{h{c}}}{}}{d{{h{jc}}}{}}0000000000{{{h{A@b}}}A@f}{dDl}0000000000{{{h{A@d}}{h{A@d}}}Df}{{h{h{Bj}}}Df}{{h{h{c}}}Df{}}0000{{{h{Fb}}}{{Fh{c{Ff{Fd}{{Bd{Df}}}}}}}{}}0000000000{{{h{On}}{h{Nb}}{h{jFj}}}Fl}{{{h{On}}{h{jFj}}}Fl}{{{h{Of}}{h{Nb}}{h{jFj}}}Fl}{{{h{Of}}{h{jFj}}}Fl}{{{h{A@d}}{h{jFj}}}Fl}{{{h{A@d}}{h{Nb}}{h{jFj}}}Fl}{{{h{A@b}}{h{Nb}}{h{jFj}}}Fl}{cc{}}{{{Gf{c}}}c{}}10011001011001101001{{c{h{Gh}}Gj}e{}{}}0000000000{{{h{A@d}}{h{c}}}DfA@h}{{{h{jA@j}}Aj}Dl}{{{h{jA@j}}{h{A@l}}}Mh}{{{h{jOf}}A@n}{{AA`{A@j}}}}{{{h{A@d}}H`}{{h{c}}}{}}{{}d}0000000000{{}c{}}0000000000{{On{h{j{Bn{N`}}}}}{{B`{Bl}}}}111111111111{{{h{AAb}}}Df}00{{{h{A@d}}}{{`{{Dn{}{{n{{Cf{G`Af}}}}}}}}}}``{{IjIl}{{B`{On}}}}{A@bAAd}{{{h{jAAd}}}{{Hb{c}}}{}}{{{h{A@b}}}d}``````{{{h{jA@b}}AAf}A@b}{{{h{jOf}}Lj}Dl}`{{{h{jOn}}}Of}{{{h{jOf}}{h{Ol}}}Dl}{{{h{jAAb}}{h{Ol}}}Dl}`{{{h{Of}}}A@d}{{{h{M`}}}{{Hb{A@d}}}}{{{h{jOn}}}Dl}{{{h{jAAb}}}Dl}{{{h{Of}}}M`}{{{h{AAb}}{h{j{Bn{N`}}}}}{{B`{{Hb{Bl}}}}}}{hc{}}{{}{{Gf{c}}}{}}0000000000`{c{{Gf{e}}}{}{}}000000000011111111111{hKf}0000000000{{{h{jOf}}{h{Mh}}}Mh}{ce{}{}}0000000000{{ce}c{}{}}0000000000{{{h{A@f}}}{{Hb{A@b}}}}{{}c{}}0000000000{DfA@n}`{{{h{A@b}}}{{Cf{{Cb{{Cf{H`Af}}}}{Cb{A@b}}}}}}{{{h{{l{A@b}}}}{h{Nb}}{h{jFj}}}Fl}{{{h{A@b}}}{{Cf{{Cb{Aj}}{Cb{A@b}}}}}}{{{h{jFj}}}AAh}","D":"AIl","p":[[5,"TagIdx",3],[1,"usize"],[5,"Arena",1493],[1,"reference"],[0,"mut"],[1,"slice"],[17,"Item"],[10,"IntoIterator",1494],[5,"Arena",1495],[5,"ExprEncodingCtxt",3],[6,"Sort",1496],[6,"BinRel",675,1497],[5,"Expr",1498],[5,"SortEncodingCtxt",3],[8,"Expr",675],[8,"QueryResult",1499],[1,"u32"],[17,"Output"],[6,"FieldProj",1498],[10,"Fn",1500],[10,"Any",1501],[8,"Constraint",675],[5,"FixpointCtxt",3],[8,"Bind",675],[5,"Vec",1502],[8,"Pred",675],[1,"tuple"],[10,"Hash",1503],[10,"Eq",1504],[10,"Copy",1505],[6,"BinOp",1498],[6,"BvSize",1496],[8,"Sort",675],[5,"QueryCache",1506],[1,"bool"],[5,"KVarDecl",3],[6,"KVarEncoding",3],[1,"unit"],[10,"Iterator",1507],[10,"FnOnce",1500],[6,"Constant",1498],[8,"Constant",675],[5,"Span",1508],[5,"KVarEncodingCtxt",3],[5,"KVarGen",3],[5,"KVid",1498],[5,"KVid",409],[6,"Key",3],[1,"str"],[5,"DataRequest",1509],[1,"fn"],[5,"RequestFilterDataProvider",1510],[5,"Formatter",1511],[8,"Result",1511],[8,"BoundVariableKinds",1512],[6,"Var",1498],[5,"LocalVarEnv",3],[5,"LocalVar",409],[6,"Result",1513],[5,"CycleError",1514],[5,"ErrorGuaranteed",1515],[1,"u16"],[5,"PolyFuncSort",1496],[5,"Name",1498],[6,"Option",1516],[5,"DebruijnIndex",1517],[5,"BoundVar",1517],[10,"Hasher",1503],[10,"Debug",1511],[5,"ESpan",1498],[6,"Var",409],[8,"DataDecl",675],[5,"ConstInfo",3],[8,"ConstDecl",675],[8,"KVarDecl",675],[5,"KVar",1498],[5,"GlobalEnv",1518],[5,"LocalDefId",1519],[5,"FixpointKVar",3],[5,"Qualifier",1496],[8,"Qualifier",675],[5,"AliasReft",1498],[5,"FuncSort",1496],[5,"GlobalVar",409],[5,"Lambda",1498],[5,"DefId",1519],[5,"Symbol",1520],[8,"Task",675],[5,"String",1521],[6,"FixpointResult",1522],[5,"TypeId",1501],[6,"UnOp",1498],[6,"DataSort",409],[5,"Error",1511],[5,"SymStr",409],[6,"BinOp",675,1497],[5,"Sub",862],[5,"InferCtxt",862],[5,"InferCtxtAt",862],[6,"BaseTy",1496],[6,"TypeTrace",862],[8,"InferResult",862],[5,"InferCtxt",1523],[5,"Snapshot",1173],[8,"PolyVariant",1496],[5,"EarlyBinder",1512],[6,"GenericArg",1496],[5,"Ty",1496],[6,"ConstrReason",862],[5,"Clause",1496],[10,"Into",1524],[5,"Tag",862],[5,"PrettyCx",1525],[6,"InferErr",862],[6,"InferMode",1526],[6,"HoleKind",1498],[6,"QueryErr",1499],[5,"UnsolvedEvar",1527],[6,"Variance",1517],[5,"AliasTy",1496],[5,"InferCtxtRoot",862],[8,"List",1528],[5,"RefineCtxt",1173],[5,"InferCtxtInner",862],[5,"RefCell",1529],[5,"EVarSol",1527],[5,"RefineTree",1173],[5,"TyCtxt",1530],[5,"NodePtr",1173],[5,"Scope",1173],[5,"WeakNodePtr",1173],[10,"TypeFoldable",1531],[5,"Unpacker",1173],[8,"TyCtor",1496],[6,"AssumeInvariants",1173],[5,"Hoister",1532],[5,"Node",1173],[5,"ParentsIter",1173],[6,"NodeKind",1173],[5,"PadAdapter",1533],[15,"TupleCtor",672],[15,"TupleProj",672],[8,"SortCtor",675],[5,"FixpointTypes",675],[8,"DataCtor",675],[8,"DataField",675],[15,"Yes",1488]],"r":[[682,1497],[683,1497]],"b":[[172,"impl-Display-for-TagIdx"],[173,"impl-Debug-for-TagIdx"],[189,"impl-From%3Cu32%3E-for-TagIdx"],[190,"impl-From%3Cusize%3E-for-TagIdx"],[233,"impl-Idx-for-TagIdx"],[234,"impl-TagIdx"],[541,"impl-Identifier-for-KVid"],[542,"impl-Debug-for-KVid"],[552,"impl-From%3Cusize%3E-for-KVid"],[553,"impl-From%3Cu32%3E-for-KVid"],[557,"impl-From%3Cu32%3E-for-LocalVar"],[558,"impl-From%3Cusize%3E-for-LocalVar"],[561,"impl-From%3Cu32%3E-for-GlobalVar"],[562,"impl-From%3Cusize%3E-for-GlobalVar"],[564,"impl-From%3CLocalVar%3E-for-Var"],[565,"impl-From%3CGlobalVar%3E-for-Var"],[595,"impl-KVid"],[596,"impl-Idx-for-KVid"],[597,"impl-LocalVar"],[598,"impl-Idx-for-LocalVar"],[599,"impl-Idx-for-GlobalVar"],[600,"impl-GlobalVar"],[799,"impl-Display-for-BinRel"],[800,"impl-Debug-for-BinRel"],[801,"impl-Display-for-BinOp"],[802,"impl-Debug-for-BinOp"],[1001,"impl-Pretty-for-Tag"],[1002,"impl-Debug-for-Tag"],[1025,"impl-From%3CQueryErr%3E-for-InferErr"],[1027,"impl-From%3CUnsolvedEvar%3E-for-InferErr"],[1297,"impl-Pretty-for-RefineTree"],[1298,"impl-Debug-for-RefineTree"],[1299,"impl-Pretty-for-RefineCtxt%3C\'_%3E"],[1300,"impl-Debug-for-RefineCtxt%3C\'_%3E"],[1301,"impl-Debug-for-Scope"],[1302,"impl-Pretty-for-Scope"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAcFVQAAAAAAAgACAAYABgAPAAIAFwABABoACAAkAAEAKAAAACsAAAAtACIAXAAEAGIAKACMACIAsAABALMAAAC1AAEAuAAAALsAAQC+AAIAwgAAAMUAAQDIAAAAygAAAMwADADdAAoA6QABAOwADAAFARIAGgEBAB0BCwAqAQEALgE1AGUBOACfAQIAqAEHALMBFQDPARoA8AE3ACkCAwAuAgEAMQIFADgCAAA6AgAAPAIFAE4CBQBVAgAAVwIBAFoCBQBmApUA/wIkACUDAAAnAwAAKQMIADUDLwBmAwgAcAMEAHYDAAB4Ay0ArwNBAPIDAAD1AwEA+QMBAP0DAAD/AwEAAgQAAAQEIAAuBA4APgQOAE4EUAClBCgA2QQBAN0EOwAaBQAAHAUBACAFAQAjBQAAJgUBACoFAAAsBQEALwUKADsFDgBVBQwAZAUCAGgFEQB7BVoA"}],\ ["flux_macros",{"t":"YYYYCQCQCCCHCCCHCFFFNNNNNNNONNNHNNNNNNNOOOONNNNNNNNNPGFPNNNNNNNNNNNONNNOONNNNNNNNNONNOONNNNNNNNGPPHNNNNNNHHHQQNNNNHHHHHFFFOOONNNNNNNNNOOONONNNNNNNNNNOOOONNNNNNONOOONNNNNNNNNNOGGSFGIKPPPPPPPPPPPPPPPKPPIGFPGPPPPPPNONNNNNNNNNNNNNNHNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNHOHOHHHHHMHONNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNHHHMMNNOOOOOOHHFPPGPPPPGFFFFHONNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNHCONOHHONONNNNNNNHNOHONOONNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNFNONNNNN","n":["Diagnostic","Subdiagnostic","TypeFoldable","TypeVisitable","diagnostics","fluent_messages","fold","primop_rules","primops","diagnostic","diagnostic_builder","diagnostic_derive","error","fluent","subdiagnostic","subdiagnostic_derive","utils","DiagnosticDerive","LintDiagnosticDerive","Mismatch","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","crate_name","from","from","from","generate_test","into","into","into","into_tokens","into_tokens","new","new","slug_name","slug_prefix","structure","structure","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","Diagnostic","DiagnosticDeriveKind","DiagnosticDeriveVariantBuilder","LintDiagnostic","add_spanned_subdiagnostic","add_subdiagnostic","as_any","body","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","code","each_variant","eq","equals","field_map","formatting_init","from","from","generate_field_attrs_code","generate_field_code","generate_inner_field_code","generate_structure_code_for_attr","get_field_binding","into","into","kind","parse_subdiag_attribute","preamble","slug","span","span_and_applicability_of_ty","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","DiagnosticDeriveError","ErrorHandled","SynError","_throw_err","borrow","borrow_mut","fmt","from","from","into","invalid_attr","path_to_string","span_err","throw_invalid_attr","throw_span_err","to_compile_error","try_from","try_into","type_id","failed","finish","fluent_messages","invocation_relative_path_to_absolute","variable_references","KindsStatistics","SubdiagnosticDerive","SubdiagnosticDeriveVariantBuilder","all_applicabilities_static","all_multipart_suggestions","applicability","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","diag","f","fields","fmt","formatting_init","from","from","from","from_iter","generate_field_arg","generate_field_attr_code","generate_field_code_inner","generate_field_code_inner_list","generate_field_code_inner_path","get_field_binding","has_multipart_suggestion","has_normal_suggestion","has_subdiagnostic","has_suggestion_parts","identify_kind","into","into","into","into_tokens","into_tokens","is_enum","new","parent","span","span_field","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","variant","AllowMultipleAlternatives","Applicability","CODE_IDENT_COUNT","FieldInfo","FieldInnerTy","FieldMap","HasFieldMap","HasPlaceholders","Help","HelpOnce","Hidden","Label","MachineApplicable","MaybeIncorrect","MultipartSuggestion","No","None","Normal","Note","NoteOnce","Option","Plain","SetOnce","Short","Some","SpannedOption","SubdiagnosticKind","SubdiagnosticVariant","Suggestion","SuggestionKind","ToolOnly","Unspecified","Vec","Verbose","Warn","Yes","as_any","binding","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_field_mapping","build_format","build_suggestion_code","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","eq","equals","fmt","fmt","fmt","from","from","from","from","from","from","from","from_attr","from_str","from_str","from_suffix","from_type","get_field_binding","inner_type","into","into","into","into","into","into","into","is_doc_comment","kind","new_code_ident","no_span","parse_suggestion_values","report_error_if_not_applied_to_applicability","report_error_if_not_applied_to_span","report_error_if_not_applied_to_ty","report_type_error","set_once","should_generate_arg","slug","span","span","span","span","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_suggestion_style","to_tokens","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","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_is_bool","type_is_unit","type_matches_path","value","value_ref","will_iterate","with","applicability","applicability","code_field","code_init","suggestion_kind","suggestion_kind","type_foldable_derive","type_visitable_derive","Arg","Base","Exists","Guard","If","IfLet","Indexed","Let","Output","Renderer","Requires","Rule","Rules","args","args","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bty","bty_arg_or_prim","check_arg_count","check_primitive_types","declare_idxs_names","declare_metavars","from","from","from","from","from","from","from","guard","guards","guards","into","into","into","into","into","into","into","is_primitive_type","kw","lbl","metavar_matching","metavars","mk_bty_arg","mk_idx_arg","name","new","output","output_type","parse","parse","parse","parse","parse","parse","parse_guards","precondition","pred","primop_rules","reason","render","requires","rule","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrap_result","as_any","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","display","eq","equals","fmt","from","hash","into","parse","peek","requires","span","span","to_owned","to_tokens","try_from","try_into","type_id"],"q":[[0,"flux_macros"],[9,"flux_macros::diagnostics"],[17,"flux_macros::diagnostics::diagnostic"],[52,"flux_macros::diagnostics::diagnostic_builder"],[95,"flux_macros::diagnostics::error"],[114,"flux_macros::diagnostics::fluent"],[119,"flux_macros::diagnostics::subdiagnostic"],[175,"flux_macros::diagnostics::utils"],[324,"flux_macros::diagnostics::utils::SubdiagnosticKind"],[330,"flux_macros::fold"],[332,"flux_macros::primops"],[431,"flux_macros::primops::kw"],[455,"synstructure"],[456,"proc_macro2"],[457,"syn::path"],[458,"core::option"],[459,"core::result"],[460,"core::any"],[461,"core::ops::function"],[462,"syn::attr"],[463,"alloc::string"],[464,"proc_macro"],[465,"proc_macro::diagnostic"],[466,"core::fmt"],[467,"syn::error"],[468,"core::convert"],[469,"std::path"],[470,"fluent_syntax::ast"],[471,"alloc::vec"],[472,"core::iter::traits::collect"],[473,"std::collections::hash::map"],[474,"syn::meta"],[475,"syn::ty"],[476,"syn::lit"],[477,"syn::data"],[478,"quote::to_tokens"],[479,"core::cmp"],[480,"syn::parse"],[481,"syn::__private"],[482,"core::hash"],[483,"syn::buffer"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,6,8,9,6,6,6,8,9,6,0,8,9,6,8,9,8,9,6,6,8,9,8,9,6,8,9,6,8,9,6,16,0,0,16,12,12,16,12,12,16,12,16,16,16,16,12,16,16,16,12,12,12,16,12,12,12,12,12,12,16,12,12,12,12,12,12,16,12,16,12,16,12,16,0,24,24,0,24,24,24,24,24,24,0,0,0,0,0,24,24,24,24,0,0,0,0,0,0,0,0,41,41,44,46,44,41,46,44,41,41,41,41,46,46,44,41,44,46,44,41,41,44,44,44,44,44,44,41,41,44,44,44,46,44,41,46,44,44,46,44,44,44,41,46,44,41,46,44,41,46,44,41,44,0,0,0,0,0,0,0,53,26,26,54,26,53,53,26,51,81,54,26,26,52,52,0,54,81,0,0,0,26,0,54,53,52,54,26,51,54,23,23,55,52,53,51,54,26,23,55,52,53,51,54,26,0,48,0,52,53,51,54,26,52,53,51,54,26,52,53,51,54,26,54,54,51,54,26,23,55,52,53,51,54,26,55,53,54,54,52,48,52,23,55,52,53,51,54,26,0,55,0,55,0,0,0,0,0,61,0,55,52,53,26,23,52,53,51,54,26,54,54,53,23,55,52,53,51,54,26,23,55,52,53,51,54,26,23,23,55,52,53,51,54,26,0,0,0,61,61,52,52,82,83,82,82,82,83,0,0,0,72,72,0,67,67,72,67,0,0,0,0,0,0,69,66,65,69,71,72,73,67,66,65,69,71,72,73,67,71,65,66,65,65,65,66,65,69,71,72,73,67,65,65,69,66,65,69,71,72,73,67,0,0,65,65,65,0,0,71,65,69,65,66,69,71,72,73,67,0,65,73,0,73,65,69,65,66,65,69,71,72,73,67,66,65,69,71,72,73,67,66,65,69,71,72,73,67,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,0,74,74,74,74,74,74,74],"f":"```````````{bd}```0````{f{{f{c}}}{}}00{{{f{h}}}{{f{hc}}}{}}00{{{f{j}}}{{n{l}}}}`{cc{}}00{{{f{j}}{f{b}}}d}{{}c{}}00{A`d}{Abd}{bA`}{bAb}````{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{fAf}00````{{{f{Ah}}d{f{Aj}}j}d}{{{f{Ah}}{f{Aj}}j}d}{f{{f{Al}}}}{{{f{hAh}}{f{An}}}d}{f{{f{c}}}{}}0{{{f{h}}}{{f{hc}}}{}}0{{{f{B`}}}B`}{{f{f{hc}}}Bb{}}{fBb}`{{B`{f{hb}}c}d{{Bf{Ah{f{An}}}{{Bd{d}}}}}}{{{f{B`}}{f{B`}}}Bh}{{f{f{Al}}}Bh}``{cc{}}0{{{f{hAh}}{f{Bj}}}d}0{{{f{hAh}}{f{Bl}}Bnd}{{Ad{dC`}}}}{{{f{hAh}}{f{Bl}}}{{Ad{dC`}}}}{{{f{Ah}}{f{Cb}}}{{n{{f{d}}}}}}{{}c{}}0`{{{f{Ah}}{f{Bl}}}{{Ad{{n{{Cf{CdjBh}}}}C`}}}}?``{{{f{Ah}}Bn}{{Ad{{Cf{d{n{{Cf{dCh}}}}}}C`}}}}{fc{}}{c{{Ad{e}}}{}{}}0{{}{{Ad{c}}}{}}0{fAf}0```{{Cjc}C`{{Cl{Cj}{{Bd{Cj}}}}}}{f{{f{c}}}{}}{{{f{h}}}{{f{hc}}}{}}{{{f{C`}}{f{hCn}}}D`}{DbC`}{cc{}}<{{{f{Bl}}}Cj}{{{f{j}}}Cb}{{ce}CjDd{{Df{Cb}}}}``{C`d}<;:{{{f{Aj}}}Dh}{{dd}Dh}{DhDh}{{Ch{f{Dj}}}Dl}{{{f{{Dn{{f{Dj}}}}}}}{{E`{{f{Dj}}}}}}``````===<<<{{{f{Eb}}}Eb}{{f{f{hc}}}Bb{}}{fBb}```{{{f{Eb}}{f{hCn}}}D`}`==={cEb{{Ef{}{{Ed{{f{Cd}}}}}}}}{{{f{hEh}}{f{Bj}}}d}{{{f{hEh}}{f{Bj}}Eb}d}{{{f{hEh}}Eb{f{Bl}}BnBh}{{Ad{dC`}}}}{{{f{hEh}}Eb{f{Bl}}Bn{f{Ej}}Bh}{{Ad{dC`}}}}{{{f{hEh}}Eb{f{Bl}}Bnj}{{Ad{dC`}}}}{{{f{Eh}}{f{Cb}}}{{n{{f{d}}}}}}````{{{f{hEh}}}{{Ad{{E`{{Cf{CdjBh}}}}C`}}}}{{}c{}}00{{Elb}d}{{{f{hEh}}}{{Ad{dC`}}}}`{{}El}```{fc{}}{c{{Ad{e}}}{}{}}00{{}{{Ad{c}}}{}}00{fAf}00`````````````````````````````````````{f{{f{Al}}}}`{f{{f{c}}}{}}000000{{{f{h}}}{{f{hc}}}{}}000000{{{f{An}}}{{En{Cbd}}}}{{{f{F`}}{f{Dj}}Fb}d}{{{f{Aj}}Fd{f{c}}Ff}dF`}{{{f{Fh}}}Fh}{{{f{Fj}}}Fj}{{{f{Ff}}}Ff}{{{f{Fl}}}Fl}{{{f{Cd}}}Cd}{{f{f{hc}}}Bb{}}0000{fBb}0000{{{f{Fl}}{f{Fl}}}Bh}{{f{f{Al}}}Bh}{{{f{Ff}}{f{hCn}}}D`}{{{f{Fl}}{f{hCn}}}D`}{{{f{Cd}}{f{hCn}}}D`}{cc{}}000000{{{f{Bl}}{f{c}}}{{Ad{{n{Fn}}C`}}}F`}{{{f{Dj}}}{{Ad{Fjc}}}{}}{{{f{Dj}}}{{Ad{Flc}}}{}}{{{f{Dj}}}{{n{Fl}}}}{{{f{G`}}}Fh}{{{f{F`}}{f{Cb}}}{{n{{f{d}}}}}}{{{f{Fh}}}{{f{G`}}}}{{}c{}}000000{{{f{Bl}}}Bh}`{{}Aj}`{{FdFf}{{Gd{{E`{Gb}}}}}}{{{f{Bl}}{f{Bn}}}{{Ad{BbC`}}}}0{{{f{Bl}}{f{Bn}}{f{{Gf{{f{Dj}}}}}}{f{Dj}}}{{Ad{BbC`}}}}{{{f{Bl}}{f{Dj}}}{{Ad{GhC`}}}}{{{f{hGj}}cCh}Bb{}}{{{f{Gl}}}Bh}`{{{f{Fh}}}Fb}{fFb}{{{f{Cd}}}{{n{Fb}}}}`{fc{}}0000{fCb}{{{f{Fl}}}d}{{{f{Fj}}{f{hd}}}Bb}{c{{Ad{e}}}{}{}}000000{{}{{Ad{c}}}{}}000000`{fAf}000000{{{f{G`}}}Bh}0{{{f{G`}}{f{{Gf{{f{Dj}}}}}}}Bh}{Gj{{n{c}}}{}}{{{f{Gj}}}{{n{{f{c}}}}}{}}{{{f{Fh}}}Bh}{{{f{Fh}}ce}dGnGn}``````{bd}0`````````````{H`d}`{f{{f{c}}}{}}000000{{{f{h}}}{{f{hc}}}{}}000000`{{{f{Hb}}{f{Aj}}}{{Gd{d}}}}{{{f{Hd}}}{{Gd{H`}}}}{{{f{Hb}}}d}00{cc{}}000000{{{f{Hb}}{f{Hf}}}d}2`{{}c{}}000000{{{f{c}}}Bh{{Hh{Dj}}}}``4`{H`Aj}0`{{H`Hj}Hb}`{{{f{Hb}}}{{Gd{d}}}}{Hl{{Gd{Hd}}}}{Hl{{Gd{Hj}}}}{Hl{{Gd{Hn}}}}{Hl{{Gd{I`}}}}{Hl{{Gd{Ib}}}}{Hl{{Gd{Hf}}}}{Hl{{Gd{{E`{Hf}}}}}}>`{DhDh}`8``{c{{Ad{e}}}{}{}}000000{{}{{Ad{c}}}{}}000000{fAf}000000`{f{{f{Al}}}}{f{{f{c}}}{}}{{{f{h}}}{{f{hc}}}{}}{{{f{Id}}}Id}{{f{f{hc}}}Bb{}}{fBb}{{}Id}{{}{{f{Dj}}}}{{{f{Id}}{f{Id}}}If}{{f{f{Al}}}Bh}{{{f{Id}}{f{hIh}}}Ij}{cc{}}{{{f{Id}}{f{hc}}}BbIl}{{}c{}}{Hl{{Gd{Id}}}}{InBh}`{fFb}`{fc{}}{{{f{Id}}{f{hJ`}}}Bb}{c{{Ad{e}}}{}{}}{{}{{Ad{c}}}{}}{fAf}","D":"AAh","p":[[5,"Structure",455],[5,"TokenStream",456],[1,"reference"],[0,"mut"],[5,"Path",457],[5,"Mismatch",17],[6,"Option",458],[5,"DiagnosticDerive",17],[5,"LintDiagnosticDerive",17],[6,"Result",459],[5,"TypeId",460],[5,"DiagnosticDeriveVariantBuilder",52],[5,"Ident",456],[10,"Any",460],[5,"VariantInfo",455],[6,"DiagnosticDeriveKind",52],[1,"unit"],[17,"Output"],[10,"Fn",461],[1,"bool"],[5,"BindingInfo",455],[5,"Attribute",462],[5,"FieldInfo",175],[6,"DiagnosticDeriveError",95],[5,"String",463],[6,"SubdiagnosticKind",175],[1,"tuple"],[5,"Span",464],[5,"Diagnostic",465],[10,"FnOnce",461],[5,"Formatter",466],[8,"Result",466],[5,"Error",467],[10,"MultiSpan",465],[10,"Into",468],[5,"TokenStream",464],[1,"str"],[5,"PathBuf",469],[5,"Message",470],[5,"Vec",471],[5,"KindsStatistics",119],[17,"Item"],[10,"IntoIterator",472],[5,"SubdiagnosticDeriveVariantBuilder",119],[5,"MetaList",462],[5,"SubdiagnosticDerive",119],[5,"HashMap",473],[10,"HasFieldMap",175],[5,"Span",456],[5,"ParseNestedMeta",474],[6,"AllowMultipleAlternatives",175],[6,"FieldInnerTy",175],[6,"Applicability",175],[6,"SuggestionKind",175],[5,"SubdiagnosticVariant",175],[6,"Type",475],[5,"LitStr",476],[8,"Result",467],[1,"slice"],[1,"never"],[10,"SetOnce",175],[5,"Field",477],[10,"ToTokens",478],[1,"usize"],[5,"Renderer",332],[5,"Rules",332],[6,"Guard",332],[10,"PartialEq",479],[5,"Rule",332],[8,"ParseStream",480],[5,"Arg",332],[6,"Output",332],[5,"Requires",332],[5,"requires",431],[8,"bool",481],[8,"Formatter",481],[8,"FmtResult",481],[10,"Hasher",482],[5,"Cursor",483],[8,"TokenStream2",481],[8,"SpannedOption",175],[15,"Suggestion",324],[15,"MultipartSuggestion",324]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADsBNAAAABEAFAAGABwAAAAkABEAOAAAADsAAAA9AAYARgABAEwAAgBQAAAAWAAKAGQAAwBvAAMAdwAAAHsAAQB+AAoAigAAAI8AAACSAAAAlQACAJoAAACeAAEAoQAAAKUACQCwAAAAsgAAALUAAgC6AAAAvAABAL8AAADBAAAAxwAAAMsAAADOAAEA0QAAANMAEADnABMAAwECABABAQATAQEAGQEAABsBIgBBAQEARQEBAEkBAwBOAR0AbgEAAHcBAgCBAQIAhgE0ALwBAAC+AQkA"}],\ ["flux_metadata",{"t":"FFJKRSSSSSFNONONONONNNNNNNNNMNNCNNNNONNNNNNNNNNNHHCCOOHNNNHNONNNNNNNNNNOQNNNNNNNNNNONOONMNNONONOMNNNNNNNNNNNNNONNNNNNNONNNFCNNNNNNHNNNNNNNNNNCNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNFNNNNNNONNNNNNNNNONNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNQNNNNONNNOONNOHOONNNNNONNNFNNNONNNNNNNNNNNNNNNNNNN","n":["CStore","CrateMetadata","DEFAULT_LOCALE_RESOURCE","Key","KeyIndex","METADATA_HEADER","METADATA_VERSION","SYMBOL_OFFSET","SYMBOL_PREINTERNED","SYMBOL_STR","Tables","adt_def","adt_def","adt_sort_def","adt_sort_def","assoc_refinements_def","assoc_refinements_def","assoc_refinements_of","assoc_refinements_of","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","crate_num","decode","decode","decoder","default","default","default","default_assoc_refinements_def","default_assoc_refinements_def","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode","encode","encode_def_ids","encode_metadata","encoder","errors","extern_tables","extern_tables","filename_for_metadata","filterable","filterable","filterable","flux_metadata_extern_location","fn_sig","fn_sig","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","generics_of","generics_of","get","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","item_bounds","item_bounds","load","local_tables","local_tables","merge_extern_tables","name","new","predicates_of","predicates_of","refinement_generics_of","refinement_generics_of","sort_of_assoc_reft","sort_of_assoc_reft","to_index","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_of","type_of","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","variants","variants","vzip","vzip","vzip","DecodeContext","__ty_decoder_impl","borrow","borrow_mut","cached_ty_for_shorthand","collect_and_apply","decode_alloc_id","decode_attr_id","decode_crate_metadata","decode_crate_num","decode_def_id","decode_def_index","decode_expn_id","decode_span","decode_symbol","decode_syntax_context","deref","deref_mut","drop","errors","filterable","from","from","from_cycle_error","init","interner","into","into_query_param","opaque","peek_byte","position","read_i128","read_i16","read_i32","read_i64","read_isize","read_raw_bytes","read_u128","read_u16","read_u32","read_u64","read_u8","read_usize","tcx","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","with_position","DecodeFileError","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","err","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","new","path","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","EncodeContext","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_bool","emit_char","emit_i128","emit_i16","emit_i32","emit_i64","emit_i8","emit_isize","emit_raw_bytes","emit_str","emit_u128","emit_u16","emit_u32","emit_u64","emit_u8","emit_usize","encode_alloc_id","encode_crate_num","encode_def_id","encode_def_index","encode_expn_id","encode_metadata","encode_span","encode_symbol","encode_syntax_context","encoder_methods","filterable","from","from","from_cycle_error","hygiene_ctxt","init","into","into_query_param","is_proc_macro","opaque","position","predicate_shorthands","predicate_shorthands","stable_source_file_id_for_export","symbol_table","tcx","to_result","try_from","try_into","type_id","type_shorthands","type_shorthands","upcast","upcast_from","vzip","DuplicateSpec","borrow","borrow_mut","collect_and_apply","def_name","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","new","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip"],"q":[[0,"flux_metadata"],[122,"flux_metadata::decoder"],[174,"flux_metadata::decoder::errors"],[199,"flux_metadata::encoder"],[257,"flux_metadata::errors"],[281,"rustc_span::def_id"],[282,"flux_middle::rty"],[283,"flux_middle::cstore"],[284,"rustc_span::symbol"],[285,"flux_middle::rty::expr"],[286,"flux_middle::rty::binder"],[287,"core::iter::traits::iterator"],[288,"core::ops::function"],[289,"rustc_type_ir::codec"],[290,"core::cmp"],[291,"core::hash"],[292,"core::option"],[293,"flux_middle::global_env"],[294,"core::iter::traits::collect"],[295,"core::marker"],[296,"std::path"],[297,"rustc_middle::ty::context"],[298,"rustc_session::config"],[299,"icu_provider::request"],[300,"icu_provider_adapters::filter"],[301,"core::result"],[302,"rustc_query_system::query::plumbing"],[303,"rustc_span"],[304,"flux_errors"],[305,"alloc::string"],[306,"core::any"],[307,"rustc_middle::ty"],[308,"rustc_middle::mir::interpret"],[309,"rustc_span::hygiene"],[310,"rustc_span::span_encoding"],[311,"rustc_errors"],[312,"rustc_errors::diagnostic"],[313,"std::io::error"],[314,"rustc_middle::ty::predicate"],[315,"rustc_hash"]],"i":[0,0,0,0,19,0,0,0,0,0,0,1,23,1,23,1,23,1,23,1,21,23,1,21,23,1,21,23,19,21,23,0,1,21,23,1,23,1,21,23,1,21,23,1,21,23,21,23,0,0,0,0,1,21,0,1,21,23,0,1,23,1,1,21,21,23,23,1,21,23,1,23,0,1,21,23,1,21,23,1,21,23,1,23,1,1,21,1,19,21,1,23,1,23,1,23,19,1,21,23,1,21,23,1,21,23,1,21,23,1,23,1,21,23,1,21,23,1,23,1,21,23,0,0,58,58,58,58,58,58,0,58,58,58,58,58,58,58,58,58,58,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,0,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,0,82,82,82,0,82,82,82,82,82,82,82,82,82,82,82,82,82,0,82,82,82,82,82,82,82,82,82,82,82,0,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89],"f":"```````````{{{d{b}}f}{{j{h}}}}`{{{d{b}}f}{{j{l}}}}`{{{d{b}}{A`{fn}}}{{j{{Ad{Ab}}}}}}`{{{d{b}}f}{{j{Af}}}}`{d{{d{c}}}{}}00{{{d{Ah}}}{{d{Ahc}}}{}}00{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{d{{An{c}}}}}{{B`{g}}}}}}00{{{Bf{}{{Bd{c}}}}}Bh{}}{{{d{Ahc}}}BjBl}{{{d{Ahc}}}{{Bn{e}}}Bl{C`Cb}}`{{}b}{{}Bj}{{}{{Bn{c}}}{C`Cb}}{{{d{b}}{A`{fn}}}{{j{{Cd{{Ad{Ab}}}}}}}}`{Cf{{d{c}}}{}}00{Cf{{d{Ahc}}}{}}00{CfCh}00{{{d{Bj}}{d{Ahc}}}ChCj}{{{d{{Bn{c}}}}{d{Ahe}}}Ch{C`Cb}Cj}{{Clc{d{Ah{Bn{e}}}}g}Ch{{Cn{}{{Aj{f}}}}}{C`CbD`}{{Db{f}{{B`{e}}}}}}{{Cl{d{Dd}}}Ch}````{DfDh}{{{d{Dj}}}{{Eb{c{E`{Dl}{{B`{Dn}}}}}}}{}}00{{DfBh}{{Cd{Ed}}}}{{{d{b}}f}{{j{{Ad{Ef}}}}}}`{cc{}}{{{Eh{c}}}c{}}0110{{c{d{Ej}}El}e{}{}}00{{{d{b}}f}{{j{En}}}}``{{}Cf}00{{}c{}}00000{{{d{b}}f}{{j{{Ad{F`}}}}}}`{{Df{d{Fb}}}b}``{{{d{Ahb}}Df{d{Fb}}{Bn{f}}}Ch}{{{Bf{}{{Bd{c}}}}Df}Fd{}}{ClBj}{{{d{b}}f}{{j{{Ad{Ff}}}}}}`{{{d{b}}f}{{j{Fh}}}}`{{{d{b}}{A`{fn}}}{{j{{Cd{{Ad{Fj}}}}}}}}`{{{Bf{}{{Bd{c}}}}}c{}}{{}{{Eh{c}}}{}}00{c{{Eh{e}}}{}{}}00111{dFl}00{{{d{b}}f}{{j{{Ad{Fn}}}}}}`{ce{}{}}00{{ce}c{}{}}00{{{d{b}}f}{{j{{Gb{{Ad{G`}}}}}}}}`{{}c{}}00``{d{{d{c}}}{}}{{{d{Ah}}}{{d{Ahc}}}{}}{{{d{AhGd}}Cfc}Gf{{Bb{{d{AhGd}}}{{B`{Gf}}}}}}{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{d{{An{c}}}}}{{B`{g}}}}}}{{{d{AhGd}}}Gh}{{{d{AhGd}}}Gj}{{Df{d{Fb}}{d{Dd}}}{{Cd{Bj}}}}{{{d{AhGd}}}Bh}{{{d{AhGd}}}f}{{{d{AhGd}}}Gl}{{{d{AhGd}}}Gn}{{{d{AhGd}}}H`}{{{d{AhGd}}}n}{{{d{AhGd}}}Hb}{Cf{{d{c}}}{}}{Cf{{d{Ahc}}}{}}{CfCh}`{{{d{Dj}}}{{Eb{c{E`{Dl}{{B`{Dn}}}}}}}{}}{cc{}}{{{Eh{c}}}c{}}{{c{d{Ej}}El}e{}{}}{{}Cf}{{{d{Gd}}}c{}}{{}c{}}0`{{{d{Gd}}}Hd}{{{d{Gd}}}Cf}{{{d{AhGd}}}Hf}{{{d{AhGd}}}Hh}{{{d{AhGd}}}Hj}{{{d{AhGd}}}Hl}{{{d{AhGd}}}Hn}{{{d{AhGd}}Cf}{{d{{An{Hd}}}}}}{{{d{AhGd}}}I`}{{{d{AhGd}}}Ib}{{{d{AhGd}}}Id}{{{d{AhGd}}}If}{{{d{AhGd}}}Hd}{{{d{AhGd}}}Cf}`{{}{{Eh{c}}}{}}{c{{Eh{e}}}{}{}}1{dFl}{ce{}{}}{{ce}c{}{}}{{}c{}}{{{d{AhGd}}Cfe}c{}{{Bb{{d{AhGd}}}{{B`{c}}}}}}`{d{{d{c}}}{}}{{{d{Ah}}}{{d{Ahc}}}{}}{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{d{{An{c}}}}}{{B`{g}}}}}}{Cf{{d{c}}}{}}{Cf{{d{Ahc}}}{}}{CfCh}`{{{d{Dj}}}{{Eb{c{E`{Dl}{{B`{Dn}}}}}}}{}}{cc{}}{{{Eh{c}}}c{}}{{c{d{Ej}}El}e{}{}}{{}Cf}<{{IhIjIl}{{In{c}}}J`}={{{d{Dd}}Jb}Ih}`{{}{{Eh{c}}}{}}{c{{Eh{e}}}{}{}}1{dFl}{ce{}{}}{{ce}c{}{}}{{}c{}}`{d{{d{c}}}{}}{{{d{Ah}}}{{d{Ahc}}}{}}{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{d{{An{c}}}}}{{B`{g}}}}}}{Cf{{d{c}}}{}}{Cf{{d{Ahc}}}{}}{CfCh}{{{d{AhJd}}Dn}Ch}{{{d{AhJd}}Jf}Ch}{{{d{AhJd}}Hf}Ch}{{{d{AhJd}}Hh}Ch}{{{d{AhJd}}Hj}Ch}{{{d{AhJd}}Hl}Ch}{{{d{AhJd}}Jh}Ch}{{{d{AhJd}}Hn}Ch}{{{d{AhJd}}{d{{An{Hd}}}}}Ch}{{{d{AhJd}}{d{Dj}}}Ch}{{{d{AhJd}}I`}Ch}{{{d{AhJd}}Ib}Ch}{{{d{AhJd}}Id}Ch}{{{d{AhJd}}If}Ch}{{{d{AhJd}}Hd}Ch}{{{d{AhJd}}Cf}Ch}{{{d{AhJd}}{d{Gh}}}Ch}{{{d{AhJd}}Bh}Ch}{{{d{AhJd}}f}Ch}{{{d{AhJd}}Gl}Ch}{{{d{AhJd}}Gn}Ch}{{Cl{d{Dd}}}Ch}{{{d{AhJd}}H`}Ch}{{{d{AhJd}}n}Ch}{{{d{AhJd}}Hb}Ch}`{{{d{Dj}}}{{Eb{c{E`{Dl}{{B`{Dn}}}}}}}{}}{{{Eh{c}}}c{}}{cc{}}{{c{d{Ej}}El}e{}{}}`{{}Cf}{{}c{}}0``{{{d{Jd}}}Cf}{{{d{AhJd}}}{{d{Ah{Jl{JjCf}}}}}}`{{Df{d{Jn}}}K`}``{{}{{Eh{c}}}{}}{c{{Eh{e}}}{}{}}1{dFl}{{{d{AhJd}}}{{d{Ah{Jl{GfCf}}}}}}`{ce{}{}}{{ce}c{}{}}9`{d{{d{c}}}{}}{{{d{Ah}}}{{d{Ahc}}}{}}{{ei}g{}{{Al{}{{Aj{c}}}}}{}{{Bb{{d{{An{c}}}}}{{B`{g}}}}}}`{Cf{{d{c}}}{}}{Cf{{d{Ahc}}}{}}{CfCh}{{{d{Dj}}}{{Eb{c{E`{Dl}{{B`{Dn}}}}}}}{}}{{{Eh{c}}}c{}}{cc{}}{{c{d{Ej}}El}e{}{}}{{}Cf}{{}c{}}{{KbIjIl}{{In{c}}}J`}1{{Dfc}KbBf}{{}{{Eh{c}}}{}}{c{{Eh{e}}}{}{}}1{dFl}{ce{}{}}{{ce}c{}{}}7","D":"Bn","p":[[5,"CStore",0],[1,"reference"],[5,"DefId",281],[5,"AdtDef",282],[8,"OptResult",283],[5,"AdtSortDef",282],[5,"Symbol",284],[1,"tuple"],[5,"Lambda",285],[5,"EarlyBinder",286],[5,"AssocRefinements",282],[0,"mut"],[17,"Item"],[10,"Iterator",287],[1,"slice"],[17,"Output"],[10,"FnOnce",288],[17,"KeyIndex"],[10,"Key",0],[5,"CrateNum",281],[5,"CrateMetadata",0],[10,"TyDecoder",289],[5,"Tables",0],[10,"Eq",290],[10,"Hash",291],[6,"Option",292],[1,"usize"],[1,"unit"],[10,"TyEncoder",289],[5,"GlobalEnv",293],[10,"IntoIterator",294],[10,"Copy",295],[10,"Fn",288],[5,"Path",296],[5,"TyCtxt",297],[6,"OutFileName",298],[1,"str"],[5,"DataRequest",299],[1,"bool"],[1,"fn"],[5,"RequestFilterDataProvider",300],[5,"PathBuf",296],[8,"PolyFnSig",282],[6,"Result",301],[5,"CycleError",302],[5,"ErrorGuaranteed",303],[5,"Generics",282],[8,"Clauses",282],[5,"FluxSession",304],[5,"String",305],[5,"GenericPredicates",282],[5,"RefinementGenerics",282],[5,"FuncSort",282],[5,"TypeId",306],[8,"TyCtor",282],[8,"PolyVariants",282],[6,"Opaqueness",282],[5,"DecodeContext",122],[5,"Ty",307],[5,"AllocId",308],[5,"AttrId",303],[5,"DefIndex",281],[5,"ExpnId",309],[5,"Span",310],[5,"SyntaxContext",309],[1,"u8"],[1,"i128"],[1,"i16"],[1,"i32"],[1,"i64"],[1,"isize"],[1,"u128"],[1,"u16"],[1,"u32"],[1,"u64"],[5,"DecodeFileError",174],[5,"DiagCtxtHandle",311],[6,"Level",311],[5,"Diag",312],[10,"EmissionGuarantee",312],[5,"Error",313],[5,"EncodeContext",199],[1,"char"],[1,"i8"],[8,"PredicateKind",314],[8,"FxHashMap",315],[5,"SourceFile",303],[5,"StableSourceFileId",303],[5,"DuplicateSpec",257]],"r":[[49,199]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAIBEgAAAAIABQAUAB0AIAA/AAEAQwAJAFAALwCBAA4AkQADAJYAGwCzAAQAuQACAL0ADQDMAB4A7AACAPAAFAAGAQUADQEBABABCQA="}],\ -["flux_middle",{"t":"JPPPPGPPPGKFGFFJFQQQQQQQQQQQNNNNNNNNNNNMCNNNNNNNNNNNNNNNNNNNNNNNNNNNOCHNNNNNNNNNNNNNNNNNNNNNNNOOOOCNNNNNNNNOONNONNNNNNNNNNNNNNNNNNNNNNCOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOCNCQNCOOCOONNNNNNNNNOOQNNNNNNNNNNNNNNMOONNNNNNNNNNNNNNNNNNNNNONNNNNNNQFPPTGTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNKIPIPMMMMMMMMMMMMMPPPPFPPIPFGPPFPFPGGPPPPPPPPPPFGPPPPPPPGPFPPPPPPFPGGFFPPPGFGGPPPFFFPPFPGGIFGFPPPPPGPFPFFPGPPPPGPPPFPGFPPGPPGPPPPPTTTTPPPPPFGPPPPPGPPPPPPFPPPPPFGFFPPFFFFPPGPGPGFPPPPPPFGFFFGPPPPPPPPPPGFIPFGFGPPPPFGPTPFPPFGFPGPPGPFFPGPPPPPPPPPGPPPFFFFPPTTONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNOONOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONOOONONNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOOOOOOOOOOOOONCOOOOONONOOOOOOOONNNNNNNOOOONOOOOOOOOOOOOOOOOOONOOOOONOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOPFPINNNNNNNNCNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOONNNNNNNNFNNNONNNNNNNNNNNNOONNNNNNNKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNONNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFKPFGTTFKFPFTNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNQNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNMNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNMNNNNNONONNOONOOQNNNNNNNNNNNNNNNNNNNNNNNOQNOONNONNNNQONHOONOQNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNQNQPIPPPPPPFFGFIPNOONOONOONOONNNNNNNNNNNOONNNNNNNNOONNNOOONNNNNNNNNOOHNNNNQNONOONNNNNNOONNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNOONONONONONONONNOOONOONOONOOHNOOOONONNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNOOOOOOOOOPPPPPPFFFFFPGPPGFFPPPPPFFPPPGGPFPPPPPQPFGFGFGIPPPPGPPFPFGIPGFGFPPPPPGFGPPPPFFPPPPFEPEFPFFGPPGFFPFPGPPPPSGPPPGPPPPFPFPFPPPFPGIKFGFFPPPGPPPPPSJPPPPPPPPPEPPPPPQGFPIFPFFFPPPIGPPPFFPTTTTTTTTPPPPPGFPPPPPPPGFPPGPFPPPPPFFFFPIIIFIIIIPPPPPPFPGFPPPPPPPFPPPPQPIFFGPFSFPPGPPGGGGPFFFFPPPPPFIPPFFPPPPPFPIGFPPPIPPPPPJPQGGPPPPPPGPPPFFFTTTTONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONCNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCNNNNNNNNNNNCONONONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOOOOOOONOONNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNONCOONNONNOOOONOOOONNNNOOOOOOOOOOOCNOOOOOOOOOOOONOOCNNNONNNNNNNNNNNNNNNNOCNOONOOOOONONONHNNNOONOOONNNNNNNNNNNNNNNNNNNCNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPFGGIFIPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNFGPPFKFNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNOOOOONNNNNNNNNNNNNOOCNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNNFFFFFGFTTJPPFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNPPPPPGPFPPGPPPFPPGPPFPPFPFPGGPPPPPPPGPPPPFPFFPGPPPTTTTPPFPPPTPFPPFPPPTPPGPGPPTTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONONNNNOONNNNNNNNNNNNNNONNNNNNNNCOONNONNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOPPPPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFRRKQKKKKKKNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNMNNNNNNNNNNNNNNNNNMNNMONNNNNNNNMNNFFFNNNNNNNNNNNNNOONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPFPPONNHNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNPFPGNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNONNNNHNNHNNNNNHNHNNNNNNNNNNNNNNNNNNNNNFKFFRFFKFFFFKNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNMNNMNNOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNNNNNOMNNOMNMNHMMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["DEFAULT_LOCALE_RESOURCE","Dup","Extern","Extern","ExternSpec","ExternSpecMappingErr","IsLocal","Local","Local","MaybeExternId","PlaceExt","PlaceTy","ResolvedDefId","ResolverOutput","Specs","THEORY_FUNCS","TheoryFunc","_Bool","_Int","_Ref","_Uint","_define_scoped","_format_args_cx","_impl_debug_with_default_cx","_join","_parens","_w","_with_cx","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_extern","as_local","as_maybe_extern","behind_raw_ptr","big_int","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","crate_config","cstore","def_id_to_string","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","dummy_extern","enums","expr_path_res_map","extern_id_to_local_id","fhir","field_ty","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fixpoint_name","flux_items_by_parent","fmt","fmt","fn_sigs","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ty","global_env","ignores","impl_trait_res_map","implicit_params","impls","init","init","init","init","init","init","init","insert_dummy","insert_extern_spec_id_mapping","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_extern","is_local","local_id","local_id_to_extern_id","map","name","param_res_map","path_res_map","pretty","projection_ty","queries","query_bug","resolved_id","rty","should_fail","sort","sort_of","sort_path_res_map","structs","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","traits","trusted","try_alloc_slice","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","ty","ty","ty_aliases","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variant_index","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_list","BigInt","Negative","NonNegative","ONE","Sign","ZERO","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","cmp","cmp","collect_and_apply","collect_and_apply","compare","compare","compare","compare","decode","decode","deref","deref","deref_mut","deref_mut","drop","drop","encode","encode","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","hash","hash","init","init","int_max","int_min","into","into","into_query_param","into_query_param","partial_cmp","partial_cmp","sign","to_owned","to_owned","to_result","to_result","to_string","try_from","try_from","try_into","try_into","type_id","type_id","uint_max","upcast","upcast","upcast_from","upcast_from","val","vzip","vzip","CrateStore","CrateStoreDyn","None","OptResult","Some","adt_def","adt_sort_def","assoc_refinements_def","assoc_refinements_of","default_assoc_refinements_def","fn_sig","generics_of","item_bounds","predicates_of","refinement_generics_of","sort_of_assoc_reft","type_of","variants","Abs","Add","Adt","Alias","AliasReft","And","App","Arena","Array","AssocItemConstraint","AssocItemConstraintKind","At","BareFn","BareFnTy","Base","BaseTy","BaseTy","BaseTyKind","BinOp","BinaryOp","BitVec","Bool","Bool","Bool","Char","Colon","Const","Const","Const","ConstArg","ConstArgKind","ConstGeneric","Constr","Def","Def","Div","Dot","EVar","Ensures","Enum","EnumDef","Eq","Equality","Err","Error","Exists","Explicit","Expr","Expr","ExprKind","ExprRes","FhirId","FieldDef","Float","Flux","Flux","FluxItem","FluxItems","FluxLocalDefId","FluxOwnerId","Fn","Fn","Fn","FnDecl","FnOutput","FnSig","Func","Func","FuncSort","Ge","GenericArg","GenericBound","GenericBounds","GenericParam","GenericParamKind","Generics","GlobalFunc","Gt","Hole","IfThenElse","Iff","Ignored","Imp","Impl","Impl","ImplAssocReft","ImplItem","ImplItem","ImplItemKind","Indexed","Infer","Infer","Infer","InferMode","Int","Int","Int","Item","Item","ItemKind","ItemLocalId","KVar","Le","Lifetime","Lifetime","Lifetime","Lit","Lit","Literal","Loc","Loc","Lt","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Map","Maybe","Mod","Mul","Mut","MutTy","Mutability","Ne","Neg","Never","No","No","Node","None","Not","Not","NumConst","Opaque","OpaqueDef","OpaqueTy","OpaqueTy","Or","Outlives","Param","Param","ParamId","ParamKind","PartialRes","Path","Path","Path","PathExpr","PathSegment","PolyFuncSort","PolyTraitRef","Pound","Pred","PrimSort","PrimSort","PrimTy","PrimTy","QPath","Qualifier","Qualifier","RawPtr","Real","Real","Record","Ref","RefineArg","RefineArgKind","RefineParam","RefinedBy","Requires","Res","Resolved","Resolved","Rust","Rust","SelfAlias","SelfParam","SelfTyAlias","SelfTyParam","Set","Slice","Sort","SortDecl","SortDecls","SortParam","SortPath","SortRes","SpecFunc","SpecFuncKind","Str","Str","StrgRef","Struct","StructDef","StructKind","Sub","TRUE","Thy","Trait","Trait","Trait","TraitAssocReft","TraitBoundModifier","TraitItem","TraitItem","TraitItemKind","TraitObject","Transparent","Trusted","Tuple","Ty","TyAlias","TyAlias","TyKind","TyParam","Type","Type","Type","Type","Type","TypeRelative","Uif","Uint","UnOp","UnaryOp","User","Var","VariantDef","VariantIdx","VariantRet","WhereBoundPredicate","Yes","Yes","ZERO","ZERO","abi","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args","args","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_path","as_path","as_u32","as_u32","as_usize","as_usize","assoc_refinements","assoc_refinements","base_res","base_res","body","body","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","bound_generic_params","bounded_ty","bounds","bounds","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","constraints","decl","decl","decode","decode","decode","decode","decode","def_id","def_id","def_id","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","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","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","descr","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","ensures","enum_id","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","expect_enum","expect_full_res","expect_impl","expect_opaque_ty","expect_param","expect_struct","expect_trait","expect_type","expect_type_alias","expr","fhir_id","fhir_id","fhir_id","fhir_id","fields","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find_assoc_reft","find_assoc_reft","fingerprint_style","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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_sig","fold_with","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_param_kind","from_u16","from_u16","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","fsort","full_res","generic_params","generics","generics","generics","generics","get_param","global","hash","hash","hash","hash","hash","hash","hash","header","id","ident","ident","idx","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs","inputs_and_output","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diag_arg","into_diag_arg","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","invariants","is_base_generic","is_box","is_box","is_colon_param","is_loc","is_opaque","items","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","last_segment","lift","lifted","lifted","lifted","lifted","local_id","map_param_id","mutbl","name","name","name","name","name","name","name","name","name","new","new","new","new","new","new","output","output","output","output","owner","owner_id","owner_id","owner_id","owner_id","param_names","params","params","params","params","params","params","params","params","params","params","params","path","pred","predicates","prefix_str","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","qself","qualifiers","recover","refine","refined_by","refined_by","refined_by","refinement_params","requires","res","res","res","res","ret","ret","safety","segments","segments","segments","self_kind","sort","sort","sort_params","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","storage","to_bool","to_bool","to_debug_str","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","trait_def_id","trait_ref","trivial","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","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","unresolved_segments","unresolved_segments","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variants","visit","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_refined_by","with_unresolved_segments","term","default","is_host_effect","ty","alias_to","is_trait_impl","trait_","alias_to","name","trait_id","fields","Err","LiftCtxt","Ok","Result","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_err","emit_unsupported","errors","filterable","from","from","from_cycle_error","genv","init","insert_opaque_ty","into","into_query_param","lift_array_len","lift_assoc_item_constraints","lift_bare_fn","lift_const_arg","lift_enum_variant","lift_enum_variant_id","lift_field_def","lift_field_def_id","lift_fn_decl","lift_fn_decl_inner","lift_fn_header","lift_fn_ret_ty","lift_generic_args","lift_generic_bound","lift_generic_param","lift_generics","lift_generics_inner","lift_lifetime","lift_mut_ty","lift_opaque_ty","lift_path","lift_path_segment","lift_poly_trait_ref","lift_qpath","lift_refined_by","lift_ty","lift_type_alias","lift_variant_ret","lift_variant_ret_inner","lift_where_predicate","local_id","local_id_gen","new","next_fhir_id","opaque_tys","owner","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","with_new_owner","UnsupportedHir","borrow","borrow_mut","collect_and_apply","def_kind","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","new","note","span","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","Visitor","visit_alias_reft","visit_assoc_item_constraint","visit_bty","visit_ensures","visit_enum_def","visit_expr","visit_field_def","visit_fn_decl","visit_fn_output","visit_fn_sig","visit_func_sort","visit_generic_arg","visit_generic_bound","visit_generics","visit_impl","visit_impl_assoc_reft","visit_impl_item","visit_item","visit_lifetime","visit_literal","visit_node","visit_opaque_ty","visit_path","visit_path_expr","visit_path_segment","visit_poly_func_sort","visit_poly_trait_ref","visit_qpath","visit_refine_arg","visit_refine_param","visit_requires","visit_sort","visit_sort_path","visit_struct_def","visit_trait_assoc_reft","visit_trait_item","visit_ty","visit_ty_alias","visit_variant","visit_variant_ret","visit_where_predicate","walk_alias_reft","walk_assoc_item_constraint","walk_bty","walk_ensures","walk_enum_def","walk_expr","walk_field_def","walk_fn_decl","walk_fn_output","walk_fn_sig","walk_func_sort","walk_generic_arg","walk_generic_bound","walk_generics","walk_impl","walk_impl_assoc_reft","walk_impl_item","walk_item","walk_node","walk_opaque_ty","walk_path","walk_path_segment","walk_poly_func_sort","walk_poly_trait_ref","walk_qpath","walk_refine_arg","walk_refine_param","walk_requires","walk_sort","walk_sort_path","walk_struct_def","walk_trait_assoc_reft","walk_trait_item","walk_ty","walk_ty_alias","walk_variant","walk_variant_ret","walk_where_predicate","GlobalEnv","GlobalEnvInner","Ident","Map","Symbol","adt_def","adt_sort_def_of","alloc","alloc_slice","alloc_slice_fill_iter","alloc_slice_with_capacity","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","arena","as_any","as_any","assoc_refinement_def","assoc_refinements_of","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_wf","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_specs","compare","compare","crate_config","cstore","cstore","def_id_to_param_index","def_kind","default_assoc_refinement_def","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","desugar","drop","drop","drop","drop","drop","emit","enter","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error_reported","error_reported","expect_item","fhir","fhir_crate","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fn_quals_for","fn_sig","fold_with","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_decl","generics_of","genv","get_flux_item","get_generics","has_type_flags","has_type_flags","has_vars_bound_at_or_above","has_vars_bound_at_or_above","hir","ignored","impl_trait_ref","init","init","init","init","init","inner","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_box","is_dummy","is_fn_once_output","is_suggestable","is_suggestable","item_bounds","iter_extern_def_id","iter_local_def_id","lower_fn_sig","lower_generics_of","lower_late_bound_vars","lower_predicates_of","lower_type_of","make_suggestable","make_suggestable","map","maybe_extern_id","mir","name","new","node","predicates_of","qualifiers","qualifiers","qualifiers_for","queries","recover","recover","refine_default","refine_with_holes","refined_by","refinement_generics_of","resolve_crate","resolve_id","sess","sess","should_fail","sort_of_alias_reft","sort_of_assoc_reft","sort_of_bty","sort_of_generic_arg","sort_of_generic_param","sort_of_path","sort_of_rust_ty","sort_of_self_param","sort_of_self_ty_alias","sort_of_ty","span","spec_func","spec_func_defns","spec_funcs","tcx","tcx","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_string","to_string","traverse_parents","trusted","try_fold_with","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","type_of","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variances_of","variant_sig","variants_of","visit_with","vzip","vzip","vzip","vzip","vzip","All","BoundVarName","Env","FromOpt","Hide","Join","KVarArgs","MAX","MAX_AS_U32","Parens","Pretty","PrettyCx","SelfOnly","WithCx","ZERO","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_u32","as_usize","bindings_chain","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cx","data","default","default","default_cx","define_scoped","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","env","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt_bound_reft","fmt_bound_vars","format_args_cx","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_opt","from_opt","from_u16","from_u32","from_u32_unchecked","from_usize","full_spans","fully_qualified_paths","fully_qualified_paths","hash","hide_binder","hide_binder","hide_refinements","hide_regions","hide_regions","hide_uninit","impl_debug_with_default_cx","index","index","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","join","kvar_args","kvar_args","layers","lookup","merge","name_gen","new","new","new","new","parens","parenthesize","pop_layer","pprint_with_default_cx","preds_chain","private_use_as_methods_instead","push_layer","sep","set_opts","show_is_binder","show_is_binder","simplify_exprs","tags","tcx","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","w","with_bound_vars","with_cx","Bug","Cache","Emitted","Err","Ignored","InvalidAssocReft","InvalidGenericArg","Ok","Providers","Queries","QueryErr","QueryErrAt","QueryResult","Unsupported","adt_def","adt_def","adt_def","adt_sort_def_of","adt_sort_def_of","adt_sort_def_of","assoc_refinement_def","assoc_refinement_def","assoc_refinement_def","assoc_refinements_of","assoc_refinements_of","assoc_refinements_of","at","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bug","check_wf","check_wf","check_wf","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_specs","collect_specs","collect_specs","decode","default","default_assoc_refinement_def","default_assoc_refinement_def","default_assoc_refinement_def","defns","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","desugar","desugar","desugar","dispatch_query","drop","drop","drop","drop","empty_query","encode","err","fhir_crate","fhir_crate","fhir_crate","filterable","filterable","filterable","filterable","fmt","fn_sig","fn_sig","fn_sig","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_decl","func_decls","generics_of","generics_of","generics_of","init","init","init","init","into","into","into","into","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","item_bounds","item_bounds","item_bounds","lower_fn_sig","lower_fn_sig","lower_generics_of","lower_generics_of","lower_late_bound_vars","lower_late_bound_vars","lower_predicates_of","lower_predicates_of","lower_type_of","lower_type_of","mir","mir","new","predicates_of","predicates_of","predicates_of","providers","qualifiers","qualifiers","qualifiers","refinement_generics_of","refinement_generics_of","refinement_generics_of","resolve_crate","resolve_crate","resolve_crate","run_with_cache","sort_of_assoc_reft","sort_of_assoc_reft","sort_of_assoc_reft","span","spec_func_decl","spec_func_defns","spec_func_defns","to_owned","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_of","type_of","type_of","unsupported","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","variants_of","variants_of","variants_of","vzip","vzip","vzip","vzip","container_def_id","def_id","def_id","def_id","def_id","err","location","msg","name","Abs","Add","Adt","Adt","Adt","Adt","AdtDef","AdtDefData","AdtFlags","AdtSortDef","AdtSortDefData","Aggregate","AggregateKind","Alias","Alias","AliasKind","AliasReft","AliasTy","And","Annon","App","App","Array","AssocRefinement","AssocRefinements","AutoTrait","Base","Base","BaseTy","BinOp","BinaryOp","Binder","BitVec","Blocked","Bool","Bool","Bool","Bool","Bound","BoundReft","BoundReftKind","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","BoundVariableKinds","Box","BrAnon","BrEnv","BrNamed","BvSize","BvSize","BvSize","BvSizeVid","Char","Clause","ClauseKind","Clauses","Closure","ClosureKind","ClosureOblig","Coercion","Const","Const","Const","ConstArgHasType","ConstDefId","ConstGeneric","ConstKind","ConstVid","Constant","Constant","Constr","Coroutine","CoroutineOblig","CoroutineObligPredicate","DebruijnIndex","Discr","Div","Downcast","Dynamic","ESpan","EVar","EVar","EVarGen","EarlyBinder","EarlyParam","EarlyParamRegion","EarlyReftParam","Ensures","Eq","Err","ExistentialPredicate","ExistentialProjection","ExistentialTraitRef","Exists","Expr","Expr","ExprKind","F128","F16","F32","F64","FIRST_VARIANT","FieldProj","FieldProj","Fixed","Float","FloatTy","Fn","FnDef","FnMut","FnOnce","FnOutput","FnPtr","FnSig","FnTrait","FnTraitPredicate","ForAll","Free","Func","FuncSort","Ge","GenericArg","GenericArgs","GenericArgsExt","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","GlobalFunc","Gt","Hole","HoleKind","I128","I16","I32","I64","I8","INNERMOST","INT_TYS","IfThenElse","Iff","Imp","Indexed","Infer","Infer","Infer","Infer","Infer","InferMode","Inject","Int","Int","Int","Int","Int","IntTy","Invariant","Isize","ItemLocalMap","KVar","KVar","KVid","Lambda","LateParamRegion","Le","Lifetime","Lifetime","List","Loc","Loc","Local","Local","LocalTableInContext","LocalTableInContextMut","Lt","MAX","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Map","Mod","Mul","Mut","Mut","Mutability","Name","Named","Ne","Neg","Never","Not","Not","NumVar","NumVarValue","NumVid","Opaque","Opaque","Opaqueness","Or","OutlivesPredicate","Param","Param","Param","Param","Param","ParamConst","ParamSort","ParamTy","Path","PathProj","PolyExistentialPredicate","PolyExistentialTraitRef","PolyFnSig","PolyFuncSort","PolyTraitPredicate","PolyTraitRef","PolyVariant","PolyVariants","Pred","Pred","Project","Projection","Projection","Projection","ProjectionPredicate","Ptr","PtrKind","Qualifier","RawPtr","ReBound","ReEarlyParam","ReErased","ReLateParam","ReStatic","ReVar","Real","Real","Real","Real","Ref","Ref","Refine","RefineArgs","RefineParam","RefinementGenerics","Region","Region","RegionVid","SELF_PARAM_TY","ScalarInt","Set","Slice","Sort","Sort","Sort","SortArg","SortCtor","SortInfer","SortParamKind","SortVar","SortVid","SpecFunc","SpecFuncDecl","SpecFuncDefns","Str","Str","Str","StrgRef","Sub","SubsetTy","SubsetTyCtor","Trait","Trait","TraitPredicate","TraitRef","Transparent","Tuple","Tuple","Tuple","Tuple","Ty","Ty","TyCtor","TyKind","TyVid","Type","Type","TypeOutlives","TypeOutlivesPredicate","U128","U16","U32","U64","U8","UINT_TYS","Uint","Uint","UintTy","UnOp","UnaryOp","Unevaluated","Uninit","User","Usize","Value","Var","Var","Var","Var","VariantIdx","VariantSig","WfckResults","ZERO","ZERO","ZERO","ZERO","abi","add","add","add","add","adt","adt_def","alias","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","app","apply","args","args","args","args","args","args","args","array","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_bty_skipping_binder","as_bty_skipping_existentials","as_deref","as_ref","as_u32","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","as_usize","base","bin_rel_sorts","bin_rel_sorts","bin_rel_sorts_mut","binder","blocked","body","body","bool","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","bound_region","box_args","box_args","bty","canonicalize","char","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","closure","coercions","coercions","coercions_mut","collect_all_params","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","const_params","constr","container_def_id","coroutine","count","count","data","data","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","def_id","def_id","def_id","def_id","default","default","default_cx","default_cx","defns","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","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","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","did","did","discr","discriminants","downcast","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dynamic","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","ensures","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","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","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","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","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","espan","evars","exists","exists_with_constr","expect","expect_adt","expect_adt","expect_base","expect_discr","expect_func","expect_mono","expect_tuple","expect_type","expr","expr","field_by_name","field_names","field_projs","field_projs","field_projs_mut","field_sorts","fields","fields","fields","fill_item","filter_generic_args","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","float","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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_def","fndef_poly_sig","fold","fold_with","fold_with","fold_with","for_item","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_index","from_index","from_index","from_param_def","from_primitive_str","from_u16","from_u16","from_u16","from_u16","from_u32","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","from_usize","from_usize","fsort","get","global","has_self","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","identity_args","identity_for_item","idx","idx","index","index","index","index","index","index","index","index","index","index","index","index","index","index","index","index","indexed","infer","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs","inputs","inputs_and_output","insert","instantiate","instantiate_identity","int","int_invariants","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diag_arg","into_diag_arg","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","invariants","invariants","is_adt","is_array","is_array","is_bool","is_bool","is_bool","is_box","is_box","is_box","is_enum","is_float","is_integral","is_integral","is_loc","is_numeric","is_numeric","is_opaque","is_pred","is_signed","is_slice","is_slice","is_struct","is_struct","is_struct","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_uninit","is_unit","is_unit_adt","is_unsigned","items","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind_skipping_binder","kvid","loc","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","map","mk_box","mk_box_with_default_alloc","mk_ref","mk_slice","mode","name","name","name","name","name","name","name","name","name","name","name","never","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","node_sorts","node_sorts","node_sorts_mut","normalize","oblig_def_id","oblig_sig","ok_or_else","opaque","opaque","output","output","output","output","output","output","own_default_count","own_params","owner","owner","owner","param","param_at","param_at","params","params","params","params","parent","parent","parent","parent_count","parent_count","pred","pred","predicates","pretty","primitive_symbol","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","projection","projection","projection_ty","projections","projections","ptr","record_ctors","record_ctors","record_ctors_mut","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","refine_args","refining","requires","requires","resume_ty","ret","ret","rustc","safety","scope","self_args","self_ty","self_ty","shallow_canonicalize","size","skip_binders","slice_invariants","sort","sort","sort","sort","sort","sort_def","sort_def","sorts","span","stable_cmp","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","str","strengthen","strg_ref","subst","super_visit_with","super_visit_with","super_visit_with","tag","tag","tag","term","term","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_poly","to_poly_fn_sig","to_poly_fn_sig","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_sort","to_string","to_string","to_string","to_string","to_ty","to_ty","to_ty","to_ty","trait_id","trait_object_dummy_self","trait_object_dummy_self","trait_ref","transpose","trivial","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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_super_fold_with","try_super_fold_with","try_super_fold_with","try_super_fold_with","try_super_fold_with","tuple","tuple","tupled_args","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint","uint_invariants","unblocked","unconstr","unify_values","unify_values","unify_values","uninit","unit","unit","unpack_box","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upvar_tys","value","value","value","value","value","value","value","value","value","var","var","variant","variants","vars","vars","vars","vars","vars","vars","vars","vars","vars","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk","arity","def_id","field","field","has_default","has_default","name","Annon","Binder","BoundReftKind","BoundVariableKind","BoundVariableKinds","EarlyBinder","List","Named","Refine","Region","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","as_any","as_any","as_bty_skipping_binder","as_deref","as_ref","as_ref","bind_with_sort","bind_with_sorts","bind_with_vars","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","decode","decode","decode","decode","def_id","def_id","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","dummy","encode","encode","encode","encode","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expect_refine","expect_sort","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fold_with","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","hash","hash","init","init","init","init","instantiate","instantiate_func_sort","instantiate_identity","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","is_refine","is_trivially_true","map","map","partial_cmp","predicates","rebind","replace_bound_reft","replace_bound_refts","replace_bound_refts_with","replace_bound_vars","skip_binder","skip_binder","skip_binder_ref","sort","storage","storage","super_visit_with","to_owned","to_owned","to_owned","to_owned","to_poly_fn_sig","to_result","to_result","to_result","to_result","to_rustc","to_rustc","to_ty","to_ty","trait_object_dummy_self","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_map","try_map","try_super_fold_with","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","value","vars","vars","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","CanonicalConstrTy","CanonicalTy","Constr","Exists","Hoister","HoisterDelegate","LocalHoister","bind","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","default","delegate","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","existentials","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fold_bty","fold_ty","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hoist","hoist_constr","hoist_constr","hoist_existentials","hoist_exists","hoist_exists","hoist_inside_boxes","hoist_inside_downcast","hoist_inside_mut_refs","hoist_inside_shr_refs","hoist_inside_tuples","in_boxes","in_downcast","in_mut_refs","in_shr_refs","in_tuples","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","pred","pred","preds","pretty","shallow","to_result","to_result","to_result","to_result","to_subset_ty_ctor","transparent","try_fold_binder","try_fold_bty","try_fold_const","try_fold_expr","try_fold_region","try_fold_sort","try_fold_subset_ty","try_fold_ty","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","ty","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","vars","vzip","vzip","vzip","vzip","with_delegate","EVar","EVarCtxt","EVarCxId","EVarGen","EVarSol","EVarState","EVid","MAX","MAX_AS_U32","NEXT_CTXT_ID","Unified","Unsolved","UnsolvedEvar","ZERO","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_any","as_u32","as_usize","backward_checked","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","current_data","cx","cx","data","data","decode","decode","decode","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","enter_context","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evar","evars","exit_context","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fix","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","fresh_in","fresh_in_current","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u16","from_u32","from_u32_unchecked","from_usize","get","hash","hash","hash","id","index","index","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","new","partial_cmp","partial_cmp","partial_cmp","pending","pretty","private_use_as_methods_instead","stack","steps_between","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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_solve_pending","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unify","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vars","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Abs","Add","Adt","Adt","Aggregate","AggregateKind","Alias","AliasReft","And","App","BinOp","BinaryOp","Bool","Bound","BoundReft","ConstDefId","ConstGeneric","Constant","Constant","Div","ESpan","EVar","EarlyParam","EarlyReftParam","Eq","Expr","Expr","ExprKind","FieldProj","FieldProj","ForAll","Free","Ge","GlobalFunc","Gt","Hole","HoleKind","IfThenElse","Iff","Imp","Int","KVar","KVar","KVid","Lambda","Le","Loc","Local","Local","Lt","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Mod","Mul","Name","Ne","Neg","Not","ONE","Or","Path","PathProj","Pred","Real","Real","Str","Sub","TRUE","Tuple","Tuple","UnOp","UnaryOp","Var","Var","Var","ZERO","ZERO","ZERO","abs","add","add","add","add","adt","aggregate","alias","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","and","and_from_iter","app","apply","args","args","arity","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_u32","as_u32","as_usize","as_usize","at","at_base","at_opt","backward_checked","base","binary_op","bind_with_fsort","bind_with_vars","body","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","bvar","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","const_def_id","const_generic","const_op","constant","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","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","div","div","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_param","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","espan","eta_expand_abs","evar","expect_adt","ff","field_idx","field_proj","field_projs","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","flatten_conjs","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold_sort","fold_with","forall","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_const","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_scalar_int","from_u16","from_u16","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","fsort","fvar","ge","ge","global_func","gt","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hole","iff","imp","impl_ops","implies","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","int_max","int_max","int_min","int_min","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_abs","is_atom","is_binary_op","is_nu","is_trivially_true","is_true","is_unit","ite","kind","kind","kind","kvar","kvid","le","loc","local","lt","mul","mul","name","name","ne","ne","neg","new","new","new","new","new","not","nu","or","or","or_from_iter","output","output","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_proj","precedence","pretty","private_use_as_methods_instead","private_use_as_methods_instead","proj_and_reduce","projection","projection","scope","self_args","self_args","simplify","span","span","steps_between","storage","storage","storage","sub","sub","super_visit_with","to_bool","to_expr","to_expr","to_expr","to_int","to_loc","to_loc","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_path","to_proj","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_rustc_trait_ref","trait_id","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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_super_fold_with","tt","tuple","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_max","uint_max","unary_op","unit","unit_adt","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","var","var","vars","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_base","zero","arity","def_id","field","field","AddSub","And","Cmp","Iff","Imp","MulDiv","Or","Precedence","as_any","borrow","borrow_mut","cmp","collect_and_apply","compare","compare","deref","deref_mut","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","from","from","from_cycle_error","init","into","into_query_param","is_associative","partial_cmp","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","BottomUpFolder","BreakTy","Error","FallibleTypeFolder","TrivialTypeTraversalImpls","TypeFoldable","TypeFolder","TypeSuperFoldable","TypeSuperVisitable","TypeVisitable","TypeVisitor","borrow","borrow_mut","collect_and_apply","ct_op","deref","deref_mut","drop","erase_regions","filterable","fold_binder","fold_bty","fold_const","fold_const","fold_expr","fold_region","fold_region","fold_sort","fold_subset_ty","fold_ty","fold_ty","fold_with","from","from","from_cycle_error","fvars","has_escaping_bvars","init","into","into_query_param","lt_op","normalize","normalize_projections","replace_evars","replace_holes","shift_in_escaping","shift_out_escaping","super_fold_with","super_visit_with","to_result","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","try_fold_with","try_from","try_into","try_super_fold_with","ty_op","type_id","upcast","upcast_from","visit_binder","visit_bty","visit_expr","visit_sort","visit_ty","visit_with","vzip","with_holes","BaseSpanner","Normalizer","SpecFuncDefns","app","at_base","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","default","defn_deps","defns","defs","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","espan","filterable","filterable","filterable","fold_expr","fold_expr","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_defn","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","new","new","new","normalize","sorted_defns","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Candidate","Normalizer","ParamEnv","TVarSubst","TraitDef","UserDefinedImpl","args","assemble_candidates_from_impls","assemble_candidates_from_param_env","assemble_candidates_from_predicates","assemble_candidates_from_trait_def","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","btys","collect_and_apply","collect_and_apply","collect_and_apply","confirm_candidate","const_for_param","consts","ctor_for_param","def_id","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","expr_for_param_const","filterable","filterable","filterable","find_resolved_predicates","finish","fmt","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","generic_args","genv","get_impl_id_of_alias_reft","init","init","init","insert_generic_arg","instantiate_partial","into","into","into","into_query_param","into_query_param","into_query_param","new","new","normalize_alias_reft","normalize_projection_ty","normalize_projection_ty_with_rustc","param_env","region_for_param","regions","resolve_projection_predicates","rustc_param_env","selcx","sort_for_param","tcx","to_result","to_result","to_result","try_fold_const","try_fold_expr","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","ty_for_param","type_id","type_id","type_id","tys","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Base","Refiner","Ty","TyOrBase","adt_def","as_default","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","default","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","generics","generics_of","genv","init","init","into","into","into_ctor","into_query_param","into_query_param","into_ty","new","param","refine","refine_alias_kind","refine_alias_ty","refine_args_of","refine_binders","refine_bound_variables","refine_clause","refine_clauses","refine_default","refine_existential_predicate","refine_existential_predicate_generic_args","refine_fn_trait_pred","refine_generic_arg","refine_generic_args","refine_generic_param_def_kind","refine_generic_predicates","refine_generics","refine_poly_fn_sig","refine_trait_ref","refine_ty","refine_ty_ctor","refine_ty_inner","refine_variant_def","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","with_holes","BoundVarReplacer","BoundVarReplacerDelegate","ConstGenericArgs","EVarSubstFolder","Error","FnMutDelegate","GenericArgsDelegate","GenericsSubstDelegate","GenericsSubstFolder","GenericsSubstForSort","RegionSubst","SortSubst","SortSubstDelegate","apply","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","bv_size_for_param","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","const_for_param","const_for_param","const_for_param","ctor_for_param","ctor_for_param","ctor_for_param","current_index","current_index","default","default","delegate","delegate","delegate","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","empty","evars","expr_for_param","expr_for_param_const","expr_for_param_const","expr_for_param_const","exprs","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fold_binder","fold_expr","fold_expr","fold_region","fold_sort","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","infer_from_bty","infer_from_existential_pred","infer_from_fn_sig","infer_from_generic_arg","infer_from_generic_args","infer_from_region","infer_from_ty","init","init","init","init","init","init","init","init","init","insert","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","lookup","map","match_regions","new","new","new","new","new","refinement_args","region_for_param","region_for_param","region_for_param","regions","replace_expr","replace_expr","replace_region","replace_region","replace_regions_with_unique_vars","sort_for_param","sort_for_param","sort_for_param","sort_for_param","sort_for_param","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","try_fold_ty","try_fold_ty","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","ty_for_param","ty_for_param","ty_for_param","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_middle"],[241,"flux_middle::big_int"],[347,"flux_middle::cstore"],[365,"flux_middle::fhir"],[3203,"flux_middle::fhir::AssocItemConstraintKind"],[3204,"flux_middle::fhir::GenericParamKind"],[3207,"flux_middle::fhir::Res"],[3210,"flux_middle::fhir::SortRes"],[3213,"flux_middle::fhir::StructKind"],[3214,"flux_middle::fhir::lift"],[3280,"flux_middle::fhir::lift::errors"],[3306,"flux_middle::fhir::visit"],[3386,"flux_middle::global_env"],[3647,"flux_middle::pretty"],[3897,"flux_middle::queries"],[4087,"flux_middle::queries::QueryErr"],[4096,"flux_middle::rty"],[7806,"flux_middle::rty::FieldProj"],[7810,"flux_middle::rty::GenericParamDefKind"],[7812,"flux_middle::rty::SortCtor"],[7813,"flux_middle::rty::binder"],[8020,"flux_middle::rty::canonicalize"],[8152,"flux_middle::rty::evars"],[8442,"flux_middle::rty::expr"],[9519,"flux_middle::rty::expr::FieldProj"],[9523,"flux_middle::rty::expr::pretty"],[9564,"flux_middle::rty::fold"],[9646,"flux_middle::rty::normalize"],[9740,"flux_middle::rty::projections"],[9845,"flux_middle::rty::refining"],[9923,"flux_middle::rty::subst"],[10214,"rustc_hir"],[10215,"core::iter::traits::collect"],[10216,"rustc_middle::arena"],[10217,"rustc_span::def_id"],[10218,"core::option"],[10219,"flux_rustc_bridge::mir"],[10220,"core::clone"],[10221,"core::iter::traits::iterator"],[10222,"core::ops::function"],[10223,"alloc::string"],[10224,"rustc_target::abi"],[10225,"flux_rustc_bridge::ty"],[10226,"icu_provider::request"],[10227,"icu_provider_adapters::filter"],[10228,"core::fmt"],[10229,"core::result"],[10230,"rustc_query_system::query::plumbing"],[10231,"rustc_span"],[10232,"rustc_hir::hir_id"],[10233,"core::convert"],[10234,"core::any"],[10235,"core::cmp"],[10236,"core::hash"],[10237,"rustc_span::symbol"],[10238,"flux_syntax::surface"],[10239,"rustc_serialize::serialize"],[10240,"rustc_type_ir::codec"],[10241,"rustc_query_system::dep_graph"],[10242,"rustc_errors::diagnostic"],[10243,"rustc_middle::ty::context"],[10244,"rustc_data_structures::fx"],[10245,"rustc_query_system::dep_graph::dep_node"],[10246,"rustc_span::span_encoding"],[10247,"flux_arc_interner"],[10248,"rustc_data_structures::fingerprint"],[10249,"rustc_hir::def"],[10250,"core::ops::control_flow"],[10251,"rustc_hir::hir"],[10252,"flux_common::index"],[10253,"rustc_data_structures::unord"],[10254,"rustc_errors"],[10255,"rustc_middle::query::plumbing::sealed"],[10256,"core::marker"],[10257,"alloc::rc"],[10258,"flux_config"],[10259,"flux_errors"],[10260,"alloc::boxed"],[10261,"rustc_type_ir::flags"],[10262,"rustc_type_ir"],[10263,"rustc_middle::hir::map"],[10264,"rustc_middle::ty"],[10265,"toml::value"],[10266,"core::cell"],[10267,"flux_rustc_bridge::lowering"],[10268,"core::ops::deref"],[10269,"alloc::vec"],[10270,"rustc_middle::ty::sty"],[10271,"rustc_type_ir::ty_kind"],[10272,"rustc_middle::ty::region"],[10273,"rustc_ast_ir"],[10274,"rustc_target::spec::abi"],[10275,"core::iter::traits::exact_size"],[10276,"rustc_middle::ty::generic_args"],[10277,"rustc_index::slice"],[10278,"rustc_type_ir::visit"],[10279,"flux_rustc_bridge"],[10280,"rustc_middle::ty::list"],[10281,"rustc_middle::mir"],[10282,"rustc_middle::ty::consts::int"],[10283,"rustc_middle::ty::predicate"],[10284,"rustc_hash"],[10285,"rustc_infer::infer"],[10286,"rustc_middle::ty::generics"],[10287,"rustc_middle::ty::adt"],[10288,"rustc_type_ir::const_kind"],[10289,"rustc_type_ir::region_kind"]],"i":[0,41,8,11,11,0,41,8,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,11,11,8,8,11,11,8,8,11,12,0,426,41,23,24,8,11,26,426,41,23,24,8,11,26,8,11,8,11,8,11,426,41,23,24,8,11,26,23,0,0,23,24,426,41,23,24,8,11,26,426,41,23,24,8,11,26,426,41,23,24,8,11,26,23,23,24,23,0,26,426,41,23,24,8,11,26,426,23,8,26,23,426,426,41,41,23,23,24,24,8,8,11,11,26,26,426,41,23,24,8,11,26,26,0,23,24,24,23,426,41,23,24,8,11,26,23,23,426,41,23,24,8,11,26,426,41,23,24,8,8,11,26,8,8,8,23,8,426,24,24,0,26,0,0,8,0,23,426,0,24,23,8,11,426,41,23,24,8,11,26,23,23,0,426,41,23,24,8,11,26,426,41,23,24,8,11,26,12,26,23,426,41,23,24,8,11,26,426,41,23,24,8,11,26,426,41,23,24,8,11,26,26,426,41,23,24,8,11,26,0,0,47,47,46,0,46,46,46,47,47,46,46,47,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,46,47,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,46,46,46,46,47,47,47,47,47,46,47,46,46,46,47,46,46,46,46,46,46,47,47,46,47,46,47,46,47,46,46,46,47,46,47,46,47,46,46,47,46,47,46,46,47,46,47,46,47,46,46,47,46,47,46,46,47,0,0,58,0,58,56,56,56,56,56,56,56,56,56,56,56,56,56,113,81,126,133,0,81,133,0,106,0,0,123,106,0,87,0,106,0,0,133,127,427,125,134,427,123,87,119,135,0,0,135,106,80,138,81,133,124,0,154,0,81,118,80,123,106,123,0,113,0,0,0,0,427,109,110,0,0,0,0,154,156,158,0,0,0,159,127,0,81,0,0,0,0,0,0,135,81,108,133,81,0,81,0,154,0,0,88,0,106,106,121,127,0,427,125,134,0,88,0,0,124,81,0,87,119,0,121,133,123,127,81,74,75,74,75,125,93,81,81,333,0,0,81,82,106,83,84,0,93,333,82,135,97,106,0,154,81,91,121,135,0,0,0,0,114,127,0,0,0,0,123,105,0,126,0,80,0,0,159,106,125,134,113,106,0,0,0,0,0,0,108,115,109,110,126,126,80,80,125,114,0,0,0,126,0,0,0,0,427,134,106,154,0,0,81,134,138,0,154,91,0,0,0,88,0,106,97,0,106,0,0,154,0,126,87,156,158,105,119,115,138,427,0,133,126,133,0,0,0,0,83,84,74,75,151,74,75,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,95,95,96,96,427,427,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,76,76,106,106,107,107,108,108,109,109,110,110,111,111,74,74,112,112,113,113,78,78,114,114,115,115,77,77,116,116,117,117,118,118,119,119,120,120,121,121,80,80,79,79,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,75,75,138,138,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,95,95,96,96,427,427,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,76,76,106,106,107,107,108,108,109,109,110,110,111,111,74,74,112,112,113,113,78,78,114,114,115,115,77,77,116,116,117,117,118,118,119,119,120,120,121,121,80,80,79,79,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,75,75,138,138,153,116,128,160,83,84,427,108,109,110,111,74,120,121,80,123,124,75,138,76,78,74,75,74,75,148,146,79,79,94,95,160,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,92,90,90,147,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,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,427,97,98,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,427,97,98,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,116,151,103,110,111,74,124,138,110,86,99,141,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,80,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,110,111,74,124,138,104,100,83,84,108,109,110,111,74,120,121,80,123,124,75,138,83,84,427,108,109,110,111,74,120,121,80,123,124,75,138,83,83,83,83,83,84,84,84,84,84,427,427,427,427,427,108,108,108,108,108,109,109,109,109,109,110,110,110,110,110,111,111,111,111,111,74,74,74,74,74,120,120,120,120,120,121,121,121,121,121,80,80,80,80,80,123,123,123,123,123,124,124,124,124,124,75,75,75,75,75,138,138,138,138,138,144,79,144,144,135,144,144,119,144,153,112,122,132,136,99,137,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,148,146,427,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,149,96,97,98,145,99,100,101,102,103,104,105,76,108,109,110,111,74,112,78,115,77,116,117,119,120,121,80,79,122,123,124,126,127,128,129,130,131,132,134,135,136,75,137,160,138,88,124,151,151,81,81,82,82,83,83,83,84,84,84,85,85,86,86,87,87,153,153,88,88,144,144,154,154,155,155,156,156,157,157,158,158,159,159,89,89,90,90,91,91,92,92,93,93,148,148,94,94,146,146,95,95,147,147,141,141,149,149,96,96,427,427,97,97,98,98,145,145,99,99,100,100,101,101,102,102,103,103,104,104,105,105,76,76,106,106,107,107,108,108,109,109,109,109,110,110,110,111,111,74,74,74,74,112,112,113,113,78,78,78,114,114,115,115,77,77,116,116,117,117,118,118,119,119,120,120,121,121,80,80,79,79,122,122,123,123,124,124,125,125,126,126,127,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,75,75,75,75,137,137,160,160,138,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,124,74,75,74,75,74,75,74,75,130,79,151,88,144,155,157,85,153,109,110,111,74,124,75,138,103,122,116,117,100,74,74,75,75,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,129,101,129,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,76,77,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,96,145,137,80,79,112,123,96,141,86,144,155,157,96,76,112,78,117,120,122,132,77,0,149,98,99,101,111,135,107,159,86,153,89,94,95,122,131,160,141,74,79,130,75,137,129,94,95,101,111,88,144,155,157,151,85,94,95,149,96,145,99,102,104,130,160,131,102,85,124,239,74,75,131,103,427,77,149,96,145,85,101,77,116,128,136,99,104,151,77,128,136,85,122,160,137,115,89,90,92,94,95,149,99,101,76,112,78,77,120,122,132,136,124,83,84,427,427,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,427,97,98,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,92,92,137,124,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,149,98,107,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,79,79,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,145,0,124,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,85,79,428,429,430,430,431,431,432,433,434,435,436,437,0,437,0,175,175,175,175,175,175,175,175,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,13,13,13,13,13,13,210,210,218,218,60,60,13,13,210,210,218,218,60,60,438,218,60,13,13,438,13,210,218,60,438,13,210,218,60,13,13,210,13,210,218,60,13,210,218,60,438,13,210,218,60,13,60,60,13,13,438,13,13,13,438,13,210,218,60,438,13,210,218,60,13,438,13,210,218,60,13,13,218,60,218,218,218,218,218,60,60,60,60,60,218,60,210,210,13,438,13,210,218,60,218,60,210,13,60,438,438,13,13,210,210,218,218,60,60,438,13,210,218,60,13,13,210,210,210,218,60,218,60,13,13,13,438,13,210,218,60,13,438,13,210,218,60,438,13,210,218,60,13,13,13,218,60,13,13,13,13,13,13,13,13,218,60,13,13,13,218,210,210,13,13,210,13,438,218,60,13,13,210,13,13,13,13,438,13,13,13,13,13,13,13,13,13,13,13,218,210,13,210,13,438,218,60,218,60,13,210,218,60,438,13,210,218,60,218,60,13,13,60,438,13,210,218,60,438,13,210,218,60,438,13,210,218,60,13,438,13,210,218,60,438,13,210,218,60,13,13,13,60,438,13,210,218,60,242,0,0,0,242,0,0,241,241,0,0,0,242,0,241,241,242,242,241,241,242,242,241,241,241,241,241,243,243,246,247,248,242,241,244,243,246,247,248,242,241,244,242,241,242,241,242,241,243,246,247,248,242,241,244,246,246,243,244,245,0,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,241,241,241,241,241,241,241,243,246,247,248,242,241,244,245,246,247,247,248,241,243,243,0,243,243,246,246,247,247,248,248,242,242,241,241,241,241,244,244,243,246,247,248,242,241,244,252,242,241,241,241,241,243,243,243,241,243,243,243,243,243,243,0,241,241,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,246,247,248,242,241,244,247,0,243,243,244,244,243,244,246,247,248,241,0,248,244,0,243,241,244,247,0,243,243,243,243,243,242,241,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,246,247,248,242,241,244,243,246,247,248,242,241,244,248,243,246,247,248,242,241,244,0,243,0,256,0,256,16,256,256,256,16,0,0,0,0,0,256,255,217,255,255,217,255,255,217,255,255,217,255,256,257,217,255,256,257,217,255,256,256,255,217,255,256,256,256,257,217,255,256,255,217,255,256,217,255,217,255,255,257,217,255,256,257,217,255,256,255,217,255,0,257,217,255,256,0,256,257,255,217,255,257,217,255,256,256,255,217,255,257,257,217,217,255,255,256,256,256,257,217,255,256,255,255,255,217,255,257,217,255,256,257,217,255,256,257,256,257,217,255,256,255,217,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,217,255,255,255,217,255,255,217,255,255,217,255,0,255,217,255,257,217,255,217,256,257,217,255,256,257,217,255,256,257,217,255,256,257,217,255,256,255,217,255,256,257,217,255,256,257,217,255,256,255,217,255,257,217,255,256,439,440,441,442,443,440,443,443,439,375,373,369,326,271,267,0,0,0,0,0,375,0,375,307,0,0,0,373,349,375,235,267,0,0,290,287,310,0,0,375,0,235,307,371,235,267,0,379,0,0,0,0,0,0,0,308,329,329,329,0,300,302,0,267,0,0,0,267,0,0,0,0,287,310,288,375,379,0,0,0,375,307,267,288,0,0,307,373,307,267,0,0,379,0,0,379,0,0,0,373,235,0,0,0,307,0,376,0,327,327,327,327,0,0,375,299,267,0,330,267,330,330,0,267,0,288,0,375,379,235,0,373,0,0,0,0,0,0,0,375,373,375,0,332,332,332,332,332,0,0,375,373,373,307,281,235,299,307,267,0,312,371,297,235,267,0,0,0,332,0,0,375,0,0,0,373,287,310,0,0,235,375,380,0,0,373,263,264,265,266,263,264,265,266,271,373,373,333,308,0,0,349,373,374,267,333,374,298,0,0,269,73,0,373,0,281,235,299,307,267,0,0,0,0,375,0,0,0,0,0,0,0,0,376,306,312,269,288,290,0,307,0,0,267,282,282,282,282,282,282,0,371,297,235,267,0,250,0,0,0,0,250,0,0,0,271,267,0,300,302,0,0,0,0,298,0,0,0,0,371,235,267,307,373,0,0,288,290,0,0,73,369,326,235,267,0,310,0,0,0,287,306,288,0,344,344,344,344,344,0,267,0,0,0,375,281,307,271,344,281,0,375,380,235,0,0,0,263,264,265,266,304,263,264,265,266,267,303,234,333,333,269,269,282,282,283,283,284,284,239,239,444,444,287,287,445,445,263,263,264,264,265,265,297,297,298,298,266,266,332,332,299,299,344,344,327,327,300,300,331,331,308,308,221,221,253,253,330,330,446,446,383,383,400,400,329,329,334,334,316,316,333,333,269,269,282,282,283,283,284,284,239,239,444,444,287,287,445,445,263,263,264,264,265,265,297,297,298,298,266,266,332,332,299,299,344,344,327,327,300,300,331,331,308,308,221,221,253,253,330,330,446,446,383,383,400,400,329,329,334,334,316,316,235,272,370,377,223,291,292,303,270,234,333,280,269,274,281,282,283,284,239,444,59,317,285,286,287,224,288,289,445,223,290,291,292,293,294,295,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,272,303,304,305,306,234,307,308,267,221,270,309,310,253,330,446,383,400,329,334,316,275,234,73,73,263,264,265,266,263,264,265,266,372,208,208,208,0,234,62,233,234,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,283,279,268,309,0,234,280,269,274,281,282,283,284,59,66,69,285,286,287,68,224,288,289,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,299,70,300,301,302,57,73,272,303,304,305,306,219,234,307,308,267,270,309,310,333,280,269,274,281,282,283,284,239,444,59,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,73,272,303,304,305,306,219,234,307,308,267,221,270,309,310,253,330,446,383,400,329,334,316,333,280,269,274,281,282,283,284,239,444,59,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,73,272,303,304,305,306,219,234,307,308,267,221,270,309,310,253,330,446,383,400,329,334,316,234,208,208,208,69,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,333,333,239,239,444,444,445,445,332,332,344,344,327,327,331,331,221,221,253,253,334,334,316,316,66,234,296,234,66,69,278,277,383,59,317,66,69,285,286,287,68,224,288,289,223,290,291,292,293,294,295,64,296,271,263,264,265,298,266,235,299,70,300,301,302,57,318,73,272,303,304,305,306,234,307,308,267,270,309,310,320,321,317,286,223,291,292,295,270,66,64,304,234,236,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,59,57,234,57,234,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,234,59,317,66,69,285,286,287,68,224,288,289,223,290,291,292,293,294,295,64,296,271,263,264,265,298,266,235,299,70,300,301,302,57,318,73,272,303,304,305,306,234,307,308,267,270,309,310,305,280,269,274,281,282,283,284,59,317,285,286,287,224,288,289,223,290,291,292,293,294,295,296,271,263,264,265,297,298,266,235,299,70,300,301,302,57,318,272,303,304,305,306,234,307,308,267,270,309,310,333,280,269,274,281,282,283,284,239,444,59,317,285,286,287,224,288,289,445,223,290,291,292,293,294,295,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,272,303,304,305,306,234,307,308,267,221,270,309,310,253,330,446,383,400,329,334,316,333,333,333,333,333,280,280,280,280,280,269,269,269,269,269,274,274,274,274,274,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,239,239,239,239,239,444,444,444,444,444,59,59,59,59,59,317,317,317,317,317,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,224,224,224,224,224,288,288,288,288,288,289,289,289,289,289,445,445,445,445,445,223,223,223,223,223,290,290,290,290,290,291,291,291,291,291,292,292,292,292,292,293,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,296,271,271,271,271,271,263,263,263,263,263,264,264,264,264,264,265,265,265,265,265,297,297,297,297,297,298,298,298,298,298,266,266,266,266,266,235,235,235,235,235,332,332,332,332,332,299,299,299,299,299,344,344,344,344,344,70,70,70,70,70,327,327,327,327,327,300,300,300,300,300,301,301,301,301,301,302,302,302,302,302,57,57,57,57,57,331,331,331,331,331,318,318,318,318,318,272,272,272,272,272,303,303,303,303,303,304,304,304,304,304,305,305,305,305,305,306,306,306,306,306,234,234,234,234,234,307,307,307,307,307,308,308,308,308,308,267,267,267,267,267,221,221,221,221,221,270,270,270,270,270,309,309,309,309,309,310,310,310,310,310,253,253,253,253,253,330,330,330,330,330,446,446,446,446,446,383,383,383,383,383,400,400,400,400,400,329,329,329,329,329,334,334,334,334,334,316,316,316,316,316,333,239,445,327,221,253,330,329,334,316,273,0,234,234,73,234,267,310,234,235,301,234,310,0,394,59,317,208,208,208,59,59,303,303,310,59,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,64,333,239,445,332,344,327,221,253,330,446,383,400,329,334,316,234,225,280,269,269,274,274,282,282,284,65,59,317,66,69,285,286,287,68,224,288,288,289,223,290,290,291,291,292,292,293,294,295,64,296,271,271,263,264,265,297,298,266,235,235,299,299,70,70,300,301,301,302,302,57,318,73,272,303,303,304,304,305,305,306,306,233,219,328,234,234,307,308,308,267,267,221,270,309,309,310,310,312,277,329,267,294,0,299,330,329,310,333,333,280,280,269,269,274,274,281,281,282,282,283,283,284,284,239,239,394,394,208,208,278,278,444,444,59,59,317,317,66,66,69,69,285,285,286,286,287,287,68,68,224,224,224,288,288,289,289,445,445,223,223,290,290,291,291,292,292,293,293,294,294,295,295,64,64,296,296,271,271,263,263,263,263,264,264,264,264,265,265,265,265,297,297,298,298,266,266,266,266,235,235,332,332,299,299,344,344,70,70,327,327,300,300,301,301,302,302,57,57,331,331,318,318,73,73,272,272,303,303,304,304,305,305,306,306,233,233,219,219,328,328,234,234,307,307,308,308,267,267,221,221,270,270,309,309,310,310,253,253,312,312,277,277,330,330,446,446,383,383,400,400,329,329,334,334,316,316,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,264,265,266,310,267,263,264,265,266,263,264,265,266,263,264,265,266,274,263,264,265,266,301,277,233,66,333,239,445,327,221,253,330,329,334,316,333,239,445,327,221,253,330,329,334,316,280,269,274,281,282,283,284,59,317,285,286,287,224,288,289,223,290,291,292,293,294,295,296,271,263,264,265,298,266,235,299,70,300,301,302,57,318,272,303,304,305,306,234,307,308,267,270,309,310,59,310,303,309,263,263,264,264,264,265,265,265,266,266,266,378,286,400,334,316,234,234,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,70,304,304,70,278,301,301,234,0,307,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,235,70,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,57,267,318,267,234,267,235,234,267,57,234,267,57,267,234,267,235,235,267,57,235,267,234,267,57,234,267,333,239,445,327,221,253,330,329,334,316,234,235,235,267,64,224,234,274,284,273,249,286,224,294,219,224,377,340,333,239,445,327,221,253,330,329,334,316,73,234,234,234,234,285,394,370,378,285,286,296,233,219,400,334,316,234,208,59,224,263,264,265,266,70,301,57,272,303,304,305,270,309,208,208,208,0,328,328,73,234,318,70,304,62,294,295,304,66,66,208,278,277,234,66,69,301,317,69,301,66,69,68,66,69,272,309,68,0,267,239,444,367,368,445,263,264,265,266,331,221,253,234,340,293,0,59,234,208,208,208,333,239,445,332,344,327,221,253,330,446,383,400,329,334,316,270,0,304,304,295,303,305,318,304,283,377,270,294,234,383,301,0,59,57,267,285,219,57,318,317,372,290,240,317,285,286,224,223,296,235,300,318,272,306,234,307,310,234,309,234,0,235,234,267,264,265,266,292,293,333,239,445,332,344,327,221,253,330,446,383,400,329,334,316,333,239,445,332,344,327,221,253,330,446,383,400,329,334,316,333,280,269,274,281,282,283,284,239,444,59,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,73,272,303,304,305,306,219,234,307,308,267,221,270,309,310,253,330,446,383,400,329,334,316,70,294,295,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,279,269,274,282,284,268,223,290,304,305,234,267,270,309,310,297,330,383,334,316,71,275,267,309,370,275,234,289,73,309,225,280,274,282,224,288,289,223,290,291,292,293,294,295,235,299,70,301,302,73,272,303,304,305,306,233,234,267,270,309,310,330,329,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,274,235,234,267,309,235,234,294,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,234,0,234,234,297,235,299,234,235,234,267,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,295,447,320,408,321,240,65,71,275,323,284,249,57,57,447,320,408,321,240,65,71,275,323,225,280,274,282,224,288,289,223,290,291,292,293,294,295,235,299,70,301,302,73,272,303,304,305,306,233,234,267,270,309,310,330,329,333,280,269,274,281,282,283,284,239,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,263,264,265,297,298,266,235,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,233,219,328,234,307,308,267,221,270,309,310,253,312,277,330,446,383,400,329,334,316,235,448,449,448,449,450,451,452,349,0,0,0,0,0,0,349,250,250,349,349,349,349,323,250,349,323,63,63,323,323,323,323,63,323,250,349,63,323,250,349,63,323,250,349,63,323,250,349,63,323,250,349,349,63,323,250,349,349,349,63,323,250,349,323,323,63,323,250,349,63,323,250,349,63,323,250,349,323,63,323,250,349,323,250,349,323,250,349,323,323,323,323,323,250,250,250,250,250,349,349,349,349,349,250,250,63,323,250,349,63,323,323,323,250,349,349,63,63,323,323,250,250,250,349,349,63,323,250,349,323,250,349,63,323,250,349,63,63,63,63,323,250,349,63,323,250,349,250,323,63,323,349,63,323,323,323,323,323,63,323,323,323,323,250,323,63,323,250,349,63,63,323,250,349,323,250,323,323,323,323,250,349,63,323,250,349,63,323,250,349,63,323,323,63,323,250,349,63,323,250,349,63,323,250,349,323,323,323,323,250,349,63,323,250,349,0,0,341,341,0,0,0,355,357,356,341,355,357,356,341,355,357,356,341,355,355,357,357,356,341,355,357,356,341,355,357,356,341,355,357,357,356,341,355,356,356,341,341,357,357,357,357,356,356,341,341,355,355,357,356,341,355,357,358,355,357,358,355,357,357,357,357,357,357,357,357,357,357,357,356,341,355,357,356,341,355,357,356,341,355,356,356,355,0,357,357,356,341,355,341,357,357,357,357,357,357,357,357,357,357,356,341,355,357,356,341,355,356,356,357,356,341,355,357,356,341,355,357,356,341,355,355,357,356,341,355,357,0,0,0,0,0,0,0,359,359,0,366,366,0,359,359,360,360,359,359,361,361,360,360,359,359,361,361,360,359,361,359,359,359,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,360,359,361,360,359,361,360,359,361,360,359,361,363,362,364,360,365,366,359,361,360,360,359,359,361,361,362,360,360,362,364,360,359,361,362,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,360,359,361,362,360,359,361,360,359,361,360,360,360,360,360,359,359,359,359,359,361,361,361,361,361,365,363,362,363,362,364,360,365,366,359,361,363,363,362,364,360,360,365,366,359,361,359,362,362,363,363,362,362,364,364,360,360,365,365,366,366,359,359,359,359,361,361,363,362,364,360,365,366,359,361,359,359,359,359,363,360,359,361,360,359,359,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,359,360,359,361,362,0,359,362,359,360,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,362,363,362,364,360,365,366,359,361,362,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,364,363,362,364,360,365,366,359,361,375,373,369,326,375,0,375,0,373,375,0,375,371,379,0,375,379,0,375,373,0,379,379,0,373,0,376,0,0,375,375,379,373,375,373,375,0,375,373,373,371,0,375,0,0,373,0,375,380,373,367,368,367,368,373,373,0,373,374,374,371,373,0,375,376,0,371,371,373,371,369,326,0,375,0,375,380,367,368,371,273,273,273,367,368,273,273,273,372,372,374,374,369,369,326,326,378,378,249,249,379,379,380,380,367,367,368,368,381,381,371,371,372,372,374,374,369,369,326,326,378,378,249,249,379,379,380,380,367,367,368,368,381,381,371,371,273,371,273,273,62,370,377,326,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,367,368,367,368,273,273,273,368,372,273,62,62,62,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,378,249,379,340,380,368,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,378,378,249,249,379,379,340,340,380,380,368,368,273,273,273,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,62,62,62,62,370,370,370,370,370,273,273,273,273,273,372,372,372,372,372,373,373,373,373,373,374,374,374,374,374,375,375,375,375,375,369,369,369,369,369,326,326,326,326,326,376,376,376,376,376,377,377,377,377,377,378,378,378,378,378,249,249,249,249,249,379,379,379,379,379,340,340,340,340,340,380,380,380,380,380,367,367,367,367,367,368,368,368,368,368,381,381,381,381,381,371,371,371,371,371,273,273,273,273,273,326,273,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,62,62,370,370,273,273,372,373,374,369,326,376,377,377,249,379,379,340,340,380,380,367,368,381,381,371,371,273,367,273,368,62,62,370,370,273,273,273,273,273,273,273,372,372,373,373,374,374,375,375,369,369,326,326,376,376,377,377,378,378,249,249,379,379,340,340,340,380,380,380,380,367,367,367,367,368,368,368,368,381,381,371,371,371,371,371,371,371,371,273,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,371,367,368,367,368,367,368,367,368,62,273,273,371,273,273,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,371,371,0,273,367,367,368,368,378,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,371,273,371,375,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,273,273,273,273,273,273,273,273,273,249,273,377,273,340,273,273,273,273,370,378,273,371,273,372,377,340,367,368,273,273,273,371,273,62,62,378,249,379,340,380,368,273,373,0,367,368,273,340,340,377,377,377,273,273,372,368,273,375,377,273,273,273,371,379,340,380,371,273,340,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,369,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,370,370,62,370,273,373,376,377,367,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,273,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,371,273,273,273,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,273,249,62,62,370,273,373,376,377,367,62,370,273,372,373,374,375,369,326,376,377,378,249,379,340,380,367,368,381,371,372,273,448,449,448,449,384,384,384,384,384,384,384,0,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,0,174,171,0,0,0,0,0,0,0,0,386,386,386,386,386,386,386,343,386,161,161,161,386,161,161,386,161,161,161,386,343,386,386,386,347,347,386,386,386,386,343,343,343,343,343,343,389,390,386,171,386,171,386,171,386,171,386,171,386,171,386,171,386,171,386,343,386,386,389,386,386,386,386,174,174,174,174,174,347,386,343,0,0,0,392,392,392,393,236,392,393,236,392,393,236,236,236,236,392,392,393,236,392,393,236,392,393,236,393,392,393,236,392,393,392,392,393,393,236,236,392,393,236,236,392,393,236,392,393,236,392,393,236,392,393,236,236,236,392,393,236,392,393,392,393,392,393,392,393,392,393,392,393,392,393,392,393,392,393,236,392,393,236,392,393,236,392,393,236,392,393,236,392,393,236,0,0,397,0,397,397,398,396,396,0,396,396,397,398,396,397,398,398,396,397,398,396,398,398,398,396,396,397,398,396,397,398,396,397,398,398,396,397,398,396,398,397,398,396,396,397,397,398,398,396,397,398,398,396,396,396,397,398,398,398,396,397,398,396,397,398,396,398,396,396,396,396,398,398,396,396,396,398,396,396,397,398,396,396,396,396,397,398,396,397,398,398,396,397,398,398,396,397,398,396,397,398,396,397,398,403,0,403,0,402,402,402,403,402,403,402,403,402,402,403,402,403,402,403,402,403,402,402,403,403,402,403,402,402,402,402,403,402,403,403,402,403,403,402,402,402,402,402,402,402,0,402,402,0,402,402,402,402,402,0,402,0,402,402,402,402,402,402,402,403,402,403,402,403,402,403,402,403,402,403,402,403,402,0,0,0,0,415,0,0,0,0,0,0,0,0,412,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,413,414,414,414,419,424,421,418,416,417,422,412,414,415,416,417,415,416,417,419,418,412,414,419,418,422,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,414,421,418,415,416,417,424,419,424,421,418,416,417,422,412,414,412,414,419,419,421,419,422,419,419,424,424,421,421,418,418,416,416,417,417,422,422,412,412,414,414,419,424,421,418,416,417,422,412,414,412,412,412,412,412,412,412,419,424,421,418,416,417,422,412,414,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,414,412,0,419,424,421,418,422,418,415,416,417,424,420,424,420,424,0,415,413,416,417,417,414,419,424,421,418,416,417,422,412,414,419,421,418,422,419,421,422,419,421,418,422,419,421,418,422,419,421,418,422,419,421,418,422,419,421,418,422,419,421,418,422,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,415,416,417,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414],"f":"````````````````````````````{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}10{{{d{n}}}{{d{fc}}}{}}{{{d{b}}}{{d{fc}}}{}}01{{{A`{c}}}{{Ad{Ab}}}{}}{{{A`{c}}}{{Ad{c}}}{}}{Af{{Ad{A`}}}}{{{d{Ah}}Aj{d{Al}}}{{B`{An}}}}`{d{{d{c}}}{}}000000{{{d{f}}}{{d{fc}}}{}}000000{{{d{{A`{c}}}}}{{A`{c}}}Bb}{{{d{Af}}}Af}{{d{d{fc}}}Bd{}}0{dBd}0{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000000``{AbBl}{{}Bn}{{}C`}{Cb{{d{c}}}{}}000000{Cb{{d{fc}}}{}}000000{CbBd}000000`````{{{d{Cd}}AjCf}{{B`{Ch}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000000``{{{d{{A`{c}}}}{d{fDb}}}DdDf}{{{d{Cd}}{d{fDb}}}Dd}`{cc{}}{{{Dh{c}}}c{}}011001010101{{c{d{Dj}}Dl}e{}{}}000000{ChCd}`````{{}Cb}000000{{{d{fBn}}Dn}Bd}{{{d{fBn}}E`Ab}{{Dh{BdEb}}}}{{}c{}}0000000000{A`Ab}111{{{d{{A`{c}}}}}An{}}{{{A`{c}}}An{}}{{{A`{c}}}c{}}`{{{A`{c}}g}{{A`{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}````{{{d{Cd}}AjEd}{{B`{Cd}}}}``{{{A`{c}}}Ab{{Ef{Ab}}}}``````{dc{}}0{{}{{Dh{c}}}{}}000000```{c{{Dh{e}}}{}{}}0000001111111{{{d{Ah}}Aj{d{Al}}}{{B`{Cd}}}}``{dEh}000000{ce{}{}}000000{{ce}c{}{}}000000`>>>>>>>```````{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}10{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}10{d{{d{Ej}}}}0{d{{d{c}}}{}}0{{{d{f}}}{{d{fc}}}{}}0{{{d{El}}}El}{{{d{En}}}En}{{d{d{fc}}}Bd{}}0{dBd}0{{{d{El}}{d{El}}}F`}{{{d{En}}{d{En}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0{{d{d{c}}}F`{}}000{{{d{fc}}}ElFb}{{{d{fc}}}EnFb}{Cb{{d{c}}}{}}0{Cb{{d{fc}}}{}}0{CbBd}0{{{d{El}}{d{fc}}}BdFd}{{{d{En}}{d{fc}}}BdFd}{{{d{El}}{d{El}}}An}{{{d{En}}{d{En}}}An}{{d{d{Ej}}}An}0{{d{d{c}}}An{}}000000000{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0{{{d{El}}{d{fDb}}}Dd}00{{{d{En}}{d{fDb}}}Dd}{CbEl}{FfEl}{FhEl}{{{Dh{c}}}c{}}{cc{}}{FjEl}21{{c{d{Dj}}Dl}e{}{}}0{{{d{El}}{d{fc}}}BdFl}{{{d{En}}{d{fc}}}BdFl}{{}Cb}0{FnEl}0{{}c{}}000{{{d{El}}{d{El}}}{{Ad{F`}}}}{{{d{En}}{d{En}}}{{Ad{F`}}}}`{dc{}}0{{}{{Dh{c}}}{}}0{dBl}{c{{Dh{e}}}{}{}}022{dEh}08{ce{}{}}0{{ce}c{}{}}0`99`````{{{d{G`}}Ab}{{Gd{Gb}}}}{{{d{G`}}Ab}{{Gd{Gf}}}}{{{d{G`}}{Gj{AbGh}}}{{Gd{{Gn{Gl}}}}}}{{{d{G`}}Ab}{{Gd{H`}}}}{{{d{G`}}{Gj{AbGh}}}{{Gd{{Ad{{Gn{Gl}}}}}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hb}}}}}}{{{d{G`}}Ab}{{Gd{Hd}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hf}}}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hh}}}}}}{{{d{G`}}Ab}{{Gd{Hj}}}}{{{d{G`}}{Gj{AbGh}}}{{Gd{{Ad{{Gn{Hl}}}}}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hn}}}}}}{{{d{G`}}Ab}{{Gd{{Ib{{Gn{I`}}}}}}}}````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{IdCb}Id}{{IfCb}If}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}10101001101001100101100101010101101001011001100101011010011010101010100101010101100101100101011010101010011010101010011001010110{{{d{n}}}{{d{fc}}}{}}{{{d{b}}}{{d{fc}}}{}}10010101011010100110011010100101100101010110011001101010010110010101100110101010011001100110010101011010010110101001011010010110````{d{{d{Ej}}}}00000000000000{{{d{Ih}}}{{Ad{Ij}}}}{{{d{Il}}}{{Ad{Ij}}}}{IdFn}{IfFn}{IdCb}{IfCb}``{{{d{In}}}J`}````{d{{d{c}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{f}}}{{d{fc}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000````{{{d{Jb}}}Jb}{{{d{Jd}}}Jd}{{{d{Jf}}}Jf}{{{d{Jh}}}Jh}{{{d{Jj}}}Jj}{{{d{Jl}}}Jl}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kb}}}Kb}{{{d{Kd}}}Kd}{{{d{Kf}}}Kf}{{{d{Kh}}}Kh}{{{d{Kj}}}Kj}{{{d{Kl}}}Kl}{{{d{Kn}}}Kn}{{{d{L`}}}L`}{{{d{Lb}}}Lb}{{{d{Ld}}}Ld}{{{d{Lf}}}Lf}{{{d{Lh}}}Lh}{{{d{Lj}}}Lj}{{{d{Ll}}}Ll}{{{d{Ln}}}Ln}{{{d{M`}}}M`}{{{d{Mb}}}Mb}{{{d{Ih}}}Ih}{{{d{Md}}}Md}{{{d{Mf}}}Mf}{{{d{Mh}}}Mh}{{{d{Mj}}}Mj}{{{d{Ml}}}Ml}{{{d{Mn}}}Mn}{{{d{Id}}}Id}{{{d{N`}}}N`}{{{d{Nb}}}Nb}{{{d{Il}}}Il}{{{d{Nd}}}Nd}{{{d{Nf}}}Nf}{{{d{Ij}}}Ij}{{{d{Nh}}}Nh}{{{d{Nj}}}Nj}{{{d{Nl}}}Nl}{{{d{Nn}}}Nn}{{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{J`}}}J`}{{{d{In}}}In}{{{d{Od}}}Od}{{{d{Of}}}Of}{{{d{Oh}}}Oh}{{{d{Oj}}}Oj}{{{d{Ol}}}Ol}{{{d{On}}}On}{{{d{A@`}}}A@`}{{{d{A@b}}}A@b}{{{d{A@d}}}A@d}{{{d{A@f}}}A@f}{{{d{A@h}}}A@h}{{{d{A@j}}}A@j}{{{d{A@l}}}A@l}{{{d{{A@n{c}}}}}{{A@n{c}}}Bb}{{{d{AA`}}}AA`}{{{d{If}}}If}{{{d{AAb}}}AAb}{{{d{AAd}}}AAd}{{d{d{fc}}}Bd{}}00000000000000000000000000000000000000000000000000000000000000000{dBd}00000000000000000000000000000000000000000000000000000000000000000{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000000000000000000000000000000000000000000000000000000000000000000000000000000000```{{{d{fc}}}MlFb}{{{d{fc}}}MnFb}{{{d{fc}}}IdAAf}{{{d{fc}}}OhFb}{{{d{fc}}}AAdAAh}{Ml{{Ad{E`}}}}``{{}AAj}{Cb{{d{c}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{Cb{{d{fc}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{J`}}}{{d{Cj}}}}{CbBd}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Ml}}{d{fc}}}BdFd}{{{d{Mn}}{d{fc}}}BdFd}{{{d{Id}}{d{fc}}}BdAAl}{{{d{Oh}}{d{fc}}}BdFd}{{{d{AAd}}{d{fc}}}BdAAn}``{{{d{Jf}}{d{Jf}}}An}{{{d{Jh}}{d{Jh}}}An}{{{d{Mh}}{d{Mh}}}An}{{{d{Mj}}{d{Mj}}}An}{{{d{Ml}}{d{Ml}}}An}{{{d{Mn}}{d{Mn}}}An}{{{d{Id}}{d{Id}}}An}{{{d{O`}}{d{O`}}}An}{{{d{Ob}}{d{Ob}}}An}{{{d{J`}}{d{J`}}}An}{{{d{Of}}{d{Of}}}An}{{{d{Oh}}{d{Oh}}}An}{{{d{If}}{d{If}}}An}{{{d{AAd}}{d{AAd}}}An}{{d{d{Ej}}}An}00000000000000{{d{d{c}}}An{}}00000000000000000000000000000000000000000000000000000000000000000000000000{{{d{AB`}}}{{d{ABb}}}}{{{d{In}}}J`}{{{d{AB`}}}{{d{ABd}}}}{{{d{AB`}}}{{d{ABf}}}}{{{A@n{c}}}{{Gj{Ofc}}}{}}{{{d{AB`}}}{{d{L`}}}}{{{d{AB`}}}{{d{ABh}}}}{{{d{Nn}}}{{d{Ih}}}}{{{d{AB`}}}{{d{ABj}}}}```````{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{ABh}}Gh}{{Ad{{d{Kl}}}}}}{{{d{ABd}}Gh}{{Ad{{d{Kn}}}}}}{{}ABl}{{{d{ABn}}{d{fDb}}}Dd}{{{d{Jb}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{Jd}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{Jf}}{d{fDb}}}Dd}{{{d{Jh}}{d{fDb}}}Dd}{{{d{Jj}}{d{fDb}}}Dd}{{{d{Jl}}{d{fDb}}}Dd}{{{d{Jn}}{d{fDb}}}Dd}{{{d{ACb}}{d{fDb}}}Dd}{{{d{K`}}{d{fDb}}}Dd}{{{d{AB`}}{d{fDb}}}Dd}{{{d{ACd}}{d{fDb}}}Dd}{{{d{ACf}}{d{fDb}}}Dd}{{{d{ACh}}{d{fDb}}}Dd}{{{d{ACj}}{d{fDb}}}Dd}{{{d{ACl}}{d{fDb}}}Dd}{{{d{ACn}}{d{fDb}}}Dd}{{{d{Kb}}{d{fDb}}}Dd}{{{d{Kd}}{d{fDb}}}Dd}{{{d{Kf}}{d{fDb}}}Dd}{{{d{Kh}}{d{fDb}}}Dd}{{{d{Kj}}{d{fDb}}}Dd}{{{d{ABh}}{d{fDb}}}Dd}{{{d{Kl}}{d{fDb}}}Dd}{{{d{ABd}}{d{fDb}}}Dd}{{{d{Kn}}{d{fDb}}}Dd}{{{d{ABf}}{d{fDb}}}Dd}{{{d{ABj}}{d{fDb}}}Dd}{{{d{L`}}{d{fDb}}}Dd}{{{d{Lb}}{d{fDb}}}Dd}{{{d{Ld}}{d{fDb}}}Dd}{{{d{ABb}}{d{fDb}}}Dd}{{{d{Lf}}{d{fDb}}}Dd}{{{d{Lh}}{d{fDb}}}Dd}{{{d{Lj}}{d{fDb}}}Dd}{{{d{Ll}}{d{fDb}}}Dd}{{{d{Ln}}{d{fDb}}}Dd}{{{d{M`}}{d{fDb}}}Dd}{{{d{Mb}}{d{fDb}}}Dd}{{{d{Ih}}{d{fDb}}}Dd}{{{d{Mh}}{d{fDb}}}Dd}{{{d{Mj}}{d{fDb}}}Dd}{{{d{Ml}}{d{fDb}}}Dd}{{{d{Mn}}{d{fDb}}}Dd}{{{d{Id}}{d{fDb}}}Dd}{{{d{N`}}{d{fDb}}}Dd}{{{d{Il}}{d{fDb}}}Dd}{{{d{Nf}}{d{fDb}}}Dd}{{{d{Ij}}{d{fDb}}}Dd}{{{d{Nh}}{d{fDb}}}Dd}{{{d{Nj}}{d{fDb}}}Dd}{{{d{Nn}}{d{fDb}}}Dd}{{{d{O`}}{d{fDb}}}Dd}{{{d{Ob}}{d{fDb}}}Dd}{{{d{J`}}{d{fDb}}}Dd}{{{d{In}}{d{fDb}}}Dd}{{{d{Od}}{d{fDb}}}Dd}{{{d{Of}}{d{fDb}}}Dd}{{{d{Oh}}{d{fDb}}}Dd}{{{d{Ol}}{d{fDb}}}Dd}{{{d{On}}{d{fDb}}}Dd}{{{d{A@`}}{d{fDb}}}Dd}{{{d{A@b}}{d{fDb}}}Dd}{{{d{A@d}}{d{fDb}}}Dd}{{{d{A@f}}{d{fDb}}}Dd}{{{d{A@h}}{d{fDb}}}Dd}{{{d{A@l}}{d{fDb}}}Dd}{{{d{{A@n{c}}}}{d{fDb}}}DdDf}{{{d{AA`}}{d{fDb}}}Dd}{{{d{If}}{d{fDb}}}Dd}{{{d{AAb}}{d{fDb}}}Dd}{{{d{AD`}}{d{fDb}}}Dd}{{{d{AAd}}{d{fDb}}}Dd}{{{d{K`}}}{{Ad{{d{Ln}}}}}}{{{d{Oh}}{d{fc}}}OhADb}{{{Dh{c}}}c{}}{cc{}}0110{AnJf}212{AnJh}232232332323232233223322332233232232323232332323223323232233223233223322332232323{MlMj}3{E`Mj}554{DnMl}656{CbId}{FnId}778878{NfIl}8989889899889989889989889898998899{A@dOn}9:99:9:9::9:9:99::99:{CbIf}{FnIf};<<;;<{{c{d{Dj}}Dl}e{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{OfOh}{ADdId}{ADdIf}848495`{{{d{In}}}{{Ad{J`}}}}`{K`{{d{Jj}}}}```{{{d{Jj}}E`}{{d{Jl}}}}`{{{d{Mj}}{d{fc}}}BdFl}{{{d{Ml}}{d{fc}}}BdFl}{{{d{Mn}}{d{fc}}}BdFl}{{{d{Id}}{d{fc}}}BdFl}{{{d{Oh}}{d{fc}}}BdFl}{{{d{If}}{d{fc}}}BdFl}{{{d{AAd}}{d{fc}}}BdFl}`````{IdCb}0{IfCb}0{{}Cb}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{A@b}}}{{d{{h{On}}}}}}``{{}c{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{IhADf}{IjADf}2222222222222222222222222222222222222222222222222222222222222222222222222222222222``{{{d{AAb}}Ab}An}{{{d{J`}}ADh}An}{{{d{In}}ADh}An}{{{d{N`}}}{{Ad{If}}}}{{{d{Of}}}An}{{{d{L`}}}An}`````````````{{{d{Ij}}}{{d{Nh}}}}``````{{{A@n{c}}g}{{A@n{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}`{{{d{ACn}}}Gh}````````{{}AAj}{CbId}{J`In}{{Cb{d{{h{On}}}}}A@d}{CbIf}{{{ADj{GhOn}}{ADl{Ab}}}AAb}{{{d{A@b}}}{{d{On}}}}````{{{d{K`}}}{{A`{Dn}}}}``````````````````{Oh{{d{Cj}}}}`````{{c{d{ADn}}}{{Ad{e}}}{}{}}````````````````````{{{d{Nf}}}AE`}````````````````{{}{{d{{AEb{{h{Oh}}}}}}}}{JfAn}{JhAn}{{dc}Bl{}}{{dc}AEd{}}{dc{}}00000000000000000000000000000000000000000000000000000000000000000{{}{{Dh{c}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Kh}}}Ab}`{{}AAb}{{{d{Oh}}{d{fc}}}{{Dh{Oh}}}AEf}{c{{Dh{e}}}{}{}}000000000000000000000000000000000000000000000000000000000000{{{AEh{c}}}{{Dh{J`e}}}{}{}}1111111111111111111115555555555555555555555555555555555555555555555555555555555555555555555555555555555```{dEh}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{In}}}Cb}`{ce{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{ce}c{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000``{{{d{Oh}}{d{fc}}}AEjAEl}{{}c{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{JjAj{d{AAb}}}Jj}{{J`Cb}In}```````````````{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{AEn}}c}{{Dh{eDl}}}AF`{}}{{{d{AEn}}{d{Cj}}}{{Dh{cDl}}}{}}`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{{{Dh{c}}}c{}}{cc{}}{{c{d{Dj}}Dl}e{}{}}`{{}Cb}{{{d{fAEn}}E`AB`}Bd}{{}c{}}0{{{d{fAEn}}AFb}{{Dh{O`Dl}}}}{{{d{fAEn}}{d{{h{AFd}}}}}{{Dh{{d{{h{Nj}}}}Dl}}}}{{{d{fAEn}}AE`{d{AFf}}}{{Dh{ABnDl}}}}{{{d{fAEn}}{d{AFh}}}O`}{{{d{fAEn}}{d{AFj}}}{{Dh{LfDl}}}}{{{d{fAEn}}E`}{{Dh{LfDl}}}}{{{d{fAEn}}{d{AFl}}}{{Dh{LdDl}}}}{{{d{fAEn}}E`}{{Dh{LdDl}}}}{{{d{fAEn}}}{{Dh{LjDl}}}}{{{d{fAEn}}AE`{d{AFn}}}{{Dh{LjDl}}}}{{{d{fAEn}}}AG`}{{{d{fAEn}}{d{AGb}}}{{Dh{IhDl}}}}{{{d{fAEn}}{d{{h{AGd}}}}}{{Dh{{d{{h{Nn}}}}Dl}}}}{{{d{fAEn}}{d{AGf}}}{{Dh{KfDl}}}}{{{d{fAEn}}{d{AGh}}}{{Dh{JlDl}}}}{{{d{fAEn}}}{{Dh{JjDl}}}}{{{d{fAEn}}{d{AGj}}}{{Dh{JjDl}}}}{{{d{AEn}}{d{AGl}}}{{Dh{MhDl}}}}{{{d{fAEn}}AGn}{{Dh{MfDl}}}}{{{d{fAEn}}}{{Dh{AB`Dl}}}}{{{d{fAEn}}{d{AH`}}}{{Dh{IjDl}}}}{{{d{fAEn}}{d{AHb}}}{{Dh{NhDl}}}}{{{d{fAEn}}AHd}{{Dh{KhDl}}}}{{{d{fAEn}}AHf}{{Dh{NfDl}}}}{{{d{AEn}}}AAb}{{{d{fAEn}}{d{AHh}}}{{Dh{IhDl}}}}6{{{d{fAEn}}}Lh}{{{d{fAEn}}{d{AGj}}}Lh}{{{d{fAEn}}{d{AHj}}}{{Dh{KdDl}}}}{{{d{AEn}}}E`}`{{Aj{A`{Dn}}{d{{AHl{Id}}}}{Ad{{d{f{AHn{E`AB`}}}}}}}AEn}{{{d{AEn}}}Mn}``{{}{{Dh{c}}}{}}{c{{Dh{e}}}{}{}}1{dEh}{ce{}{}}{{ce}c{}{}}{{}c{}}{{{d{fAEn}}{A`{Dn}}{d{{AHl{Id}}}}}AEn}`{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}`{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{{{Dh{c}}}c{}}{cc{}}{{c{d{Dj}}Dl}e{}{}}{{}Cb}<{{AI`AIbAId}{{AIf{c}}}AIh}={{ADh{A`{Dn}}{d{Cj}}}AI`}``{{}{{Dh{c}}}{}}{c{{Dh{e}}}{}{}}1{dEh}{ce{}{}}{{ce}c{}{}}{{}c{}}`{{{d{fAIj}}{d{A@f}}}Bd}{{{d{fAIj}}{d{Nj}}}Bd}{{{d{fAIj}}{d{Il}}}Bd}{{{d{fAIj}}{d{Mb}}}Bd}{{{d{fAIj}}{d{ABb}}}Bd}{{{d{fAIj}}{d{A@h}}}Bd}{{{d{fAIj}}{d{Ld}}}Bd}{{{d{fAIj}}{d{Lj}}}Bd}{{{d{fAIj}}{d{M`}}}Bd}{{{d{fAIj}}{d{Ln}}}Bd}{{{d{fAIj}}{d{A@b}}}Bd}{{{d{fAIj}}{d{Nn}}}Bd}{{{d{fAIj}}{d{Kf}}}Bd}{{{d{fAIj}}{d{Jj}}}Bd}{{{d{fAIj}}{d{ABd}}}Bd}{{{d{fAIj}}{d{Kn}}}Bd}{{{d{fAIj}}{d{ACj}}}Bd}{{{d{fAIj}}{d{AB`}}}Bd}{{{d{fAIj}}{d{Mh}}}Bd}{{{d{fAIj}}{d{A@l}}}Bd}{{{d{fAIj}}{d{K`}}}Bd}{{{d{fAIj}}{d{ABf}}}Bd}{{{d{fAIj}}{d{Ij}}}Bd}{{{d{fAIj}}{d{AA`}}}Bd}{{{d{fAIj}}{d{Nh}}}Bd}{{{d{fAIj}}{d{A@d}}}Bd}{{{d{fAIj}}{d{Kh}}}Bd}{{{d{fAIj}}{d{Nf}}}Bd}{{{d{fAIj}}{d{N`}}}Bd}{{{d{fAIj}}{d{Od}}}Bd}{{{d{fAIj}}{d{Ll}}}Bd}{{{d{fAIj}}{d{On}}}Bd}{{{d{fAIj}}{d{A@`}}}Bd}{{{d{fAIj}}{d{L`}}}Bd}{{{d{fAIj}}{d{Kl}}}Bd}{{{d{fAIj}}{d{ACf}}}Bd}{{{d{fAIj}}{d{Ih}}}Bd}{{{d{fAIj}}{d{ABj}}}Bd}{{{d{fAIj}}{d{Lf}}}Bd}{{{d{fAIj}}{d{Lh}}}Bd}{{{d{fAIj}}{d{Kd}}}Bd}{{{d{fc}}{d{A@f}}}BdAIj}{{{d{fc}}{d{Nj}}}BdAIj}{{{d{fc}}{d{Il}}}BdAIj}{{{d{fc}}{d{Mb}}}BdAIj}{{{d{fc}}{d{ABb}}}BdAIj}{{{d{fc}}{d{A@h}}}BdAIj}{{{d{fc}}{d{Ld}}}BdAIj}{{{d{fc}}{d{Lj}}}BdAIj}{{{d{fc}}{d{M`}}}BdAIj}{{{d{fc}}{d{Ln}}}BdAIj}{{{d{fc}}{d{A@b}}}BdAIj}{{{d{fc}}{d{Nn}}}BdAIj}{{{d{fc}}{d{Kf}}}BdAIj}{{{d{fc}}{d{Jj}}}BdAIj}{{{d{fc}}{d{ABd}}}BdAIj}{{{d{fc}}{d{Kn}}}BdAIj}{{{d{fc}}{d{ACj}}}BdAIj}{{{d{fc}}{d{AB`}}}BdAIj}{{{d{fc}}{d{K`}}}BdAIj}{{{d{fc}}{d{ABf}}}BdAIj}{{{d{fc}}{d{Ij}}}BdAIj}{{{d{fc}}{d{Nh}}}BdAIj}{{{d{fc}}{d{A@d}}}BdAIj}{{{d{fc}}{d{Kh}}}BdAIj}{{{d{fc}}{d{Nf}}}BdAIj}{{{d{fc}}{d{N`}}}BdAIj}{{{d{fc}}{d{Od}}}BdAIj}{{{d{fc}}{d{Ll}}}BdAIj}{{{d{fc}}{d{On}}}BdAIj}{{{d{fc}}{d{A@`}}}BdAIj}{{{d{fc}}{d{L`}}}BdAIj}{{{d{fc}}{d{Kl}}}BdAIj}{{{d{fc}}{d{ACf}}}BdAIj}{{{d{fc}}{d{Ih}}}BdAIj}{{{d{fc}}{d{ABj}}}BdAIj}{{{d{fc}}{d{Lf}}}BdAIj}{{{d{fc}}{d{Lh}}}BdAIj}{{{d{fc}}{d{Kd}}}BdAIj}`````{{Ajc}{{B`{Gb}}}{{AIl{Ab}}}}{{Ajc}{{B`{Gf}}}{{AIl{Ab}}}}{{{d{Aj}}c}{{d{c}}}{}}{{Aj{d{{h{c}}}}}{{d{{h{c}}}}}AIn}{{Aje}{{d{{h{c}}}}}{}{{l{}{{j{c}}}}}}{{AjCbe}{{d{{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}010101{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}100110`{d{{d{Ej}}}}0{{AjAbGh}{{B`{{Gn{Gl}}}}}}{{Ajc}{{B`{H`}}}{{AIl{Ab}}}}{d{{d{c}}}{}}0000{{{d{f}}}{{d{fc}}}{}}0000{{AjE`}{{B`{{AJb{AJ`}}}}}}{{{d{Aj}}}Aj}{{{d{AJd}}}AJd}{{d{d{fc}}}Bd{}}000{dBd}000{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000{Aj{{d{Bn}}}}{{d{d{c}}}F`{}}0{Aj{{Ad{AJf}}}}{Aj{{d{AJh}}}}`{{{d{Aj}}Ab}Fn}{{{d{Aj}}c}AJj{{AIl{Ab}}}}{{AjAbGh}{{B`{{Ad{{Gn{Gl}}}}}}}}{Cb{{d{c}}}{}}0000{Cb{{d{fc}}}{}}0000{{AjE`}{{B`{K`}}}}{CbBd}0000{{{d{Aj}}c}DlAF`}{{ADh{d{AJl}}{AJn{AJh}}{d{AK`}}AKbe}c{}{{Bj{Aj}{{Bh{c}}}}}}{{d{d{Ej}}}An}0{{d{d{c}}}An{}}000000000{d{{Dh{Bd}}}}0{{AJdE`}{{B`{{d{AB`}}}}}}`{Aj{{d{AAj}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000{{}ABl}0{{AJdE`}{{B`{{d{{h{AKd}}}}}}}}{{Ajc}{{B`{{Gn{Hb}}}}}{{AIl{Ab}}}}{{{d{Gh}}{d{fc}}}GhADb}{cc{}}{{{Dh{c}}}c{}}10100101{{c{d{Dj}}Dl}e{}{}}0000{{AjGh}{{B`{AKf}}}}{{Ajc}{{B`{Hd}}}{{AIl{Ab}}}}`{{AJdGh}{{Ad{{d{ACn}}}}}}{{AJdE`}{{B`{{Ad{{d{Jj}}}}}}}}{{dAKh}An}0{{dAKj}An}0{{{d{Aj}}}AKl}{{AjE`}An}{{AjAb}{{B`{{Ad{{Gn{AKn}}}}}}}}{{}Cb}0000`{{}c{}}000000000{{{d{Aj}}J`}An}4{{{d{Aj}}Ab}An}{{ADhAn}An}0{{AjAb}{{B`{{Gn{{ALb{AL`}}}}}}}}{Aj{{`{{Bf{}{{j{Ab}}}}}}}}{Aj{{`{{Bf{}{{j{E`}}}}}}}}{{Ajc}{{B`{{ALf{ALd}}}}}{{Ef{Ab}}}}{{AjAb}ALh}{{AjE`}{{B`{{ALb{ALj}}}}}}{{Ajc}{{B`{ALl}}}{{Ef{Ab}}}}{{Ajc}{{B`{{ALf{Ch}}}}}{{Ef{Ab}}}}{{ADhAn{Ad{ALn}}}{{Ad{c}}}{}}0{AjAJd}{{AjE`}A`}{{AjE`}{{B`{{AJb{AM`}}}}}}`{{Aj{d{AAj}}}AJd}{{AJdE`}{{B`{K`}}}}{{Ajc}{{B`{{Gn{Hh}}}}}{{AIl{Ab}}}}{Aj{{B`{{d{{h{AMb}}}}}}}}{AJd{{`{{Bf{}{{j{{d{ACb}}}}}}}}}}{{AjE`}{{B`{{`{{Bf{}{{j{{d{AMb}}}}}}}}}}}}`{{c{d{ADn}}}{{Ad{e}}}{}{}}0{{Aj{d{Hd}}{d{Ch}}}{{B`{AMd}}}}0{{AJdE`}{{B`{{d{AAb}}}}}}{{Ajc}{{B`{Hj}}}{{AIl{Ab}}}}{Aj{{d{C`}}}}{{AjAb}Af}{Aj{{d{AJl}}}}`{{AjE`}An}{{Aj{d{A@f}}}{{B`{{Ad{Hl}}}}}}{{AjcGh}{{B`{{Ad{{Gn{Hl}}}}}}}{{AIl{Ab}}}}{{Aj{d{Il}}}{{B`{{Ad{AMf}}}}}}{{Aj{d{Nn}}}{{B`{{Ad{AMf}}}}}}{{AjAb}{{B`{{Ad{AMf}}}}}}{{Aj{d{Ij}}}{{B`{{Ad{AMf}}}}}}{{AjAbALn}{{B`{{Ad{AMf}}}}}}22{{Aj{d{Ih}}}{{B`{{Ad{AMf}}}}}}`{{{d{AJd}}Gh}{{Ad{{d{AD`}}}}}}{{{d{Aj}}}{{B`{{d{AMh}}}}}}{AJd{{`{{Bf{}{{j{{d{AD`}}}}}}}}}}{AjADh}`{{dc}Bl{}}0{{dc}AEd{}}0{dc{}}000{{}{{Dh{c}}}{}}0000{dBl}0{{AjE`e}{{Ad{c}}}{}{{AMj{E`}{{Bh{{Ad{c}}}}}}}}{{AjE`}An}{{{d{Gh}}{d{fc}}}{{Dh{Gh}}}AEf}{c{{Dh{e}}}{}{}}000055555{dEh}0000{{Ajc}{{B`{{Gn{Hn}}}}}{{AIl{Ab}}}}{ce{}{}}0000{{ce}c{}{}}0000{{AjAb}{{d{{h{AMl}}}}}}{{AjAbAMn}{{B`{{Ib{{Gn{AN`}}}}}}}}{{Ajc}{{B`{{Ib{{Gn{I`}}}}}}}{{AIl{Ab}}}}{{{d{Gh}}{d{fc}}}AEjAEl}{{}c{}}0000```````````````{{ANbCb}ANb}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}10{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}01{d{{d{Ej}}}}{ANbFn}{ANbCb}`{d{{d{c}}}{}}000000{{{d{f}}}{{d{fc}}}{}}000000{{{d{ANd}}}ANd}{{{d{ANb}}}ANb}{{d{d{fc}}}Bd{}}0{dBd}0{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000000``{ADhANf}{{}ANh}1`{Cb{{d{c}}}{}}000000{Cb{{d{fc}}}{}}000000{CbBd}000000`{{{d{ANb}}{d{ANb}}}An}{{d{d{Ej}}}An}{{d{d{c}}}An{}}0000{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000000{{{d{ANj}}{d{ANf}}{d{fDb}}}Dd}{{{d{{ANl{c}}}}{d{fDb}}}DdANj}{{{d{{ANn{e}}}}{d{ANf}}{d{fDb}}}DdANj{{Bf{}{{j{c}}}}}}{{{d{{ANn{e}}}}{d{fDb}}}DdDf{{Bf{}{{j{c}}}}}}{{{d{{AO`{c}}}}{d{ANf}}{d{fDb}}}DdANj}{{{d{ANb}}{d{fDb}}}Dd}{{{d{ANf}}AKjAOb{d{fDb}}}Dd}{{{d{ANf}}An{d{Cj}}{d{{h{AOd}}}}{d{Cj}}{d{fDb}}}Dd}`{cc{}}{{{Dh{c}}}c{}}101001011{FnANb}{CbANb}223{{c{d{Dj}}Dl}e{}{}}000000{{{d{AOf}}}{{Ad{AOh}}}}{{{d{AOf}}}{{Ad{ANd}}}}{ADdANb}554`{{ANfAn}ANf}`{{{d{ANb}}{d{fc}}}BdFl}1``1```{ANbCb}0{{}Cb}000000{{}c{}}0000000000000``{{ANfANd}ANf}``{{{d{ANh}}AKjAOj}{{Ad{ANb}}}}{{{d{fANf}}{d{AOf}}}Bd}`{{{d{ANf}}c}{{ANl{c}}}{}}{{{d{Cj}}e}{{ANn{c}}}{}{{l{}{{AOl{c}}}}}}{{{d{c}}An}{{AO`{c}}}{}}?``{{{d{fANh}}}Bd}{{{d{fDb}}{d{c}}{Ad{{d{Cj}}}}}DdANj}``{{{d{fANh}}{d{{h{AOd}}}}}Bd}``=````{dc{}}0{{}{{Dh{c}}}{}}000000{c{{Dh{e}}}{}{}}0000001111111{dEh}000000{ce{}{}}000000{{ce}c{}{}}000000`???????`{{{d{ANf}}{d{{h{AOd}}}}e}c{}{{Bj{}{{Bh{c}}}}}}```````````````{{{d{AOn}}AjAb}{{B`{Gb}}}}``{{{d{AOn}}AjAb}{{B`{Gf}}}}``{{{d{AOn}}AjAbGh}{{B`{{Gn{Gl}}}}}}``{{{d{AOn}}AjAb}{{B`{H`}}}}``{{B@`AE`}B@b}{d{{d{c}}}{}}000{{{d{f}}}{{d{fc}}}{}}000{{{Ad{Ab}}c}B@`B@d}{{{d{AOn}}AjE`}{{B`{{AJb{AJ`}}}}}}``{{{d{B@`}}}B@`}{{d{d{fc}}}Bd{}}{dBd}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000{{{d{AOn}}Aj}{{d{Bn}}}}``{{{d{fc}}}B@`Fb}{{}AKb}{{{d{AOn}}AjAbGh}{{B`{{Ad{{Gn{Gl}}}}}}}}```{Cb{{d{c}}}{}}000{Cb{{d{fc}}}{}}000{{{d{AOn}}AjE`}{{B`{K`}}}}``{{AjAbegi}c{}{{Bj{A`}{{Bh{c}}}}}{{Bj{Ab}{{Bh{{Ad{c}}}}}}}{{Bj{Ab}{{Bh{c}}}}}}{CbBd}000`{{{d{B@`}}{d{fc}}}BdFd}`{{{d{AOn}}Aj}{{d{AAj}}}}``{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000{{{d{B@`}}{d{fDb}}}Dd}{{{d{AOn}}AjAb}{{B`{{Gn{Hb}}}}}}``{cc{}}{{{Dh{c}}}c{}}01011{DlB@`}1{{c{d{Dj}}Dl}e{}{}}000{{{d{AOn}}AjGh}{{B`{AKf}}}}`{{{d{AOn}}AjAb}{{B`{Hd}}}}``{{}Cb}000{{}c{}}000{{B@bAIbAId}{{AIf{Dl}}}}{{B@`AIbAId}{{AIf{Dl}}}}2222{{{d{AOn}}AjAb}{{B`{{Gn{{ALb{AL`}}}}}}}}``{{{d{AOn}}AjAb}{{B`{{ALf{ALd}}}}}}`{{{d{AOn}}AjAb}ALh}`{{{d{AOn}}AjE`}{{B`{{ALb{ALj}}}}}}`{{{d{AOn}}AjAb}{{B`{ALl}}}}`{{{d{AOn}}AjAb}{{B`{{ALf{Ch}}}}}}`{{{d{AOn}}AjE`}{{B`{{AJb{AM`}}}}}}`{AKbAOn}{{{d{AOn}}AjAb}{{B`{{Gn{Hh}}}}}}```{{{d{AOn}}Aj}{{B`{{d{{h{AMb}}}}}}}}``{{{d{AOn}}AjAb}{{B`{Hj}}}}``{{{d{AOn}}Aj}{{d{C`}}}}``{{{d{{B@f{{AHn{ce}}}}}}cg}e{B@hB@j}Bb{{Bj{}{{Bh{e}}}}}}{{{d{AOn}}AjAbGh}{{B`{{Ad{{Gn{Hl}}}}}}}}````{{{d{AOn}}Aj}{{B`{{d{AMh}}}}}}`{dc{}}{{}{{Dh{c}}}{}}000{c{{Dh{e}}}{}{}}0001111{dEh}000{{{d{AOn}}AjAb}{{B`{{Gn{Hn}}}}}}``{{AbB@l}B@`}{ce{}{}}000{{ce}c{}{}}000{{{d{AOn}}AjAb}{{B`{{Ib{{Gn{I`}}}}}}}}``{{}c{}}000````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{B@nCb}B@n}{{BA`Cb}BA`}{{BAbCb}BAb}{{BAdCb}BAd}{{Gbc}BAf{{Ef{BAh}}}}`{{BAjBAl}AMd}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}010101100101010110100101101001011001100110101010011010011001{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}100110101010011001100110101010100110101001011001010110010110{{BAn{ALb{AMf}}}AMf}{{{d{BB`}}{d{BBb}}}BBb}```````{{AMdBBd}AMd}{d{{d{Ej}}}}000000000000000000000000000000000000000000000000000000000000000000{{{d{BBf}}}{{d{BAf}}}}{{{d{AMd}}}{{Ad{{d{BAf}}}}}}{{{d{{Ib{c}}}}}{{Ib{d}}}BBh}{{{d{{Ib{c}}}}}{{Ib{{d{c}}}}}{}}{B@nFn}{BA`Fn}{BAbFn}{BAdFn}{B@nCb}{BA`Cb}{BAbCb}{BAdCb}`{{{d{AJ`}}}{{BBj{AMf}}}}`{{{d{fAJ`}}}{{BBl{AMf}}}}`{AMdAMd}``{{}AMd}{d{{d{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{f}}}{{d{fc}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000`{{{d{BBn}}}{{Gj{{d{AMd}}{d{AMd}}}}}}{{{d{BAh}}}{{Gj{{d{AMd}}{d{AMd}}}}}}``4{{{d{{BC`{c}}}}}{{BC`{c}}}Bb}{{{d{BAj}}}BAj}{{{d{BBd}}}BBd}{{{d{BCb}}}BCb}{{{d{BCd}}}BCd}{{{d{BCf}}}BCf}{{{d{BCh}}}BCh}{{{d{Gf}}}Gf}{{{d{Hd}}}Hd}{{{d{Hj}}}Hj}{{{d{BCj}}}BCj}{{{d{BCl}}}BCl}{{{d{BCn}}}BCn}{{{d{Hh}}}Hh}{{{d{AL`}}}AL`}{{{d{BD`}}}BD`}{{{d{BDb}}}BDb}{{{d{AKn}}}AKn}{{{d{BDd}}}BDd}{{{d{BDf}}}BDf}{{{d{BDh}}}BDh}{{{d{BDj}}}BDj}{{{d{BDl}}}BDl}{{{d{BDn}}}BDn}{{{d{H`}}}H`}{{{d{BE`}}}BE`}{{{d{BAn}}}BAn}{{{d{B@n}}}B@n}{{{d{BA`}}}BA`}{{{d{BAb}}}BAb}{{{d{BEb}}}BEb}{{{d{BEd}}}BEd}{{{d{BAd}}}BAd}{{{d{AMf}}}AMf}{{{d{BEf}}}BEf}{{{d{Hl}}}Hl}{{{d{BEh}}}BEh}{{{d{BEj}}}BEj}{{{d{BEl}}}BEl}{{{d{Gb}}}Gb}{{{d{{Ib{c}}}}}{{Ib{c}}}Bb}{{{d{BB`}}}BB`}{{{d{BEn}}}BEn}{{{d{BF`}}}BF`}{{{d{BFb}}}BFb}{{{d{BFd}}}BFd}{{{d{AKf}}}AKf}{{{d{AMd}}}AMd}{{{d{BFf}}}BFf}{{{d{BFh}}}BFh}{{{d{BAf}}}BAf}{{{d{BAl}}}BAl}{{{d{BFj}}}BFj}{{{d{BFl}}}BFl}{{d{d{fc}}}Bd{}}0000000000000000000000000000000000000000000000000000000000000000000000{dBd}0000000000000000000000000000000000000000000000000000000000000000000000{{Abc{d{BFn}}}AMd{{Ef{{ALb{AMd}}}}}}{{{d{AJ`}}}{{BBj{{BGb{BG`}}}}}}`{{{d{fAJ`}}}{{BBl{{BGb{BG`}}}}}}{{{d{Hj}}Aje}{{B`{g}}}{}{{BGd{BCj}{{Bh{c}}}}}{{BGf{c}}}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{d{d{c}}}F`{}}00000000000000000000000{{{d{Hd}}Aj}{{B`{{BGb{{Gj{BGhAMf}}}}}}}}{{cAMd}AMd{{Ef{BBb}}}}`{{AbAMd{ALb{AMd}}}AMd}{{{d{Hd}}}Cb}{{{d{Hj}}}Cb}```{{{d{fc}}}GfAAh}{{{d{fc}}}BGjAAh}{{{d{fc}}}HdFb}{{{d{fc}}}HjAAh}{{{d{fc}}}BCjAAh}{{{d{fc}}}BClFb}{{{d{fc}}}BCnFb}{{{d{fc}}}HhAAh}{{{d{fc}}}AL`AAh}{{{d{fc}}}BD`AAh}{{{d{fc}}}BDbAAh}{{{d{fc}}}AKnAAh}{{{d{fc}}}BDdAAh}{{{d{fc}}}BDfAAh}{{{d{fc}}}BDhAAh}{{{d{fc}}}BDjAAh}{{{d{fc}}}BDlAAh}{{{d{fc}}}BDnAAh}{{{d{fc}}}H`Fb}{{{d{fc}}}BE`Fb}{{{d{fc}}}BAnAAh}{{{d{fc}}}B@nAAf}{{{d{fc}}}BA`AAf}{{{d{fc}}}BAbAAf}{{{d{fc}}}BEdFb}{{{d{fc}}}BAdAAf}{{{d{fc}}}AMfAAh}{{{d{fc}}}BEfAAh}{{{d{fc}}}HlAAh}{{{d{fc}}}BEhAAh}{{{d{fc}}}BEjAAh}{{{d{fc}}}BElAAh}{{{d{fc}}}GbAAh}{{{d{fc}}}BGlAAh}{{{d{fc}}}{{Ib{e}}}AAh{{BGn{c}}}}{{{d{fc}}}BB`AAh}{{{d{fc}}}BEnAAh}{{{d{fc}}}BF`AAh}{{{d{fc}}}BFbAAh}{{{d{fc}}}BFdAAh}{{{d{fc}}}AMdAAh}{{{d{fc}}}BFfAAh}{{{d{fc}}}BFhAAh}{{{d{fc}}}BAfAAh}{{{d{fc}}}BAlAAh}{{{d{fc}}}BFjAAh}{{{d{fc}}}BFlAAh}{{{d{BH`}}}Ab}{{{d{BHb}}}Ab}```````{{}Hd}{{}H`}{ADhANf}0`{Cb{{d{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{Cb{{d{fc}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Gf}}}Ab}{{{d{Gb}}}Ab}{{GbBHd}AMd}{{{d{Gb}}}{{`{{Bf{}{{j{{Gj{AMnFf}}}}}}}}}}{{GbBAhAMdAMn{ALb{AMd}}}AMd}{CbBd}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{cBCd}AMd{{Ef{{ALb{{BHf{BDd}}}}}}}}{{{d{Gf}}{d{fc}}}BdAAn}{{{d{BGj}}{d{fc}}}BdAAn}{{{d{Hd}}{d{fc}}}BdFd}{{{d{Hj}}{d{fc}}}BdAAn}{{{d{BCj}}{d{fc}}}BdAAn}{{{d{BCl}}{d{fc}}}BdFd}{{{d{BCn}}{d{fc}}}BdFd}{{{d{Hh}}{d{fc}}}BdAAn}{{{d{AL`}}{d{fc}}}BdAAn}{{{d{BD`}}{d{fc}}}BdAAn}{{{d{BDb}}{d{fc}}}BdAAn}{{{d{AKn}}{d{fc}}}BdAAn}{{{d{BDd}}{d{fc}}}BdAAn}{{{d{BDf}}{d{fc}}}BdAAn}{{{d{BDh}}{d{fc}}}BdAAn}{{{d{BDj}}{d{fc}}}BdAAn}{{{d{BDl}}{d{fc}}}BdAAn}{{{d{BDn}}{d{fc}}}BdAAn}{{{d{H`}}{d{fc}}}BdFd}{{{d{BE`}}{d{fc}}}BdFd}{{{d{BAn}}{d{fc}}}BdAAn}{{{d{B@n}}{d{fc}}}BdAAl}{{{d{BA`}}{d{fc}}}BdAAl}{{{d{BAb}}{d{fc}}}BdAAl}{{{d{BEd}}{d{fc}}}BdFd}{{{d{BAd}}{d{fc}}}BdAAl}{{{d{AMf}}{d{fc}}}BdAAn}{{{d{BEf}}{d{fc}}}BdAAn}{{{d{Hl}}{d{fc}}}BdAAn}{{{d{BEh}}{d{fc}}}BdAAn}{{{d{BEj}}{d{fc}}}BdAAn}{{{d{BEl}}{d{fc}}}BdAAn}{{{d{Gb}}{d{fc}}}BdAAn}{{{d{BGl}}{d{fc}}}BdAAn}{{{d{{Ib{e}}}}{d{fc}}}BdAAn{{BHh{c}}}}{{{d{BB`}}{d{fc}}}BdAAn}{{{d{BEn}}{d{fc}}}BdAAn}{{{d{BF`}}{d{fc}}}BdAAn}{{{d{BFb}}{d{fc}}}BdAAn}{{{d{BFd}}{d{fc}}}BdAAn}{{{d{AMd}}{d{fc}}}BdAAn}{{{d{BFf}}{d{fc}}}BdAAn}{{{d{BFh}}{d{fc}}}BdAAn}{{{d{BAf}}{d{fc}}}BdAAn}{{{d{BAl}}{d{fc}}}BdAAn}{{{d{BFj}}{d{fc}}}BdAAn}{{{d{BFl}}{d{fc}}}BdAAn}`{{{d{{BC`{c}}}}{d{{BC`{c}}}}}AnBHj}{{{d{BAj}}{d{BAj}}}An}{{{d{BBd}}{d{BBd}}}An}{{{d{BCb}}{d{BCb}}}An}{{{d{BCd}}{d{BCd}}}An}{{{d{BCf}}{d{BCf}}}An}{{{d{BCh}}{d{BCh}}}An}{{{d{Gf}}{d{Gf}}}An}{{{d{BGj}}{d{BGj}}}An}{{{d{BCj}}{d{BCj}}}An}{{{d{BCl}}{d{BCl}}}An}{{{d{BCn}}{d{BCn}}}An}{{{d{AL`}}{d{AL`}}}An}{{{d{BD`}}{d{BD`}}}An}{{{d{BDb}}{d{BDb}}}An}{{{d{AKn}}{d{AKn}}}An}{{{d{BDd}}{d{BDd}}}An}{{{d{BDf}}{d{BDf}}}An}{{{d{BDh}}{d{BDh}}}An}{{{d{BDj}}{d{BDj}}}An}{{{d{BDl}}{d{BDl}}}An}{{{d{BDn}}{d{BDn}}}An}{{{d{BE`}}{d{BE`}}}An}{{{d{BAn}}{d{BAn}}}An}{{{d{B@n}}{d{B@n}}}An}{{{d{BA`}}{d{BA`}}}An}{{{d{BAb}}{d{BAb}}}An}{{{d{BEb}}{d{BEb}}}An}{{{d{BEd}}{d{BEd}}}An}{{{d{BAd}}{d{BAd}}}An}{{{d{AMf}}{d{AMf}}}An}{{{d{BEf}}{d{BEf}}}An}{{{d{Hl}}{d{Hl}}}An}{{{d{BEh}}{d{BEh}}}An}{{{d{BEj}}{d{BEj}}}An}{{{d{BEl}}{d{BEl}}}An}{{{d{Gb}}{d{Gb}}}An}{{{d{BGl}}{d{BGl}}}An}{{{d{BB`}}{d{BB`}}}An}{{{d{BEn}}{d{BEn}}}An}{{{d{BF`}}{d{BF`}}}An}{{{d{BFb}}{d{BFb}}}An}{{{d{BFd}}{d{BFd}}}An}{{{d{AMd}}{d{AMd}}}An}{{{d{BFf}}{d{BFf}}}An}{{{d{BFh}}{d{BFh}}}An}{{{d{BAf}}{d{BAf}}}An}{{{d{BAl}}{d{BAl}}}An}{{{d{BFj}}{d{BFj}}}An}{{{d{BFl}}{d{BFl}}}An}{{d{d{Ej}}}An}000000000000000000000000000000000000000000000000000000000000000000{{d{d{c}}}An{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{d{{Dh{Bd}}}}000000000``{{{BHf{AMd}}}AMd}{{BAfBBb}AMd}{{{Ib{c}}{d{Cj}}}c{}}{{{d{AMd}}}{{Gj{{d{Gb}}{d{{h{BFl}}}}{d{BBb}}}}}}{{{d{BAf}}}{{Gj{{d{Gb}}{d{{h{BFl}}}}}}}}{{{d{BFl}}}{{d{BBf}}}}{{{d{AMd}}}{{Gj{{d{Gb}}{d{BHd}}}}}}{{{d{AMf}}}{{d{BEj}}}}{{{d{BEj}}}Hl}{{{d{AMd}}}{{d{{h{AMd}}}}}}{{{d{BFl}}}{{d{AMd}}}}``{{{d{Gf}}{d{{h{AMf}}}}Gh}{{Ad{{Gj{BHlAMf}}}}}}`{{{d{AJ`}}}{{BBj{BHl}}}}`{{{d{fAJ`}}}{{BBl{BHl}}}}{{{d{Gf}}{d{{h{AMf}}}}}{{ALb{AMf}}}}{{{d{Gf}}}Cb}{{{d{BEn}}}{{d{{h{AMd}}}}}}`{{Aj{d{f{BGb{BFl}}}}{d{Hd}}{d{fc}}}{{B`{Bd}}}{{BGd{{d{BCl}}{d{{h{BFl}}}}}{{Bh{BFl}}}}}}{{{d{Gf}}{d{{h{c}}}}}{{`{{Bf{}{{j{{d{c}}}}}}}}}{}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{H`}}Gh}{{Ad{{d{BE`}}}}}}{{}ABl}00000000000000{BHnAMd}{{{d{{ALb{AMd}}}}{d{ANf}}{d{fDb}}}Dd}{{{d{{BC`{c}}}}{d{fDb}}}{{Dh{BdAC`}}}Df}{{{d{BAj}}{d{ANf}}{d{fDb}}}Dd}{{{d{BAj}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{BBd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BBd}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{BCd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BCd}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{BCh}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{Hb}}{d{ANf}}{d{fDb}}}Dd}{{{d{Gf}}{d{fDb}}}Dd}{{{d{BGj}}{d{fDb}}}Dd}{{{d{Hd}}{d{fDb}}}Dd}{{{d{Hj}}{d{fDb}}}Dd}{{{d{BCj}}{d{fDb}}}Dd}{{{d{BCl}}{d{fDb}}}Dd}{{{d{BCn}}{d{fDb}}}Dd}{{{d{Hh}}{d{fDb}}}Dd}{{{d{AL`}}{d{fDb}}}Dd}{{{d{BD`}}{d{ANf}}{d{fDb}}}Dd}{{{d{BD`}}{d{fDb}}}Dd}{{{d{BDb}}{d{fDb}}}Dd}{{{d{AKn}}{d{fDb}}}Dd}{{{d{BDd}}{d{fDb}}}Dd}{{{d{BDd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BDf}}{d{ANf}}{d{fDb}}}Dd}{{{d{BDf}}{d{fDb}}}Dd}{{{d{BDh}}{d{fDb}}}Dd}{{{d{BDh}}{d{ANf}}{d{fDb}}}Dd}{{{d{BDj}}{d{fDb}}}Dd}{{{d{BDl}}{d{fDb}}}Dd}{{{d{BDn}}{d{fDb}}}Dd}{{{d{H`}}{d{fDb}}}Dd}{{{d{BE`}}{d{fDb}}}Dd}{{{d{BAn}}{d{ANf}}{d{fDb}}}Dd}{{{d{BAn}}{d{fDb}}}Dd}{{{d{B@n}}{d{fDb}}}Dd}{{{d{BA`}}{d{fDb}}}Dd}{{{d{BAb}}{d{fDb}}}Dd}{{{d{BEb}}{d{fDb}}}Dd}{{{d{BEd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BAd}}{d{fDb}}}Dd}{{{d{AMf}}{d{fDb}}}Dd}{{{d{AMf}}{d{ANf}}{d{fDb}}}Dd}{{{d{BEf}}{d{fDb}}}Dd}{{{d{BEf}}{d{ANf}}{d{fDb}}}Dd}{{{d{Hl}}{d{fDb}}}Dd}{{{d{Hl}}{d{ANf}}{d{fDb}}}Dd}{{{d{BEh}}{d{fDb}}}Dd}{{{d{BEj}}{d{ANf}}{d{fDb}}}Dd}{{{d{BEj}}{d{fDb}}}Dd}{{{d{BEl}}{d{ANf}}{d{fDb}}}Dd}{{{d{BEl}}{d{fDb}}}Dd}{{{d{Gb}}{d{fDb}}}Dd}{{{d{BGl}}{d{fDb}}}Dd}{{{d{{Ib{c}}}}{d{fDb}}}DdDf}{{{d{BB`}}{d{fDb}}}Dd}{{{d{BEn}}{d{ANf}}{d{fDb}}}Dd}{{{d{BEn}}{d{fDb}}}Dd}{{{d{BF`}}{d{fDb}}}Dd}{{{d{BF`}}{d{ANf}}{d{fDb}}}Dd}{{{d{BFb}}{d{ANf}}{d{fDb}}}Dd}{{{d{BFb}}{d{fDb}}}Dd}{{{d{BFd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BFd}}{d{fDb}}}Dd}{{{d{AMb}}{d{fDb}}}Dd}{{{d{AKf}}{d{fDb}}}Dd}{{{d{BI`}}{d{fDb}}}Dd}{{{d{AMd}}{d{fDb}}}Dd}{{{d{AMd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BFf}}{d{fDb}}}Dd}{{{d{BFh}}{d{ANf}}{d{fDb}}}Dd}{{{d{BFh}}{d{fDb}}}Dd}{{{d{BAf}}{d{fDb}}}Dd}{{{d{BAf}}{d{ANf}}{d{fDb}}}Dd}{{{d{AKj}}{d{ANf}}{d{fDb}}}Dd}{{{d{BAl}}{d{fDb}}}Dd}{{{d{BFj}}{d{fDb}}}Dd}{{{d{BFj}}{d{ANf}}{d{fDb}}}Dd}{{{d{BFl}}{d{fDb}}}Dd}{{{d{BFl}}{d{ANf}}{d{fDb}}}Dd}{{{d{BG`}}{d{fDb}}}Dd}{{{d{{BBj{c}}}}{d{fDb}}}DdDf}{{{d{BIb}}{d{ANf}}{d{fDb}}}Dd}{{Abc}BAf{{Ef{BAh}}}}{{{d{BDl}}}Hb}`{{{d{BEf}}{d{fc}}}BEfADb}{{{d{BId}}{d{fc}}}BIdADb}{{{d{BIb}}{d{fc}}}BIbADb}{{AjAbc}{{B`{BAh}}}{{BGd{{d{BCl}}{d{{h{BFl}}}}}{{Bh{BFl}}}}}}{cc{}}{{{Dh{c}}}c{}}1010100101101001100101101010011010101010{{{BHf{BD`}}}AL`}21212112122121212121212121121{CbB@n}{FnB@n}4{FnBA`}{CbBA`}6565{CbBAb}{FnBAb}788778{CbBAd}{FnBAd}9:9:9:9:9::9:9:99::9:9:99::99:9::9:99:9::9:9:9:9:9:99:9:9:9:9:9:9::9:99:9::9:9{{c{d{Dj}}Dl}e{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000631{{{d{BCl}}}BFl}{{{d{Cj}}}{{Ad{BAf}}}}{ADdB@n}{ADdBA`}{ADdBAb}{ADdBAd}=<97=<97{{ADhCb}BBd}?<;9`{{{d{{BBj{c}}}}Mn}{{Ad{{d{c}}}}}{}}``{{dAKh}An}000000000{{dAKj}An}000000000{{{d{{BC`{c}}}}{d{fe}}}BdB@hFl}{{{d{BAj}}{d{fc}}}BdFl}{{{d{BBd}}{d{fc}}}BdFl}{{{d{BCb}}{d{fc}}}BdFl}{{{d{BCd}}{d{fc}}}BdFl}{{{d{BCf}}{d{fc}}}BdFl}{{{d{BCh}}{d{fc}}}BdFl}{{{d{Gf}}{d{fc}}}BdFl}{{{d{BGj}}{d{fc}}}BdFl}{{{d{BCj}}{d{fc}}}BdFl}{{{d{BCl}}{d{fc}}}BdFl}{{{d{BCn}}{d{fc}}}BdFl}{{{d{AL`}}{d{fc}}}BdFl}{{{d{BD`}}{d{fc}}}BdFl}{{{d{BDb}}{d{fc}}}BdFl}{{{d{AKn}}{d{fc}}}BdFl}{{{d{BDd}}{d{fc}}}BdFl}{{{d{BDf}}{d{fc}}}BdFl}{{{d{BDh}}{d{fc}}}BdFl}{{{d{BDj}}{d{fc}}}BdFl}{{{d{BDl}}{d{fc}}}BdFl}{{{d{BDn}}{d{fc}}}BdFl}{{{d{BE`}}{d{fc}}}BdFl}{{{d{BAn}}{d{fc}}}BdFl}{{{d{B@n}}{d{fc}}}BdFl}{{{d{BA`}}{d{fc}}}BdFl}{{{d{BAb}}{d{fc}}}BdFl}{{{d{BEd}}{d{fc}}}BdFl}{{{d{BAd}}{d{fc}}}BdFl}{{{d{AMf}}{d{fc}}}BdFl}{{{d{BEf}}{d{fc}}}BdFl}{{{d{Hl}}{d{fc}}}BdFl}{{{d{BEh}}{d{fc}}}BdFl}{{{d{BEj}}{d{fc}}}BdFl}{{{d{BEl}}{d{fc}}}BdFl}{{{d{Gb}}{d{fc}}}BdFl}{{{d{BGl}}{d{fc}}}BdFl}{{{d{BB`}}{d{fc}}}BdFl}{{{d{BEn}}{d{fc}}}BdFl}{{{d{BF`}}{d{fc}}}BdFl}{{{d{BFb}}{d{fc}}}BdFl}{{{d{BFd}}{d{fc}}}BdFl}{{{d{AMd}}{d{fc}}}BdFl}{{{d{BFf}}{d{fc}}}BdFl}{{{d{BFh}}{d{fc}}}BdFl}{{{d{BAf}}{d{fc}}}BdFl}{{{d{BAl}}{d{fc}}}BdFl}{{{d{BFj}}{d{fc}}}BdFl}{{{d{BFl}}{d{fc}}}BdFl}{{{d{Gf}}}{{ALb{AMf}}}}{{Ajc}{{B`{BAh}}}{{Ef{Ab}}}}``{B@nCb}0{BA`Cb}{{{d{BA`}}}Fn}1{BAbCb}0{{{d{BAb}}}Fn}{BAdCb}0{{{d{BAd}}}Fn}`````{{BAfc}AMd{{Ef{BBb}}}}{BIfAMd}{{}Cb}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Hl}}}{{d{{h{AMf}}}}}}{{{d{BF`}}}{{d{{h{AMd}}}}}}``{{{d{f{BBl{c}}}}Mnc}Bd{}}{{{d{BEj}}{d{{h{BEl}}}}}Hl}{{{d{BEj}}}Hl}{BIhAMd}{{BIhAn}{{d{{h{BB`}}}}}}{BFfAMd}{{}c{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{AMfADf}{HlADf}22222222222222222222222222222222222222222222222222222222222222222222222222222222{{{d{Gb}}}{{d{{h{BB`}}}}}}{{{d{BAf}}An}{{d{{h{BB`}}}}}}`{{{d{BAf}}}An}{{{d{AMd}}}An}1{{{d{AMf}}}An}12{{{d{Gb}}}An}23032311301323023{{ADhAn}An}00000000032{{{d{AMf}}}{{Ad{Ab}}}}5`{{{d{AL`}}}{{BHf{BD`}}}}{{{d{AMd}}}{{d{BFf}}}}````````{{{d{AL`}}}BD`}``{{ADhAn{Ad{ALn}}}{{Ad{c}}}{}}000000000{{{Ib{c}}g}{{Ib{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}{{AjAMdAMd}{{B`{AMd}}}}{{AjAMd}{{B`{AMd}}}}{{BCdAMdBIj}AMd}{AMdAMd}````````````{{}AMd}{cAJ`{{Ef{Ml}}}}{{Ab{BGb{BIl}}{BGb{{Gj{GhAMf}}}}}Gf}{{cBD`}AL`{{Ef{{ALb{AOd}}}}}}{CbB@n}{CbBA`}{CbBAb}{CbBAd}{{{BGb{AMf}}AMf}Hl}{{{ALb{BEh}}Hl}BEj}{{BInGf{BGb{BB`}}An}Gb}{{{BHf{BBb}}}BB`}{{GbBAh{ALb{AMd}}BBb}BEn}{{BJ`BJb{ALb{BBb}}{ALb{AMd}}{BHf{BFb}}}BF`}{{AMdc}BFb{{Ef{{ALb{BFd}}}}}}{{AbBAhBJd}BAl}{{BAfce}BFj{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{AJ`}}}{{BBj{AMf}}}}`{{{d{fAJ`}}}{{BBl{AMf}}}}```{{{Ib{c}}g}{{Dh{ce}}}{}{}{{Bj{}{{Bh{e}}}}}}{{cBAhBJd}AMd{{Ef{Ab}}}}`{{{d{Hl}}}{{d{AMf}}}}{{{d{BF`}}}{{d{{BHf{BFb}}}}}}````{{{d{Hd}}}Cb}````{BIlAMd}{{{d{Hd}}CbAj}{{B`{BCl}}}}{{{d{Hj}}CbAj}{{B`{BCj}}}}{{{d{BEj}}}{{`{{BJf{}{{j{BEh}}}}}}}}````````````{{{d{BAf}}}{{Ad{Gh}}}}````````````{BAlAMd}```{{{d{Gf}}}{{`{{Bf{}{{j{BHl}}}}}}}}{{ce}AMd{{Ef{BFh}}}{{Ef{BJh}}}}{{{d{AJ`}}}{{BBj{Ab}}}}`{{{d{fAJ`}}}{{BBl{Ab}}}}{{c{d{ADn}}}{{Ad{e}}}{}{}}00000000000000``{{{d{BF`}}}{{d{{h{BBb}}}}}}``{{{d{BEn}}}AMd}`````{{{d{BAl}}}{{d{AMd}}}}`{{{d{AMd}}}BJj}`{{{d{BEj}}}Hl}{An{{d{{h{BB`}}}}}}{{{d{Gf}}{d{{h{BFl}}}}}AMf}{{{d{Gb}}{d{{h{BFl}}}}}AMf}{{{d{BAf}}}AMf}``{{{d{Gb}}}{{d{Gf}}}}```{{{d{BDd}}ADh{d{BDd}}}F`}{{}{{d{{AEb{{h{AN`}}}}}}}}{{}{{d{{AEb{BGj}}}}}}{{}{{d{{AEb{{h{BCj}}}}}}}}{{}{{d{{AEb{{h{BCl}}}}}}}}{{}{{d{{AEb{{h{AL`}}}}}}}}{{}{{d{{AEb{{h{AKn}}}}}}}}{{}{{d{{AEb{{h{BE`}}}}}}}}{{}{{d{{AEb{{h{AMf}}}}}}}}{{}{{d{{AEb{{h{BEh}}}}}}}}{{}{{d{{AEb{BGl}}}}}}{{}{{d{{AEb{{h{BB`}}}}}}}}{{}{{d{{AEb{{h{BFd}}}}}}}}{{}{{d{{AEb{{h{AMd}}}}}}}}{{}{{d{{AEb{BFf}}}}}}{{}{{d{{AEb{{h{BFl}}}}}}}}{{}AMd}{{{d{BFj}}c}BFj{{Ef{BBb}}}}{{BCdBJhAMd}AMd}`{{{d{AMf}}{d{fc}}}AEjAEl}{{{d{AMd}}{d{fc}}}AEjAEl}{{{d{BAf}}{d{fc}}}AEjAEl}{{}{{d{Cj}}}}00``{{dc}Bl{}}00000000000000{{dc}AEd{}}00000000000000{dc{}}0000000000000000000000000000000000000000000000000000000000000000000000{{{d{Hl}}}BEj}{{{d{BDl}}Ab{ALb{AMd}}{d{BFn}}}Hb}{{{d{BDn}}}Hb}{{}{{Dh{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{BBn}}ADh}BJl}{{{d{BAj}}ADh}}{{{d{BBd}}ADh}}{{{d{BCd}}ADh}}{{{d{BCh}}ADh}}{{{d{BAh}}ADh}BJl}{{{d{AKn}}ADh}c{}}{{{d{BDd}}ADh}c{}}{{{d{BF`}}ADh}c{}}{{{d{BFb}}ADh}c{}}{{{d{AMd}}ADh}c{}}{{{d{BAf}}ADh}c{}}{{{d{BAl}}ADh}c{}}{{{d{BFj}}ADh}ALn}{{{d{BFl}}ADh}c{}}{BEbAMf}{dBl}000{{{d{Hn}}}AMd}{{{d{BBf}}}AMd}{{{d{BAf}}}AMd}{{{d{BFj}}}AMd}`{{}BBf}{{}AMd}`{{{Ib{{Dh{ce}}}}}{{Dh{{Ib{c}}e}}}{}{}}{{BAfc}BFj{{Ef{BBb}}}}{{{d{{ALb{c}}}}{d{fe}}}{{Dh{{ALb{c}}}}}BJnAEf}{{{d{{BC`{c}}}}{d{fe}}}{{Dh{{BC`{c}}}}}BJnAEf}{{{d{BBd}}{d{fc}}}{{Dh{BBd}}}AEf}{{{d{BCd}}{d{fc}}}{{Dh{BCd}}}AEf}{{{d{AL`}}{d{fc}}}{{Dh{AL`}}}AEf}{{{d{BD`}}{d{fc}}}{{Dh{BD`}}}AEf}{{{d{BDb}}{d{fc}}}{{Dh{BDb}}}AEf}{{{d{AKn}}{d{fc}}}{{Dh{AKn}}}AEf}{{{d{BDd}}{d{fc}}}{{Dh{BDd}}}AEf}{{{d{BDf}}{d{fc}}}{{Dh{BDf}}}AEf}{{{d{BDh}}{d{fc}}}{{Dh{BDh}}}AEf}{{{d{BDj}}{d{fc}}}{{Dh{BDj}}}AEf}{{{d{BDl}}{d{fc}}}{{Dh{BDl}}}AEf}{{{d{BDn}}{d{fc}}}{{Dh{BDn}}}AEf}{{{d{AMf}}{d{fc}}}{{Dh{AMf}}}AEf}{{{d{BEf}}{d{fc}}}{{Dh{BEf}}}AEf}{{{d{Hl}}{d{fc}}}{{Dh{Hl}}}AEf}{{{d{BEj}}{d{fc}}}{{Dh{BEj}}}AEf}{{{d{BEl}}{d{fc}}}{{Dh{BEl}}}AEf}{{{d{{Ib{c}}}}{d{fe}}}{{Dh{{Ib{c}}}}}BJnAEf}{{{d{BB`}}{d{fc}}}{{Dh{BB`}}}AEf}{{{d{BEn}}{d{fc}}}{{Dh{BEn}}}AEf}{{{d{BF`}}{d{fc}}}{{Dh{BF`}}}AEf}{{{d{BFb}}{d{fc}}}{{Dh{BFb}}}AEf}{{{d{BFd}}{d{fc}}}{{Dh{BFd}}}AEf}{{{d{AMb}}{d{fc}}}{{Dh{AMb}}}AEf}{{{d{AMd}}{d{fc}}}{{Dh{AMd}}}AEf}{{{d{BAf}}{d{fc}}}{{Dh{BAf}}}AEf}{{{d{BAl}}{d{fc}}}{{Dh{BAl}}}AEf}{{{d{BFj}}{d{fc}}}{{Dh{BFj}}}AEf}{{{d{BFl}}{d{fc}}}{{Dh{BFl}}}AEf}{{{d{BId}}{d{fc}}}{{Dh{BId}}}AEf}{{{d{BIb}}{d{fc}}}{{Dh{BIb}}}AEf}{c{{Dh{e}}}{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{}{{Dh{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{BBd}}{d{fc}}}{{Dh{BBd}}}AEf}{{{d{AMf}}{d{fc}}}{{Dh{AMf}}}AEf}:97{cAMf{{Ef{{ALb{AMf}}}}}}{cAMd{{Ef{{ALb{AMd}}}}}}`{dEh}0000000000000000000000000000000000000000000000000000000000000000000000000000000{BK`AMd}{{BK`An}{{d{{h{BB`}}}}}}{{{d{AMd}}}AMd}{{{d{AMd}}}{{Gj{AMdBBb}}}}{{{d{c}}{d{c}}}{{Dh{c}}}{}}00{{}AMd}{{}AMf}1{{{d{BAf}}}{{Ad{{Gj{{d{AMd}}{d{AMd}}}}}}}}{ce{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{ce}c{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000````````````{{{d{Gb}}AMn}{{d{BKb}}}}{{{d{Gb}}}{{d{{BKd{AMnBKb}}}}}}`````````{{{d{{ALb{c}}}}{d{fe}}}AEjBKfAEl}{{{d{{BC`{c}}}}{d{fe}}}AEjBKfAEl}{{{d{BBd}}{d{fc}}}AEjAEl}{{{d{BCd}}{d{fc}}}AEjAEl}{{{d{AL`}}{d{fc}}}AEjAEl}{{{d{BD`}}{d{fc}}}AEjAEl}{{{d{BDb}}{d{fc}}}AEjAEl}{{{d{AKn}}{d{fc}}}AEjAEl}{{{d{BDd}}{d{fc}}}AEjAEl}{{{d{BDf}}{d{fc}}}AEjAEl}{{{d{BDh}}{d{fc}}}AEjAEl}{{{d{BDj}}{d{fc}}}AEjAEl}{{{d{BDl}}{d{fc}}}AEjAEl}{{{d{BDn}}{d{fc}}}AEjAEl}{{{d{AMf}}{d{fc}}}AEjAEl}{{{d{BEf}}{d{fc}}}AEjAEl}{{{d{Hl}}{d{fc}}}AEjAEl}{{{d{BEj}}{d{fc}}}AEjAEl}{{{d{BEl}}{d{fc}}}AEjAEl}{{{d{{Ib{c}}}}{d{fe}}}AEjBKfAEl}{{{d{BB`}}{d{fc}}}AEjAEl}{{{d{BEn}}{d{fc}}}AEjAEl}{{{d{BF`}}{d{fc}}}AEjAEl}{{{d{BFb}}{d{fc}}}AEjAEl}{{{d{BFd}}{d{fc}}}AEjAEl}{{{d{AMb}}{d{fc}}}AEjAEl}{{{d{AMd}}{d{fc}}}AEjAEl}{{{d{BAf}}{d{fc}}}AEjAEl}{{{d{BAl}}{d{fc}}}AEjAEl}{{{d{BFj}}{d{fc}}}AEjAEl}{{{d{BFl}}{d{fc}}}AEjAEl}{{{d{BId}}{d{fc}}}AEjAEl}{{{d{BIb}}{d{fc}}}AEjAEl}{{}c{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{AMf}}c}Bd{{BGd{{d{AMf}}{d{{h{BHl}}}}}}}}`````````````````{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}}{{d{fc}}}{}}{{{d{b}}}{{d{fc}}}{}}{d{{d{Ej}}}}00{{{d{{BHf{BFj}}}}}{{d{BAf}}}}{{{d{{Gn{c}}}}}{{Gn{d}}}BBh}{{{d{{Gn{c}}}}}{{Gn{{d{c}}}}}{}}{{{d{{BHf{c}}}}}{{BHf{{d{c}}}}}{}}{{cAMf}{{BHf{c}}}{}}{{c{d{{h{AMf}}}}}{{BHf{c}}}{}}{{cBKh}{{BHf{c}}}{}}{d{{d{c}}}{}}000{{{d{f}}}{{d{fc}}}{}}000{{{d{{Gn{c}}}}}{{Gn{c}}}Bb}{{{d{{BHf{c}}}}}{{BHf{c}}}Bb}{{{d{AOd}}}AOd}{{{d{BKj}}}BKj}{{d{d{fc}}}Bd{}}000{dBd}000{{{d{BKj}}{d{BKj}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000{{d{d{c}}}F`{}}0{{{d{fc}}}{{Gn{e}}}AAh{{BGn{c}}}}{{{d{fc}}}{{BHf{e}}}AAh{{BGn{c}}}}{{{d{fc}}}AOdAAh}{{{d{fc}}}BKjFb}{{{d{{BHf{AKn}}}}}Ab}{{{d{{BHf{BDf}}}}}Ab}{Cb{{d{c}}}{}}000{Cb{{d{fc}}}{}}000{CbBd}000{c{{BHf{c}}}{}}{{{d{{Gn{e}}}}{d{fc}}}BdAAn{{BHh{c}}}}{{{d{{BHf{e}}}}{d{fc}}}BdAAn{{BHh{c}}}}{{{d{AOd}}{d{fc}}}BdAAn}{{{d{BKj}}{d{fc}}}BdFd}{{{d{{BHf{c}}}}{d{{BHf{c}}}}}AnBHj}{{{d{AOd}}{d{AOd}}}An}{{{d{BKj}}{d{BKj}}}An}{{d{d{Ej}}}An}00{{d{d{c}}}An{}}00000000000000{{{d{AOd}}}{{Gj{{d{AMf}}OhBKj}}}}{{{d{AOd}}}{{d{AMf}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000{{{d{{Gn{c}}}}{d{fDb}}}DdDf}{{{d{{BHf{c}}}}{d{ANf}}{d{fDb}}}DdANj}{{{d{{BHf{BFb}}}}{d{ANf}}{d{fDb}}}Dd}{{{d{{BHf{c}}}}{d{fDb}}}DdANj}{{{d{AOd}}{d{fDb}}}Dd}{{{d{BKj}}{d{fDb}}}Dd}{{{d{BKj}}{d{fc}}}BKjADb}{cc{}}{{{Dh{c}}}c{}}10{AMfAOd}1212{{c{d{Dj}}Dl}e{}{}}000{{{d{{BHf{c}}}}{d{fe}}}BdB@hFl}{{{d{AOd}}{d{fc}}}BdFl}{{{d{BKj}}{d{fc}}}BdFl}{{}Cb}000{{{Gn{c}}ADh{d{{h{BFl}}}}{d{{h{BBb}}}}}cBJn}{{{Gn{Hl}}e}{{Dh{Hlc}}}{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}{{{Gn{c}}}c{}}{{}c{}}0000000{{{d{AOd}}}An}{{{d{{BHf{BBb}}}}}An}{{{Gn{c}}g}{{Gn{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}{{{BHf{c}}g}{{BHf{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}{{{d{BKj}}{d{BKj}}}{{Ad{F`}}}}{{{d{{Gn{Hh}}}}}{{Gn{{ALb{AL`}}}}}}{{{BHf{c}}e}{{BHf{e}}}{}{}}{{{d{{BHf{c}}}}{d{BBb}}}cBJn}{{{d{{BHf{c}}}}{d{{h{BBb}}}}}cBJn}{{{d{{BHf{c}}}}e}cBJn{{BGd{{d{AMf}}OhBKj}{{Bh{BBb}}}}}}{{{d{{BHf{c}}}}eg}cBJn{{BGd{BCh}{{Bh{BCd}}}}}{{BGd{{d{AMf}}Oh}{{Bh{BBb}}}}}}<{{{BHf{c}}}c{}}{{{d{{BHf{c}}}}}{{d{c}}}{}}{{{d{{BHf{c}}}}}AMf{}}{{}{{d{{AEb{{h{{BHf{BDd}}}}}}}}}}{{}{{d{{AEb{{h{AOd}}}}}}}}{{{d{{BHf{c}}}}{d{fe}}}AEjBKfAEl}{dc{}}000{{{d{{Gn{AN`}}}}}{{Gn{Hb}}}}{{}{{Dh{c}}}{}}000{{{d{{BHf{c}}}}ADh}e{{BL`{}{{BKl{{BKn{ADh}}}}}}}{}}{{{d{{h{AOd}}}}ADh}{{d{{BLd{BLb}}}}}}{{{d{{BHf{BFj}}}}}AMd}{{{d{{BHf{AMd}}}}}AMd}{{}{{BHf{BFj}}}}{{{d{{BHf{c}}}}{d{fe}}}{{Dh{{BHf{c}}}}}BJnAEf}{{{d{AOd}}{d{fc}}}{{Dh{AOd}}}AEf}{{{d{BKj}}{d{fc}}}{{Dh{BKj}}}AEf}{c{{Dh{e}}}{}{}}0009999{{{Gn{c}}i}{{Dh{{Gn{e}}g}}}{}{}{}{{Bj{c}{{Bh{{Dh{eg}}}}}}}}{{{BHf{c}}i}{{Dh{{BHf{e}}g}}}{}{}{}{{Bj{c}{{Bh{{Dh{eg}}}}}}}}5{dEh}000{ce{}{}}000{{ce}c{}{}}000`{{{d{{BHf{c}}}}}{{d{{ALb{AOd}}}}}{}}`{{{d{{BHf{c}}}}{d{fe}}}AEjBKfAEl}{{{d{AOd}}{d{fc}}}AEjAEl}{{{d{BKj}}{d{fc}}}AEjAEl}{{}c{}}000```````{{BLfe}{{BHf{c}}}{}{{Bj{{ALb{AOd}}{BGb{BBb}}}{{Bh{c}}}}}}{d{{d{c}}}{}}000{{{d{f}}}{{d{fc}}}{}}000{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000{{}BLf}`{Cb{{d{c}}}{}}000{Cb{{d{fc}}}{}}000{CbBd}000`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000{{{d{BLh}}{d{fDb}}}Dd}{{{d{BLh}}{d{ANf}}{d{fDb}}}Dd}{{{d{BJj}}{d{fDb}}}Dd}{{{d{BJj}}{d{ANf}}{d{fDb}}}Dd}{{{d{f{BLj{c}}}}{d{BAf}}}BAfBLl}{{{d{f{BLj{c}}}}{d{AMd}}}AMdBLl}{cc{}}{{{Dh{c}}}c{}}010101{{c{d{Dj}}Dl}e{}{}}0003{{{d{fBLl}}BBb}Bd}{{{d{f{d{fBLf}}}}BBb}Bd}{{{BLj{c}}An}{{BLj{c}}}{}}{{{d{fBLl}}{d{Hn}}}AMd}{{{d{f{d{fBLf}}}}{d{Hn}}}AMd}22222`````{{}Cb}000{{}c{}}0000000{{{d{BLh}}}BBb}```{{{BLj{c}}}{{BLj{c}}}{}}{{}{{Dh{c}}}{}}000{{{d{BJj}}}{{Ad{BBf}}}}2{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}{{{d{f}}{d{BAf}}}{{Dh{BAf}}}}{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}{{{d{f}}{d{AMf}}}{{Dh{AMf}}}}{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}{c{{Dh{e}}}{}{}}000::::{{{d{BLh}}}AMd}`{dEh}000{ce{}{}}000{{ce}c{}{}}000`{{}c{}}000{c{{BLj{c}}}{}}``````````````{{BLnCb}BLn}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}0110{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}0110{d{{d{Ej}}}}00{BLnFn}{BLnCb}{{BLnCb}{{Ad{BLn}}}}{d{{d{c}}}{}}0000000{{{d{f}}}{{d{fc}}}{}}0000000{{{d{BM`}}}BM`}{{{d{BLn}}}BLn}{{{d{BMb}}}BMb}{{d{d{fc}}}Bd{}}00{dBd}00{{{d{BM`}}{d{BM`}}}F`}{{{d{BLn}}{d{BLn}}}F`}{{{d{BMb}}{d{BMb}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000000{{d{d{c}}}F`{}}00000{{{d{{BMd{c}}}}}{{d{c}}}{}}{{{d{BM`}}}BMb}`{{{d{{BMd{c}}}}BMb}{{d{c}}}{}}`{{{d{fc}}}BM`Fb}{{{d{fc}}}BLnAAf}{{{d{fc}}}BMbFb}{{}{{BMd{c}}}{}}{Cb{{d{c}}}{}}0000000{Cb{{d{fc}}}{}}0000000{CbBd}0000000{{{d{BM`}}{d{fc}}}BdFd}{{{d{BLn}}{d{fc}}}BdAAl}{{{d{BMb}}{d{fc}}}BdFd}{{{d{f{BMd{c}}}}c}BMb{}}{{{d{BM`}}{d{BM`}}}An}{{{d{BLn}}{d{BLn}}}An}{{{d{BMb}}{d{BMb}}}An}{{d{d{Ej}}}An}00{{d{d{c}}}An{}}00000000000000``{{{d{f{BMd{c}}}}}BMb{}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000000{{{d{fBMf}}}Bd}{{{d{BMf}}{d{fDb}}}Dd}{{{d{{BMd{c}}}}{d{fDb}}}DdDf}{{{d{{BMh{c}}}}{d{fDb}}}DdDf}{{{d{BM`}}{d{fDb}}}Dd}{{{d{BM`}}{d{ANf}}{d{fDb}}}Dd}{{{d{BMj}}{d{fDb}}}Dd}{{{d{BMl}}{d{fDb}}}Dd}{{{d{BLn}}{d{fDb}}}Dd}{{{d{BMb}}{d{fDb}}}Dd}{{BLnCb}{{Ad{BLn}}}}{{{d{f{BMd{c}}}}BMb}BM`{}}{{{d{f{BMd{c}}}}}BM`{}}{{{Dh{c}}}c{}}{cc{}}10010101011{CbBLn}{FnBLn}223{{c{d{Dj}}Dl}e{}{}}0000000{ADdBLn}223{{{d{BMf}}BM`}{{Ad{{d{BBb}}}}}}{{{d{BM`}}{d{fc}}}BdFl}{{{d{BLn}}{d{fc}}}BdFl}{{{d{BMb}}{d{fc}}}BdFl}`{BLnCb}0{{}Cb}0000000{{}c{}}000000000000000{{{d{BMf}}}{{`{{Bf{}{{j{{Gj{BM`{d{BBb}}}}}}}}}}}};{{{d{BM`}}{d{BM`}}}{{Ad{F`}}}}{{{d{BLn}}{d{BLn}}}{{Ad{F`}}}}{{{d{BMb}}{d{BMb}}}{{Ad{F`}}}}````{{{d{BLn}}{d{BLn}}}{{Ad{Cb}}}}{dc{}}00{{}{{Dh{c}}}{}}0000000{c{{Dh{e}}}{}{}}000000011111111{{{d{f{BMd{c}}}}}{{Dh{BMfBMj}}}{}}{dEh}0000000{{{d{f{BMd{c}}}}BM`eAn}Bd{}{{Ef{BBb}}}}{ce{}{}}0000000{{ce}c{}{}}0000000`========````````````````````````````````````````````````````````````````````````````````{GlBBb}{{BBbc}e{{Ef{BBb}}}{}}{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{BMnCb}BMn}{{BN`Cb}BN`}{{Ab{ALb{BBb}}}BBb}{{BNb{ALb{BBb}}}BBb}{{BNd{ALb{BBb}}}BBb}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}0101011001100101010101{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}1001100101010101011001{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{cBBb{{l{}{{j{BBb}}}}}}{{c{ALb{BBb}}}BBb{{Ef{BBb}}}}{{{d{Gl}}{d{{h{BBb}}}}}BBb}``{{{d{BHl}}Aj}{{B`{Cb}}}}{d{{d{Ej}}}}0000000000000000000{BMnFn}{BN`Fn}{BMnCb}{BN`Cb}{{BBbBNh}BBb}0{{BBb{Ad{BNh}}}BBb}{{BN`Cb}{{Ad{BN`}}}}`{{BNjce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{BBbHl}Gl}{{BBbBKhAMf}Gl}`{d{{d{c}}}{}}0000000000000000000{{{d{f}}}{{d{fc}}}{}}0000000000000000000{{AKjAOjBKj}BBb}{{{d{Gl}}}Gl}{{{d{BNd}}}BNd}{{{d{BBb}}}BBb}{{{d{BNh}}}BNh}{{{d{BNj}}}BNj}{{{d{BNl}}}BNl}{{{d{BNn}}}BNn}{{{d{BNb}}}BNb}{{{d{BHl}}}BHl}{{{d{BO`}}}BO`}{{{d{BOb}}}BOb}{{{d{BOd}}}BOd}{{{d{AOb}}}AOb}{{{d{BOf}}}BOf}{{{d{BJh}}}BJh}{{{d{BOh}}}BOh}{{{d{BMn}}}BMn}{{{d{BN`}}}BN`}{{{d{BOj}}}BOj}{{{d{BNf}}}BNf}{{d{d{fc}}}Bd{}}0000000000000000000{dBd}0000000000000000000{{{d{BOd}}{d{BOd}}}F`}{{{d{AOb}}{d{AOb}}}F`}{{{d{BOf}}{d{BOf}}}F`}{{{d{BJh}}{d{BJh}}}F`}{{{d{BOh}}{d{BOh}}}F`}{{{d{BN`}}{d{BN`}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000000000000000000{{d{d{c}}}F`{}}00000000000{AbBBb}{BGhBBb}{{{d{BNj}}{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{BNfBBb}{{{d{fc}}}GlAAh}{{{d{fc}}}BNdAAh}{{{d{fc}}}BBbAAh}{{{d{fc}}}BNhAAh}{{{d{fc}}}BNjAAh}{{{d{fc}}}BNlFb}{{{d{fc}}}BNnAAh}{{{d{fc}}}BNbAAh}{{{d{fc}}}BHlAAh}{{{d{fc}}}BO`AAh}{{{d{fc}}}BObAAh}{{{d{fc}}}BOdFb}{{{d{fc}}}AObFb}{{{d{fc}}}BOfAAh}{{{d{fc}}}BJhAAh}{{{d{fc}}}BOhAAh}{{{d{fc}}}BMnAAf}{{{d{fc}}}BN`AAf}{{{d{fc}}}BOjFb}{{{d{fc}}}BNfFb}{Cb{{d{c}}}{}}0000000000000000000{Cb{{d{fc}}}{}}0000000000000000000{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{BBbc}e{{Ef{BBb}}}{}}{CbBd}0000000000000000000{{FnGh}BBb}{{{d{Gl}}{d{fc}}}BdAAn}{{{d{BNd}}{d{fc}}}BdAAn}{{{d{BBb}}{d{fc}}}BdAAn}{{{d{BNh}}{d{fc}}}BdAAn}{{{d{BNj}}{d{fc}}}BdAAn}{{{d{BNl}}{d{fc}}}BdFd}{{{d{BNn}}{d{fc}}}BdAAn}{{{d{BNb}}{d{fc}}}BdAAn}{{{d{BHl}}{d{fc}}}BdAAn}{{{d{BO`}}{d{fc}}}BdAAn}{{{d{BOb}}{d{fc}}}BdAAn}{{{d{BOd}}{d{fc}}}BdFd}{{{d{AOb}}{d{fc}}}BdFd}{{{d{BOf}}{d{fc}}}BdAAn}{{{d{BJh}}{d{fc}}}BdAAn}{{{d{BOh}}{d{fc}}}BdAAn}{{{d{BMn}}{d{fc}}}BdAAl}{{{d{BN`}}{d{fc}}}BdAAl}{{{d{BOj}}{d{fc}}}BdFd}{{{d{BNf}}{d{fc}}}BdFd}{{{d{Gl}}{d{Gl}}}An}{{{d{BNd}}{d{BNd}}}An}{{{d{BBb}}{d{BBb}}}An}{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNh}}{d{BNh}}}An}{{{d{BNj}}{d{BNj}}}An}{{{d{BNl}}{d{BNl}}}An}{{{d{BNn}}{d{BNn}}}An}{{{d{BNb}}{d{BNb}}}An}{{{d{BHl}}{d{BHl}}}An}{{{d{BO`}}{d{BO`}}}An}{{{d{BOb}}{d{BOb}}}An}{{{d{BOd}}{d{BOd}}}An}{{{d{AOb}}{d{AOb}}}An}{{{d{BOf}}{d{BOf}}}An}{{{d{BJh}}{d{BJh}}}An}{{{d{BOh}}{d{BOh}}}An}{{{d{BMn}}{d{BMn}}}An}{{{d{BN`}}{d{BN`}}}An}{{{d{BOj}}{d{BOj}}}An}{{{d{BNf}}{d{BNf}}}BNf}{{{d{BNf}}{d{BNf}}}An}{{d{d{Ej}}}An}0000000000000000000{{d{d{c}}}An{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`{{{d{BBb}}{d{BKh}}AMf}Gl}{BM`BBb}{{{d{BBb}}}{{Gj{Ab{ALb{BBb}}}}}}{{}BBb}{{{d{BHl}}}Fn}{{cBHl}BBb{{Ef{BBb}}}}{{c{d{{h{BHl}}}}}BBb{{Ef{BBb}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000000000000000000{{{d{BBb}}}{{BGb{{d{BBb}}}}}}{{{d{Gl}}{d{ANf}}{d{fDb}}}Dd}{{{d{Gl}}{d{fDb}}}Dd}{{{d{BNd}}{d{ANf}}{d{fDb}}}Dd}{{{d{BNd}}{d{fDb}}}Dd}{{{d{BBb}}{d{ANf}}{d{fDb}}}Dd}{{{d{BBb}}{d{fDb}}}Dd}{{{d{BNh}}{d{fDb}}}Dd}{{{d{BNj}}{d{ANf}}{d{fDb}}}Dd}{{{d{BNl}}{d{ANf}}{d{fDb}}}Dd}{{{d{BNb}}{d{fDb}}}Dd}{{{d{BHl}}{d{fDb}}}Dd}{{{d{BO`}}{d{fDb}}}Dd}{{{d{BOb}}{d{fDb}}}Dd}{{{d{BOb}}{d{ANf}}{d{fDb}}}Dd}{{{d{AOb}}{d{fDb}}}Dd}{{{d{BOf}}{d{ANf}}{d{fDb}}}Dd}{{{d{BOf}}{d{fDb}}}Dd}{{{d{BJh}}{d{fDb}}}Dd}{{{d{BJh}}{d{ANf}}{d{fDb}}}Dd}{{{d{BOh}}{d{fDb}}}Dd}{{{d{BOh}}{d{ANf}}{d{fDb}}}Dd}{{{d{BMn}}{d{fDb}}}Dd}{{{d{BN`}}{d{fDb}}}Dd}{{{d{BOj}}{d{fDb}}}Dd}0{{{d{BNf}}{d{ANf}}{d{fDb}}}Dd}{{{d{BNf}}{d{fDb}}}Dd}{{{d{AMf}}c}BBb{{BGd{{d{AMf}}}{{Bh{BBb}}}}}}{{{d{BMn}}{d{fc}}}BMnADb}{{{BHf{BBb}}}BBb}{{BN`Cb}{{Ad{BN`}}}}{{{Dh{c}}}c{}}{cc{}}1010{BOfBBb}{FjBBb}{{{d{BBb}}}BBb}{BJhBBb}{BN`BBb}6556656556656565655665{BOhBJh}6767{BOlBOh}{BN`BOh}{FnBMn}{CbBMn}:;{FnBN`};{CbBN`}=<={FfBNf}={GhBNf}{AnBNf}{FhBNf}{{{Dh{c}}}c{}}{CbBNf}{FjBNf}{{{d{BAf}}Ff}BBb}{{ADh{d{BBd}}}BBb}{{c{d{Dj}}Dl}e{}{}}0000000000000000000{{ADhBOn{d{c}}}{{Ad{BNf}}}{{BL`{}{{BKl{ALn}}}}}}{ADdBMn}{ADdBN`}{FnBMn}?0?{CbBMn}?{{{d{Gl}}}Hl}{BN`BBb}{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{{GhAAd}BBb}21{{{d{Gl}}{d{fc}}}BdFl}{{{d{BNd}}{d{fc}}}BdFl}{{{d{BBb}}{d{fc}}}BdFl}{{{d{BNh}}{d{fc}}}BdFl}{{{d{BNj}}{d{fc}}}BdFl}{{{d{BNl}}{d{fc}}}BdFl}{{{d{BNn}}{d{fc}}}BdFl}{{{d{BNb}}{d{fc}}}BdFl}{{{d{BHl}}{d{fc}}}BdFl}{{{d{BO`}}{d{fc}}}BdFl}{{{d{BOb}}{d{fc}}}BdFl}{{{d{BOd}}{d{fc}}}BdFl}{{{d{AOb}}{d{fc}}}BdFl}{{{d{BOf}}{d{fc}}}BdFl}{{{d{BJh}}{d{fc}}}BdFl}{{{d{BOh}}{d{fc}}}BdFl}{{{d{BMn}}{d{fc}}}BdFl}{{{d{BN`}}{d{fc}}}BdFl}{{{d{BOj}}{d{fc}}}BdFl}{{{d{BNf}}{d{fc}}}BdFl}{BO`BBb}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}0`{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{BMnCb}0{BN`Cb}0`{{}Cb}0000000000000000000{BIhBBb}{FnBNf}10{BNnBBb}{{}c{}}000000000000000000000000000000000000000{{{d{BBb}}}An}000000{{ceg}BBb{{Ef{BBb}}}{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BBb}}}{{d{BNn}}}}``{BObBBb}`;`{BOlBBb}<{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{BBbc}e{{Ef{BBb}}}{}}``>{{{d{BNf}}{d{BNf}}}BNf}{{{d{BBb}}}BBb}{AE`BNh}{{BMnCb{BGb{BBb}}}BOb}{{BOhc}BJh{{Ef{{ALb{Cf}}}}}}{CbBMn}{CbBN`}5{{}BBb}{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{cBBb{{l{}{{j{BBb}}}}}}{{{d{Gl}}}AMf}`{{{d{BOd}}{d{BOd}}}{{Ad{F`}}}}{{{d{AOb}}{d{AOb}}}{{Ad{F`}}}}{{{d{BOf}}{d{BOf}}}{{Ad{F`}}}}{{{d{BJh}}{d{BJh}}}{{Ad{F`}}}}{{{d{BOh}}{d{BOh}}}{{Ad{F`}}}}{{{d{BN`}}{d{BN`}}}{{Ad{F`}}}}{{BBbCf}BBb}{{{d{BNj}}}C@`}```{{{d{BBb}}BHl}BBb}{{{d{BJh}}}{{d{{h{Cf}}}}}}`{{{d{BOb}}}{{d{{h{BBb}}}}}}0`{{{d{BBb}}}BBb}{{{d{BBb}}}{{Ad{BNh}}}}`{{{d{BN`}}{d{BN`}}}{{Ad{Cb}}}}{{}{{d{{AEb{{h{BBb}}}}}}}}{{}{{d{{AEb{BNn}}}}}}{{}{{d{{AEb{{h{BOb}}}}}}}}{{BBbc}e{{Ef{BBb}}}{}}{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{{d{BBb}}{d{fc}}}AEjAEl}{BNf{{Ad{An}}}}{{{d{BOf}}}BBb}{{{d{BJh}}}BBb}{{{d{BOh}}}BBb}{BNf{{Ad{El}}}}{{{d{BBb}}}{{Ad{BOh}}}}{{{d{BJh}}}{{Ad{BOh}}}}{dc{}}0000000000000000000{{{d{BBb}}}{{Ad{BJh}}}}{{BNbFn}BHl}{{}{{Dh{c}}}{}}0000000000000000000{{{d{BNd}}ADh}C@b}`{{{d{Gl}}{d{fc}}}{{Dh{Gl}}}AEf}{{{d{BNd}}{d{fc}}}{{Dh{BNd}}}AEf}{{{d{BBb}}{d{fc}}}{{Dh{BBb}}}AEf}{{{d{BNj}}{d{fc}}}{{Dh{BNj}}}AEf}{{{d{BO`}}{d{fc}}}{{Dh{BO`}}}AEf}{{{d{BOb}}{d{fc}}}{{Dh{BOb}}}AEf}{{{d{BMn}}{d{fc}}}{{Dh{BMn}}}AEf}{c{{Dh{e}}}{}{}}0000000000000000000999999999999999999995{{}BBb}{{{ALb{BBb}}}BBb}{dEh}0000000000000000000{BK`BBb}{FnBNf}{{BNlc}BBb{{Ef{BBb}}}}5{AbBBb}{ce{}{}}0000000000000000000{{ce}c{}{}}0000000000000000000{BOfBBb}`{{{d{Gl}}}{{d{BKh}}}}{{{d{Gl}}{d{fc}}}AEjAEl}{{{d{BNd}}{d{fc}}}AEjAEl}{{{d{BBb}}{d{fc}}}AEjAEl}{{{d{BNj}}{d{fc}}}AEjAEl}{{{d{BO`}}{d{fc}}}AEjAEl}{{{d{BOb}}{d{fc}}}AEjAEl}{{{d{BMn}}{d{fc}}}AEjAEl}{{}c{}}0000000000000000000{{{d{BNh}}BNh}BNh}{{}BBb}````````````{d{{d{Ej}}}}{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{{d{C@`}}{d{C@`}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}{{d{d{c}}}F`{}}0{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{C@`}}{d{C@`}}}An}{{d{d{Ej}}}An}{{d{d{c}}}An{}}0000{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{{{Dh{c}}}c{}}{cc{}}{{c{d{Dj}}Dl}e{}{}}{{}Cb}{{}c{}}0{{{d{C@`}}}An}{{{d{C@`}}{d{C@`}}}{{Ad{F`}}}}{{}{{Dh{c}}}{}}{c{{Dh{e}}}{}{}}1{dEh}{ce{}{}}{{ce}c{}{}}7```````````{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}`{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{BJn}}}BJn}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{{{d{fADb}}{d{{BHf{c}}}}}{{BHf{c}}}BJn}{{{d{fADb}}{d{BAf}}}BAf}{{{d{fADb}}{d{BBd}}}BBd}{{{d{f{C@d{ceg}}}}{d{BBd}}}BBd{{BGd{AMd}{{Bh{AMd}}}}}{{BGd{BCd}{{Bh{BCd}}}}}{{BGd{BBd}{{Bh{BBd}}}}}}{{{d{fADb}}{d{BBb}}}BBb}{{{d{fADb}}{d{BCd}}}BCd}{{{d{f{C@d{ceg}}}}{d{BCd}}}BCd{{BGd{AMd}{{Bh{AMd}}}}}{{BGd{BCd}{{Bh{BCd}}}}}{{BGd{BBd}{{Bh{BBd}}}}}}{{{d{fADb}}{d{AMf}}}AMf}{{{d{fADb}}{d{BFj}}}BFj}{{{d{fADb}}{d{AMd}}}AMd}{{{d{f{C@d{ceg}}}}{d{AMd}}}AMd{{BGd{AMd}{{Bh{AMd}}}}}{{BGd{BCd}{{Bh{BCd}}}}}{{BGd{BBd}{{Bh{BBd}}}}}}{{{d{BJn}}{d{fc}}}BJnADb}{cc{}}{{{Dh{c}}}c{}}{{c{d{Dj}}Dl}e{}{}}{{{d{BKf}}}{{C@f{BN`}}}}{{{d{BKf}}}An}{{}Cb}{{}c{}}0`{{{d{BJn}}{d{AMh}}}BJn}{{{d{BJn}}Aj{d{C@h}}Ab}{{B`{BJn}}}}{{{d{BJn}}{d{BMf}}}BJn}{{{d{BJn}}c}BJn{{BGd{{d{{h{BKh}}}}BO`}{{Bh{BBb}}}}}}{{{d{BJn}}Fn}BJn}0{{{d{C@j}}{d{fc}}}C@jADb}{{{d{C@l}}{d{fc}}}AEjAEl}{{}{{Dh{c}}}{}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{{BHf{e}}}}}{{Dh{{BHf{e}}c}}}{}BJn}{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BAf}}}{{Dh{BAfc}}}{}}{{{d{f}}{d{BAf}}}{{Dh{BAf}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BBd}}}{{Dh{BBdc}}}{}}{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BBb}}}{{Dh{BBbc}}}{}}{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BCd}}}{{Dh{BCdc}}}{}}{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{AMf}}}{{Dh{AMfc}}}{}}{{{d{f}}{d{AMf}}}{{Dh{AMf}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BFj}}}{{Dh{BFjc}}}{}}{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{AMd}}}{{Dh{AMdc}}}{}}{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}{{{d{BJn}}{d{fc}}}{{Dh{BJn}}}AEf}{c{{Dh{e}}}{}{}}{{}{{Dh{c}}}{}}{{{d{C@j}}{d{fc}}}{{Dh{C@j}}}AEf}`{dEh}{ce{}{}}{{ce}c{}{}}{{{d{fAEl}}{d{{BHf{c}}}}}{{AEj{e}}}BKf{}}{{{d{fAEl}}{d{BAf}}}{{AEj{c}}}{}}{{{d{fAEl}}{d{BBb}}}{{AEj{c}}}{}}{{{d{fAEl}}{d{AMf}}}{{AEj{c}}}{}}{{{d{fAEl}}{d{AMd}}}{{AEj{c}}}{}}{{{d{BKf}}{d{fc}}}AEjAEl}{{}c{}}{{{d{BJn}}}BJn}```{{{d{fCA`}}{d{BBb}}{d{{h{BBb}}}}{Ad{BNh}}}BBb}{{BBb{Ad{BNh}}}BBb}{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}00{{}AMh}{{{d{AMh}}{d{{BHf{BBb}}}}}{{C@f{Gh}}}}``{Cb{{d{c}}}{}}00{Cb{{d{fc}}}{}}00{CbBd}00`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}00{{{d{fCA`}}{d{BBb}}}BBb}{{{d{fCAb}}{d{BBb}}}BBb}{cc{}}{{{Dh{c}}}c{}}0110{{c{d{Dj}}Dl}e{}{}}00{{{d{AMh}}{d{Gh}}}{{Ad{{d{CAd}}}}}}{{}Cb}00{{}c{}}00000{{{d{AMh}}}CA`}{BNhCAb}{{{CAf{GhCAd}}}{{Dh{AMh{BGb{Gh}}}}}}{AMh{{Dh{AMh{BGb{Gh}}}}}}{{{d{AMh}}}{{Dh{{BGb{Gh}}{BGb{Gh}}}}}}{{}{{Dh{c}}}{}}00{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}0{{{d{f}}{d{BAf}}}{{Dh{BAf}}}}0{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}0{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}0{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}0{{{d{f}}{d{AMf}}}{{Dh{AMf}}}}0{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}0{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}0{c{{Dh{e}}}{}{}}00999{dEh}00{ce{}{}}00{{ce}c{}{}}00{{}c{}}00```````{{{d{fCAh}}{d{BAl}}{d{f{BGb{CAj}}}}}B`}{{{d{CAh}}{d{BAl}}{d{f{BGb{CAj}}}}}Bd}{{{d{{h{AL`}}}}{d{BAl}}{Cn{BDj}{{Bh{CAj}}}}{d{f{BGb{CAj}}}}}Bd}{{{d{CAh}}{d{BAl}}{d{f{BGb{CAj}}}}}B`}{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{{d{fCAl}}{d{BAf}}{d{BAf}}}Bd}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}00{{{d{fCAh}}CAj{d{BAl}}}{{B`{AMd}}}}{{{d{f{d{CAl}}}}{d{BBd}}}BBd}{{{d{fCAl}}{d{BBd}}{d{BBd}}}Bd}{{{d{f{d{CAl}}}}BIl}BBf}`{Cb{{d{c}}}{}}00{Cb{{d{fc}}}{}}00{CbBd}00{{{d{{d{CAl}}}}BGh}BBb}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}00{{{d{CAh}}{d{fCAl}}{BGb{{Gn{BDj}}}}}{{Gj{{BGb{BDj}}{BGb{{Gn{BDj}}}}}}}}{{CAlADh{d{CAn}}}{{BGb{BFl}}}}{{{d{CAj}}{d{fDb}}}Dd}{{{d{CAl}}{d{fDb}}}Dd}{cc{}}{{{Dh{c}}}c{}}1010{{c{d{Dj}}Dl}e{}{}}00{{{d{fCAl}}{d{BFl}}{d{BFl}}}Bd}`{{{d{fCAh}}{d{BNd}}}{{B`{{Ad{Ab}}}}}}{{}Cb}00{{{d{fCAl}}FnBFl}Bd}{{{d{fCAl}}{Gn{c}}}{{Ad{c}}}BJn}{{}c{}}00000{{Aj{d{C@h}}Ab}{{B`{CAh}}}}{{{d{CAn}}}CAl}{{{d{fCAh}}{d{BNd}}{d{BJd}}}{{B`{BBb}}}}{{{d{fCAh}}{d{BAl}}}{{B`{{Gj{AnAMd}}}}}}{{{d{fCAh}}{d{BAl}}}{{B`{AMd}}}}`{{{d{f{d{CAl}}}}CB`}BCd}{{{d{fCAl}}BCdBCd}Bd}{{{d{fCAh}}{d{fCAl}}Ab}B`}{{{d{CAh}}}CBb}`{{{d{f{d{CAl}}}}BIl}{{Dh{AMfc}}}{}}{{{d{CAh}}}ADh}{{}{{Dh{c}}}{}}00{{{d{fCAh}}{d{BBd}}}{{Dh{BBdc}}}{}}{{{d{fCAh}}{d{BBb}}}{{Dh{BBbc}}}{}}{{{d{fCAh}}{d{AMd}}}{{Dh{AMdc}}}{}}{c{{Dh{e}}}{}{}}00444{{{d{f{d{CAl}}}}BIl}{{Dh{AMdc}}}{}}{dEh}00{{{d{fCAl}}{d{AMd}}{d{AMd}}}Bd}{ce{}{}}00{{ce}c{}{}}00{{}c{}}00````{{{d{CBd}}Ab}{{B`{Gb}}}}{{{d{CBd}}}CBd}{d{{d{c}}}{}}0{{{d{f}}}{{d{fc}}}{}}0{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0{{Aj{d{Hd}}}CBd}{Cb{{d{c}}}{}}0{Cb{{d{fc}}}{}}0{CbBd}0{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0{cc{}}{{{Dh{c}}}c{}}01{{c{d{Dj}}Dl}e{}{}}0`{{{d{CBd}}Ab}{{B`{Hd}}}}`{{}Cb}0??{CBfHn}{{}c{}}0{CBfAMd}{{Aj{d{Hd}}{Cn{BAf}{{Bh{BBf}}}}}CBd}{{{d{CBd}}BIl}{{B`{BCl}}}}`{{{d{BAj}}}BAj}{{{d{CBd}}{d{BAj}}{d{CBh}}}{{B`{BAl}}}}{{{d{CBd}}Ab{d{BAj}}}{{B`{BJd}}}}{{{d{CBd}}{d{{CBj{c}}}}g}{{B`{{BHf{e}}}}}{}{}{{BGd{{d{c}}}{{Bh{{B`{e}}}}}}}}{{{d{{h{ALj}}}}}{{ALb{AOd}}}}{{{d{CBd}}{d{{h{CBl}}}}{d{CBl}}}{{B`{{Ad{AL`}}}}}}{{{d{CBd}}{d{{h{CBl}}}}}{{B`{{ALb{AL`}}}}}}{BAfBBf}{{{d{CBd}}{d{CBn}}}{{B`{CC`}}}}{{{d{CBd}}Ab{d{BFn}}}{{B`{BAh}}}}{{{d{CBd}}{d{{h{CBl}}}}BId{d{CCb}}}{{B`{BD`}}}}{{{d{CBd}}{d{BCl}}{d{CCd}}}{{B`{BFl}}}}2{CCfBCn}{{{d{CBd}}{d{ALl}}}{{B`{Hh}}}}{{{d{ALh}}}{{B`{Hd}}}}{{{d{CBd}}{d{ALd}}}{{B`{Hb}}}}{{{d{CBd}}{d{CCb}}}{{B`{AKn}}}}{{{d{CBd}}{d{Ch}}}{{B`{AMd}}}}{{{d{CBd}}{d{Ch}}}{{B`{Hn}}}}{{{d{CBd}}{d{Ch}}}{{B`{CBf}}}}{{{d{CBd}}AbAMn}{{B`{AN`}}}}{{}{{Dh{c}}}{}}0{c{{Dh{e}}}{}{}}011{dEh}0{ce{}{}}0{{ce}c{}{}}0{{}c{}}0{{Aj{d{Hd}}}CBd}`````````````{{{d{CCh}}{d{c}}}cBJn}{d{{d{c}}}{}}00000000{{{d{f}}}{{d{fc}}}{}}00000000{{{d{CCj}}B@n}BEf}{{{d{CCl}}}CCl}{{d{d{fc}}}Bd{}}{dBd}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}00000000{{{d{fCCn}}{d{BBd}}}BBd}{{{d{fCD`}}{d{BBd}}}BBd}{{{d{f{CDb{ec}}}}{d{BBd}}}BBd{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}{{{d{fCCn}}BIl}BBf}{{{d{fCD`}}BIl}BBf}{{{d{f{CDb{ec}}}}BIl}BBf{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}``{{}CCh}{{}CCl}```{Cb{{d{c}}}{}}00000000{Cb{{d{fc}}}{}}00000000{CbBd}000000003`{{{d{{CDd{c}}}}Fn}BBb{}}{{{d{CCn}}BGh}BBb}{{{d{CD`}}BGh}BBb}{{{d{{CDb{ec}}}}BGh}BBb{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}00000000{{{d{CCh}}{d{fDb}}}Dd}{{{d{CCl}}{d{fDb}}}Dd}{{{d{f{CDf{c}}}}{d{{BHf{e}}}}}{{BHf{e}}}CDhBJn}{{{d{f{CDf{c}}}}{d{BBb}}}BBbCDh}{{{d{fCDj}}{d{BBb}}}BBb}{{{d{f{CDf{c}}}}{d{BCd}}}BCdCDh}{{{d{f{CDl{c}}}}{d{AMf}}}AMfCCj}{cc{}}{{{Dh{c}}}c{}}1010100110101010{{c{d{Dj}}Dl}e{}{}}00000000{{{d{fCCh}}{d{BAf}}{d{Ch}}}Bd}{{{d{fCCh}}{d{CC`}}{d{CBn}}}Bd}{{{d{fCCh}}{d{BF`}}{d{CDn}}}Bd}{{{d{fCCh}}{d{BFl}}{d{CCd}}}Bd}{{{d{fCCh}}{d{BAh}}{d{BFn}}}Bd}{{{d{fCCh}}BCdBCd}Bd}{{{d{fCCh}}{d{AMd}}{d{Ch}}}Bd}{{}Cb}00000000{{{d{fCCl}}FnBBb}Bd}{{}c{}}00000000000000000{{{d{CCl}}Fn}BBb}`{{{d{AMd}}{d{Ch}}}AMd}{c{{CDf{c}}}{}}{{ce}{{CE`{ce}}}{{BGd{AOb}{{Bh{BBb}}}}}{{BGd{BCh}{{Bh{BCd}}}}}}{{{d{BMf}}}CDj}{{c{d{{h{BBb}}}}}{{CDd{c}}}{}}{c{{CDl{c}}}{}}`{{{d{fCCn}}CB`}BCd}{{{d{fCD`}}CB`}BCd}{{{d{f{CDb{ec}}}}CB`}BCd{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}`{{{d{fCDh}}AOb}BBb}{{{d{f{CE`{ce}}}}AOb}BBb{{BGd{AOb}{{Bh{BBb}}}}}{{BGd{BCh}{{Bh{BCd}}}}}}{{{d{fCDh}}BCh}BCd}{{{d{f{CE`{ce}}}}BCh}BCd{{BGd{AOb}{{Bh{BBb}}}}}{{BGd{BCh}{{Bh{BCd}}}}}}{{{d{AMd}}}AMd}{{{d{fCCn}}BIl}{{Dh{AMfc}}}{}}{{{d{CCj}}B@n}AMf}{{{d{fCD`}}BIl}{{Dh{AMfCEb}}}}{{{d{f{CDb{ec}}}}BIl}{{Dh{AMfc}}}{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}`{dc{}}{{}{{Dh{c}}}{}}00000000{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}0{{{d{f{CDd{c}}}}{d{{BHf{e}}}}}{{Dh{{BHf{e}}}}}CCnBJn}1{{{d{f}}{d{BAf}}}{{Dh{BAf}}}}00{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}0{{{d{f{CDd{c}}}}{d{BBd}}}{{Dh{BBd}}}CCn}1{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}0{{{d{f{CDd{c}}}}{d{BBb}}}{{Dh{BBb}}}CCn}1{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}0{{{d{f{CDd{c}}}}{d{BCd}}}{{Dh{BCd}}}CCn}1{{{d{f}}{d{AMf}}}{{Dh{AMf}}}}0{{{d{f{CDd{c}}}}{d{AMf}}}{{Dh{AMf}}}CCn}1{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}0{{{d{f{CDd{c}}}}{d{BFj}}}{{Dh{BFj}}}CCn}1{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}0{{{d{f{CDd{c}}}}{d{AMd}}}{{Dh{AMd}}}CCn}1{c{{Dh{e}}}{}{}}00000000{{}{{Dh{c}}}{}}00000000{{{d{fCCn}}BIl}{{Dh{AMdc}}}{}}{{{d{fCD`}}BIl}{{Dh{AMdCEb}}}}{{{d{f{CDb{ec}}}}BIl}{{Dh{AMdc}}}{}{{BGd{BIl}{{Bh{{Dh{AMfc}}}}}}}}{dEh}00000000{ce{}{}}00000000{{ce}c{}{}}00000000{{}c{}}00000000","D":"HCl","p":[[5,"Arena",10214],[1,"reference"],[0,"mut"],[1,"slice"],[17,"Item"],[10,"IntoIterator",10215],[5,"Arena",10216],[6,"MaybeExternId",0],[5,"DefId",10217],[6,"Option",10218],[6,"ResolvedDefId",0],[10,"PlaceExt",0],[5,"GlobalEnv",3386],[8,"LocalDecls",10219],[1,"bool"],[8,"QueryResult",3897],[10,"Clone",10220],[1,"unit"],[10,"Iterator",10221],[17,"Output"],[10,"FnOnce",10222],[5,"String",10223],[5,"Specs",0],[5,"ResolverOutput",0],[1,"usize"],[5,"PlaceTy",0],[5,"FieldIdx",10224],[5,"Ty",10225],[1,"str"],[5,"DataRequest",10226],[1,"fn"],[5,"RequestFilterDataProvider",10227],[5,"Formatter",10228],[8,"Result",10228],[10,"Debug",10228],[6,"Result",10229],[5,"CycleError",10230],[5,"ErrorGuaranteed",10231],[5,"OwnerId",10232],[5,"LocalDefId",10217],[6,"ExternSpecMappingErr",0],[6,"PlaceElem",10219],[10,"Into",10233],[5,"TypeId",10234],[10,"Any",10234],[5,"BigInt",241],[6,"Sign",241],[6,"Ordering",10235],[10,"SpanDecoder",10231],[10,"SpanEncoder",10231],[1,"u128"],[1,"i128"],[1,"i32"],[10,"Hasher",10236],[1,"u32"],[10,"CrateStore",347],[5,"AdtDef",4096],[8,"OptResult",347],[5,"AdtSortDef",4096],[5,"Symbol",3386,10237],[1,"tuple"],[5,"Lambda",8442],[5,"EarlyBinder",7813],[5,"AssocRefinements",4096],[8,"PolyFnSig",4096],[5,"Generics",4096],[8,"Clauses",4096],[5,"GenericPredicates",4096],[5,"RefinementGenerics",4096],[5,"FuncSort",4096],[8,"TyCtor",4096],[8,"PolyVariants",4096],[6,"Opaqueness",4096],[5,"ItemLocalId",365],[5,"ParamId",365],[5,"Ty",365],[5,"Path",365],[5,"BaseTy",365],[5,"PartialRes",365],[6,"Res",365],[6,"BinOp",365,10238],[6,"UnOp",365,10238],[6,"Ignored",365],[6,"Trusted",365],[5,"Generics",365],[5,"GenericParam",365],[6,"GenericParamKind",365],[6,"Node",365],[5,"SortDecl",365],[5,"WhereBoundPredicate",365],[6,"GenericBound",365],[5,"PolyTraitRef",365],[6,"TraitBoundModifier",365],[5,"TraitAssocReft",365],[5,"ImplAssocReft",365],[5,"StructDef",365],[6,"StructKind",365],[5,"FieldDef",365],[5,"VariantDef",365],[5,"VariantRet",365],[5,"FnDecl",365],[5,"Requires",365],[5,"FnSig",365],[5,"FnOutput",365],[6,"Ensures",365],[6,"TyKind",365],[5,"MutTy",365],[6,"Lifetime",365],[6,"FluxLocalDefId",365],[6,"FluxOwnerId",365],[5,"FhirId",365],[5,"RefineArg",365],[6,"RefineArgKind",365],[6,"BaseTyKind",365],[6,"QPath",365],[5,"PathSegment",365],[5,"AssocItemConstraint",365],[6,"AssocItemConstraintKind",365],[6,"GenericArg",365],[5,"ConstArg",365],[6,"ConstArgKind",365],[5,"RefineParam",365],[6,"ParamKind",365],[6,"InferMode",365],[6,"PrimSort",365],[6,"SortRes",365],[6,"Sort",365],[5,"SortPath",365],[5,"FuncSort",365],[5,"PolyFuncSort",365],[5,"AliasReft",365],[5,"Expr",365],[6,"ExprKind",365],[6,"Lit",365],[6,"ExprRes",365],[5,"PathExpr",365],[5,"RefinedBy",365],[6,"SpecFuncKind",365],[10,"Decoder",10239],[10,"TyDecoder",10240],[5,"FluxItems",365],[10,"Encoder",10239],[10,"TyEncoder",10240],[5,"Item",365],[5,"EnumDef",365],[5,"Impl",365],[5,"OpaqueTy",365],[5,"Trait",365],[5,"TyAlias",365],[6,"FingerprintStyle",10241],[5,"BareFnTy",365],[5,"Error",10228],[5,"Qualifier",365],[6,"ItemKind",365],[5,"TraitItem",365],[6,"TraitItemKind",365],[5,"ImplItem",365],[6,"ImplItemKind",365],[6,"FluxItem",365],[5,"SpecFunc",365],[10,"TypeFolder",9564],[1,"u16"],[6,"DiagArgValue",10242],[5,"TyCtxt",10243],[8,"FxIndexMap",10244],[8,"FxIndexSet",10244],[5,"DepNode",10245],[5,"Span",10246],[5,"InternStorage",10247],[5,"Fingerprint",10248],[10,"FallibleTypeFolder",9564],[6,"Res",10249],[6,"ControlFlow",10250],[10,"TypeVisitor",9564],[5,"LiftCtxt",3214],[10,"Diagnostic",10242],[6,"ArrayLen",10251],[5,"AssocItemConstraint",10251],[5,"BareFnTy",10251],[5,"ConstArg",10251],[5,"Variant",10251],[5,"FieldDef",10251],[5,"FnDecl",10251],[5,"FnHeader",10251],[6,"FnRetTy",10251],[6,"GenericArg",10251],[6,"GenericBound",10251],[5,"GenericParam",10251],[5,"Generics",10251],[5,"Lifetime",10251],[5,"MutTy",10251],[5,"Path",10251],[5,"PathSegment",10251],[5,"PolyTraitRef",10251],[6,"QPath",10251],[5,"Ty",10251],[6,"WherePredicate",10251],[5,"IndexGen",10252],[5,"UnordMap",10253],[5,"UnsupportedHir",3280],[5,"DiagCtxtHandle",10254],[6,"Level",10254],[5,"Diag",10242],[10,"EmissionGuarantee",10242],[10,"Visitor",3306],[10,"IntoQueryParam",10255],[10,"Copy",10256],[5,"WfckResults",4096],[5,"Rc",10257],[5,"Map",3386],[5,"CrateConfig",10258],[8,"CrateStoreDyn",347],[6,"DefKind",10249],[5,"FluxSession",10259],[5,"Box",10260],[8,"Arena",365],[5,"Providers",3897],[5,"Ident",3386,10237],[5,"SpecFuncDecl",4096],[5,"TypeFlags",10261],[5,"DebruijnIndex",4096,10262],[5,"Map",10263],[5,"TraitRef",4096],[5,"Clause",4096],[8,"List",4096,10247],[8,"PolyFnSig",10225],[5,"EarlyBinder",10225],[5,"Generics",10225],[6,"BoundVariableKind",10225],[5,"GenericPredicates",10225],[5,"Ty",10264],[5,"Body",10219],[5,"Qualifier",4096],[5,"Ty",4096],[6,"Sort",4096],[5,"SpecFuncDefns",9646],[10,"Fn",10222],[6,"Variance",10262],[5,"VariantIdx",4096,10224],[8,"PolyVariant",4096],[5,"BoundVarName",3647],[6,"KVarArgs",3647],[5,"PrettyCx",3647],[5,"Env",3647],[10,"Pretty",3647],[5,"WithCx",3647],[5,"Join",3647],[5,"Parens",3647],[5,"BoundReft",8442],[6,"BoundVariableKind",7813],[6,"Value",10265],[10,"FromOpt",3647],[5,"BoundVar",4096,10262],[17,"IntoIter"],[5,"Queries",3897],[6,"QueryErr",3897],[5,"QueryErrAt",3897],[10,"ToString",10223],[5,"RefCell",10266],[10,"Hash",10236],[10,"Eq",10235],[5,"UnsupportedErr",10267],[5,"ParamSort",4096],[5,"SortVid",4096],[5,"NumVid",4096],[5,"BvSizeVid",4096],[6,"BaseTy",4096],[8,"GenericArgs",4096],[6,"AliasKind",4096,10225],[5,"AliasTy",4096],[6,"SortCtor",4096],[5,"Invariant",4096],[5,"Expr",8442],[5,"Const",4096,10225],[8,"SubsetTyCtor",4096],[10,"Deref",10268],[5,"LocalTableInContext",4096],[5,"LocalTableInContextMut",4096],[10,"GenericArgsExt",4096],[5,"OutlivesPredicate",4096,10225],[6,"ConstKind",4096,10225],[6,"Region",4096,10225],[5,"LateParamRegion",4096,10225],[5,"BoundRegion",4096,10225],[5,"RefineParam",4096],[5,"GenericParamDef",4096],[6,"GenericParamDefKind",4096],[6,"ClauseKind",4096],[5,"TraitPredicate",4096],[6,"ExistentialPredicate",4096],[5,"ExistentialTraitRef",4096],[5,"ExistentialProjection",4096],[5,"ProjectionPredicate",4096],[5,"FnTraitPredicate",4096],[5,"CoroutineObligPredicate",4096],[5,"AssocRefinement",4096],[6,"NumVarValue",4096],[6,"SortInfer",4096],[6,"BvSize",4096],[6,"SortParamKind",4096],[5,"PolyFuncSort",4096],[6,"SortArg",4096],[5,"VariantSig",4096],[5,"FnSig",4096],[5,"FnOutput",4096],[6,"Ensures",4096],[6,"TyKind",4096],[6,"PtrKind",4096],[5,"SubsetTy",4096],[6,"GenericArg",4096],[8,"GenericArgs",10225],[6,"Coercion",4096],[5,"Vec",10269],[10,"FnMut",10222],[10,"FromIterator",10215],[5,"ParamConst",4096,10270],[5,"AdtSortDefData",4096],[5,"AdtDefData",4096],[10,"Decodable",10239],[8,"PolyTraitRef",4096],[8,"PolyExistentialTraitRef",4096],[5,"Place",10219],[5,"Binder",7813],[10,"Encodable",10239],[10,"PartialEq",10235],[6,"FieldProj",8442],[6,"FloatTy",4096,10271],[5,"ClosureOblig",4096],[6,"BoundRegionKind",4096,10272],[6,"ClosureKind",4096,10262],[5,"TyVid",4096,10271],[6,"IntTy",4096,10271],[6,"Mutability",4096,10273],[5,"ParamTy",4096,10270],[5,"AdtDef",10225],[6,"Safety",10251],[6,"Abi",10274],[8,"RefineArgs",4096],[10,"ExactSizeIterator",10275],[5,"Path",8442],[6,"CanonicalTy",8020],[8,"GenericArgsRef",10276],[10,"TypeFoldable",9564],[6,"UintTy",4096,10271],[5,"VariantDef",10225],[5,"IndexSlice",10277],[10,"TypeVisitable",9564],[8,"BoundVariableKinds",7813],[6,"BoundReftKind",7813],[17,"T"],[10,"TypeVisitable",10278],[10,"ToRustc",10279],[6,"BoundVariableKind",10270],[8,"List",10280],[5,"LocalHoister",8020],[5,"CanonicalConstrTy",8020],[5,"Hoister",8020],[10,"HoisterDelegate",8020],[5,"EVid",8152],[5,"EVar",8152],[5,"EVarCxId",8152],[5,"EVarGen",8152],[5,"EVarSol",8152],[5,"EVarCtxt",8152],[5,"UnsolvedEvar",8152],[6,"EVarState",8152],[5,"KVid",8442],[5,"Name",8442],[6,"AggregateKind",8442],[5,"AliasReft",8442],[6,"Constant",8442],[5,"ESpan",8442],[6,"BinOp",8442],[6,"UnOp",8442],[6,"ExprKind",8442],[6,"HoleKind",8442],[5,"KVar",8442],[5,"EarlyReftParam",8442],[6,"Var",8442],[6,"Loc",8442],[5,"Real",8442],[5,"Local",10281],[5,"ScalarInt",4096,10282],[6,"Precedence",9523],[8,"TraitRef",10283],[5,"BottomUpFolder",9564],[8,"FxHashSet",10284],[5,"InferCtxt",10285],[10,"TypeSuperFoldable",9564],[10,"TypeSuperVisitable",9564],[17,"Error"],[5,"Normalizer",9646],[5,"BaseSpanner",9646],[5,"SpecFunc",4096],[8,"FxHashMap",10284],[5,"Normalizer",9740],[6,"Candidate",9740],[5,"TVarSubst",9740],[5,"Generics",10286],[5,"EarlyParamRegion",4096,10272],[5,"ParamEnv",10264],[5,"Refiner",9845],[6,"TyOrBase",9845],[5,"AliasTy",10225],[5,"Binder",10225],[5,"Clause",10225],[8,"PolyExistentialPredicate",10225],[8,"PolyExistentialPredicate",4096],[5,"TraitRef",10225],[6,"GenericArg",10225],[6,"GenericParamDefKind",10225],[5,"RegionSubst",9923],[10,"SortSubstDelegate",9923],[5,"ConstGenericArgs",9923],[10,"GenericsSubstDelegate",9923],[5,"GenericArgsDelegate",9923],[5,"GenericsSubstForSort",9923],[5,"GenericsSubstFolder",9923],[5,"BoundVarReplacer",9923],[10,"BoundVarReplacerDelegate",9923],[5,"EVarSubstFolder",9923],[5,"SortSubst",9923],[5,"FnSig",10225],[5,"FnMutDelegate",9923],[1,"never"],[5,"TheoryFunc",0],[6,"PrimTy",365],[15,"Equality",3203],[15,"Type",3204],[15,"Const",3204],[15,"SelfTyAlias",3207],[15,"SelfTyParam",3207],[15,"SelfAlias",3210],[15,"User",3210],[15,"SelfParam",3210],[15,"Transparent",3213],[8,"Result",3214],[5,"GlobalEnvInner",3386],[15,"InvalidAssocReft",4087],[15,"Unsupported",4087],[15,"Ignored",4087],[15,"InvalidGenericArg",4087],[15,"Bug",4087],[5,"ConstVid",4096],[5,"RegionVid",4096],[5,"AdtFlags",4096],[8,"PolyTraitPredicate",4096],[15,"Tuple",9519],[15,"Adt",9519],[15,"Type",7810],[15,"Const",7810],[15,"User",7812]],"r":[[70,10279],[383,10238],[487,10273],[520,10251],[588,10238],[593,10224],[3388,10237],[3390,10237],[4104,10287],[4108,8442],[4111,10225],[4112,8442],[4125,8442],[4127,7813],[4135,8442],[4136,7813],[4137,10225],[4138,10272],[4139,10262],[4140,7813],[4141,7813],[4155,10262],[4158,10225],[4164,10225],[4165,10288],[4166,8442],[4172,10262],[4177,8442],[4178,8152],[4180,8152],[4181,7813],[4183,10272],[4184,8442],[4192,8442],[4194,8442],[4199,10224],[4200,8442],[4204,10271],[4229,8442],[4235,10262],[4246,365],[4253,10271],[4257,8442],[4259,8442],[4260,8442],[4261,10225],[4265,10247],[4266,8442],[4286,10273],[4287,8442],[4301,10225],[4307,10270],[4309,10270],[4310,8442],[4337,8442],[4347,10225],[4349,10289],[4351,10282],[4365,9646],[4386,10271],[4399,10271],[4400,8442],[4407,8442],[4411,10224],[7819,10247]],"b":[[301,"impl-Display-for-BigInt"],[302,"impl-Debug-for-BigInt"],[303,"impl-FixpointFmt-for-BigInt"],[305,"impl-From%3Cusize%3E-for-BigInt"],[306,"impl-From%3Cu128%3E-for-BigInt"],[307,"impl-From%3Ci128%3E-for-BigInt"],[310,"impl-From%3Ci32%3E-for-BigInt"],[1980,"impl-From%3CFluxOwnerId%3E-for-FluxLocalDefId"],[1982,"impl-From%3CLocalDefId%3E-for-FluxLocalDefId"],[1990,"impl-From%3Cusize%3E-for-ItemLocalId"],[1991,"impl-From%3Cu32%3E-for-ItemLocalId"],[2055,"impl-From%3Cusize%3E-for-ParamId"],[2056,"impl-From%3Cu32%3E-for-ParamId"],[2175,"impl-ItemLocalId"],[2176,"impl-Idx-for-ItemLocalId"],[2177,"impl-Idx-for-ParamId"],[2178,"impl-ParamId"],[3746,"impl-Pretty-for-Join%3C\'_,+I%3E"],[3747,"impl-Debug-for-Join%3C\'_,+I%3E"],[3764,"impl-From%3Cu32%3E-for-BoundVarName"],[3765,"impl-From%3Cusize%3E-for-BoundVarName"],[3793,"impl-Idx-for-BoundVarName"],[3794,"impl-BoundVarName"],[6070,"impl-Pretty-for-AliasKind"],[6071,"impl-Debug-for-AliasKind"],[6072,"impl-Pretty-for-Const"],[6073,"impl-Debug-for-Const"],[6074,"impl-Pretty-for-Region"],[6075,"impl-Debug-for-Region"],[6087,"impl-Pretty-for-ClauseKind"],[6088,"impl-Debug-for-ClauseKind"],[6091,"impl-Debug-for-ExistentialPredicate"],[6092,"impl-Pretty-for-ExistentialPredicate"],[6093,"impl-Pretty-for-ExistentialTraitRef"],[6094,"impl-Debug-for-ExistentialTraitRef"],[6095,"impl-Debug-for-ExistentialProjection"],[6096,"impl-Pretty-for-ExistentialProjection"],[6102,"impl-Pretty-for-SortCtor"],[6103,"impl-Debug-for-SortCtor"],[6110,"impl-Debug-for-Sort"],[6111,"impl-Pretty-for-Sort"],[6112,"impl-Debug-for-BvSize"],[6113,"impl-Pretty-for-BvSize"],[6114,"impl-Debug-for-FuncSort"],[6115,"impl-Pretty-for-FuncSort"],[6117,"impl-Pretty-for-PolyFuncSort"],[6118,"impl-Debug-for-PolyFuncSort"],[6119,"impl-Pretty-for-SortArg"],[6120,"impl-Debug-for-SortArg"],[6125,"impl-Pretty-for-VariantSig"],[6126,"impl-Debug-for-VariantSig"],[6127,"impl-Debug-for-FnSig"],[6128,"impl-Pretty-for-FnSig"],[6129,"impl-Pretty-for-FnOutput"],[6130,"impl-Debug-for-FnOutput"],[6131,"impl-Pretty-for-Ensures"],[6132,"impl-Debug-for-Ensures"],[6136,"impl-Debug-for-Ty"],[6137,"impl-Pretty-for-Ty"],[6139,"impl-Pretty-for-PtrKind"],[6140,"impl-Debug-for-PtrKind"],[6141,"impl-Debug-for-BaseTy"],[6142,"impl-Pretty-for-BaseTy"],[6145,"impl-Debug-for-SubsetTy"],[6146,"impl-Pretty-for-SubsetTy"],[6147,"impl-Debug-for-GenericArg"],[6148,"impl-Pretty-for-GenericArg"],[6231,"impl-From%3Cusize%3E-for-ParamSort"],[6232,"impl-From%3Cu32%3E-for-ParamSort"],[6234,"impl-From%3Cu32%3E-for-SortVid"],[6235,"impl-From%3Cusize%3E-for-SortVid"],[6240,"impl-From%3Cusize%3E-for-NumVid"],[6241,"impl-From%3Cu32%3E-for-NumVid"],[6248,"impl-From%3Cusize%3E-for-BvSizeVid"],[6249,"impl-From%3Cu32%3E-for-BvSizeVid"],[6507,"impl-Idx-for-ParamSort"],[6508,"impl-ParamSort"],[6509,"impl-Idx-for-SortVid"],[6510,"impl-UnifyKey-for-SortVid"],[6511,"impl-SortVid"],[6512,"impl-NumVid"],[6513,"impl-Idx-for-NumVid"],[6514,"impl-UnifyKey-for-NumVid"],[6515,"impl-Idx-for-BvSizeVid"],[6516,"impl-BvSizeVid"],[6517,"impl-UnifyKey-for-BvSizeVid"],[7868,"impl-Binder%3CTraitRef%3E"],[7869,"impl-Binder%3CExistentialTraitRef%3E"],[7915,"impl-Pretty-for-Binder%3CT%3E"],[7916,"impl-Pretty-for-Binder%3CFnOutput%3E"],[7917,"impl-Debug-for-Binder%3CT%3E"],[7981,"impl-Binder%3CSubsetTy%3E"],[7982,"impl-Binder%3CTy%3E"],[8059,"impl-Debug-for-CanonicalConstrTy"],[8060,"impl-Pretty-for-CanonicalConstrTy"],[8061,"impl-Debug-for-CanonicalTy"],[8062,"impl-Pretty-for-CanonicalTy"],[8300,"impl-Debug-for-EVar"],[8301,"impl-Pretty-for-EVar"],[8322,"impl-From%3Cusize%3E-for-EVid"],[8323,"impl-From%3Cu32%3E-for-EVid"],[8344,"impl-Idx-for-EVid"],[8345,"impl-EVid"],[8523,"impl-Add%3CRhs%3E-for-Expr"],[8524,"impl-Add%3CRhs%3E-for-%26Expr"],[8822,"impl-Div%3CRhs%3E-for-%26Expr"],[8823,"impl-Div%3CRhs%3E-for-Expr"],[8867,"impl-PartialEq-for-Expr"],[8868,"impl-Expr"],[8885,"impl-Constant"],[8886,"impl-PartialEq-for-Constant"],[9036,"impl-Pretty-for-Lambda"],[9037,"impl-Debug-for-Lambda"],[9038,"impl-Pretty-for-AliasReft"],[9039,"impl-Debug-for-AliasReft"],[9040,"impl-Pretty-for-Expr"],[9041,"impl-Debug-for-Expr"],[9048,"impl-Debug-for-KVar"],[9049,"impl-Pretty-for-KVar"],[9051,"impl-Pretty-for-Var"],[9052,"impl-Debug-for-Var"],[9053,"impl-Debug-for-Path"],[9054,"impl-Pretty-for-Path"],[9055,"impl-Debug-for-Loc"],[9056,"impl-Pretty-for-Loc"],[9059,"impl-FixpointFmt-for-Real"],[9060,"impl-Debug-for-Real"],[9061,"impl-Pretty-for-Constant"],[9062,"impl-Debug-for-Constant"],[9073,"impl-From%3CVar%3E-for-Expr"],[9074,"impl-From%3Ci32%3E-for-Expr"],[9075,"impl-From%3C%26Expr%3E-for-Expr"],[9076,"impl-From%3CPath%3E-for-Expr"],[9077,"impl-From%3CName%3E-for-Expr"],[9105,"impl-From%3CLocal%3E-for-Loc"],[9106,"impl-From%3CName%3E-for-Loc"],[9107,"impl-From%3Cu32%3E-for-KVid"],[9108,"impl-From%3Cusize%3E-for-KVid"],[9111,"impl-From%3Cu32%3E-for-Name"],[9113,"impl-From%3Cusize%3E-for-Name"],[9117,"impl-From%3Cu128%3E-for-Constant"],[9119,"impl-From%3CSymbol%3E-for-Constant"],[9120,"impl-From%3Cbool%3E-for-Constant"],[9121,"impl-From%3Ci128%3E-for-Constant"],[9123,"impl-From%3Cusize%3E-for-Constant"],[9124,"impl-From%3Ci32%3E-for-Constant"],[9188,"impl-KVid"],[9189,"impl-Idx-for-KVid"],[9190,"impl-Idx-for-Name"],[9191,"impl-Name"],[9275,"impl-Mul%3CRhs%3E-for-%26Expr"],[9276,"impl-Mul%3CRhs%3E-for-Expr"],[9318,"impl-Sub%3CRhs%3E-for-Expr"],[9319,"impl-Sub%3CRhs%3E-for-%26Expr"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMgjqwELAAEADgAvAEUAGQBgAAIAZAAMAHIAAQB2AAEAeQAAAHsAAAB9AAAAfwAKAIsACQCcAAcApgADAKsABACyADYA6gAHAPMAAgD3ABYAEAElADcBAQA6AQUARAEPAFUBCABfAQAAYQEOAHEBAABzAQUAegECAH8BAgCDAQMAiAEFAI8BAACRAQEAlAEFAJsBAACdAQMAogEBAKUBAQCoAQAAqgEGALIBCQC9AQEAwAEJAMwBBQDUAQAA1gEEAN0BAADiARkA/gEGAAcCAAAKAgsAGAIAABoCAAAcAgAAHwIGACgCCgA0AgkAPwIEAEUCAgBJAgEATAICAFACAQBTAgMAWQIbAXkDcwE/BYABwQagAGQHAQBnBwEAagcBAG0HAABwBwAAcgcBAHUHAAB3BwAAeQcAAHwHAQCABwEAhAcBAIgHAQCLBwAAjgcAAJAHAACSBwAAlAcAAJYHAQCZBwAAmwcAAJ4HAQChBwAAowcAAKYHAQCqBwAArAcBALAHAQC0BwEAuAcAALoHAAC8BwEAvwcCAMMHAQDGBwIAywcBAM4HAQDRBwAA0wcAANYHAADYBwEA3AcBAN8HAADiBwEA5QcAAOgHAADqBwAA7AcBAPAHAgD0BwAA9wcAAPkHAAD7BwEA/gcAAAAIAAADCAEABwgCAAsIAQAPCFMAawgUAIEIAQCECFMAKwlpAJoJIgC+CR8A3wmrAowMAACODAAAkAwAAJIMAgCWDAcAnwwDAKQMLwDVDAUA3AwBAN8MXwBADQQARg0pAHUNNQCsDQAArg0AALANAQCzDQAAtQ0OAMUNBgDRDQUA2A0EAN4NDwDvDQoA+w0eABwOJABCDgQASQ4EAE8OCQBbDhQAdw4yAKsOAACtDgAArw4BALIOAAC1DgMAug4IAMcOCwDUDgYA4g5XADsPAQA+DwIAQg8BAEYPHQBoDxMAfQ8RAJAPAQCTDwAAlg8OAKkPVwACEBIAFhAZADQQAQA3EAQAPRAIAEcQBQBPEBIAYxAEAGkQAQBsEBgAhxAMAJYQCwCjEAEAphALALoQDADIEAAAyhABAM0QAwDSEAIA1hAFAN0QAwDiEBsA/xAAAAERBAAHEQAADBEHABYRDAAkERcAPREBAEMRhgDLEUwAIRKqAM4SyADoExkAAxRPA1QXtgAMGAIAERgAABMYAAAVGAAAFxgBABoYAAAdGAAAHxgBACMYAQAmGAAAKRgAACsYAAAtGAEAMRgAADMYAAA1GAAANxgAADkYAQA8GAAAPhgAAEAYAQBDGAAARhgAAEgYAABKGAAATBgAAE4YAABQGAAAUhgAAFQYAQBXGAIAWxgBAF4YAABgGAMAZhgBAGkYAgBtGAAAbxgAAHEYAABzGAAAdhgAAHgYAAB6GAEAfhgAAIAYAACCGAEAhhgBAIkYAACMGAAAjhgBAJEYAACUGAAAlhgAAJgYAACaGAAAnBgAAJ4YAQChGAAAoxgAAKUYAACnGAAAqRgAAKsYAACuGAAAsBgBALMYAAC2GAAAuBhVABoZAAAfGUsAbBkAAG4ZAQByGQIAdhlhACgaVwCCGgUAiRoEAI8aZwD4GgUA/xoBAAIbIwAoGwcAMhsAADQbAQA3GwcAQRvrAC8cgwK3HjoA8x4AAPUeAgD5HgAA+x4LAAgfAAANHwMAEx8cADEfJABaHwoAaR8YAIMfAQCGHwAAiB8AAIofFwCmHx8Axx8RANofAQDdHwEA4h8DAOcfDwD5HxwAHiAIACggHwBJIBYAYSASAHYgAAB4IAAAeyAAAH0gAAB/IAAAgSADAIcgCACUIAUAmyAHAKsgLADZICEA/CAHAAUhDwAWIQcAICEDACUhAQAoIQQAMSEJADwhCwBKIT4AiiEUAKMhAwCoIW4AKyJBAW4jAABwIwAAciMFAHojAQB9IwAAgCMBAIMjAACFIwAAhyMAAIojAQCNIwAAjyMAAJEjBACXIwEAmiMBAJ0jAQCgIxwAxSMfAOYjAQDpIxUAACQAAAIkAAAXJBQALSQBADIkJwBbJAMAYSQAAGMkgADlJFoAQSUNAFAlAQBTJQ0AYiUHAGslEQB+JQEAgSUBAIQlAQCHJQEAiiUjAK8lCgC9JRIA0SUBANUlBwDgJQYA6CU2ACImFQA5JgAAOyYAAD0mCwBMJjMAgiYIAIwmAQCPJgYAmCYrAMUmAQDIJgEAyyYAAM4mGQDxJj4AMScAADMnAAA1JwAANycBADsnAAA9JwAAPycAAEEnGgBlJwoAcScNAIAnAwCFJ2EA"}],\ +["flux_middle",{"t":"JPPPPGPPPGKFGFFJFQQQQQQQQQQQNNNNNNNNNNNMCNNNNNNNNNNNNNNNNNNNNNNNNNNNOCHNNNNNNNNNNNNNNNNNNNNNNNOONOOCNNNNNNNNOONNONNNNNNNNNNNNNNNNNNNNNNCOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNONOOOCNCQNCOOCOONNNNNNNNNOOQNNNNNNNNNNNNNNMOONNNNNNNNNNNNNNNNNNNNNONNNNNNNQFPPTGTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNKIPIPMMMMMMMMMMMMMPPPPFPPIPFGPPFPFPGGPPPPPPPPPPFGPPPPPPPGPFPPPPPPFPGGFFPPPGFGGPPPFFFPPFPGGIFGFPPPPPGPFPFFPGPPPPGPPPFPGFPPGPPGPPPPPTTTTPPPPPFGPPPPPGPPPPPPFPPPPPFGFFPPFFFFPPGPGPGFPPPPPPFGFFFGPPPPPPPPPPGFIPFGFGPPPPFGPTPFPPFGFPGPPGPFFPGPPPPPPPPPGPPPFFFFPPTTONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNOONOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONOOONONNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOOOOOOOOOOOOONCOOOOONONOOOOOOOONNNNNNNOOOONOOOOOOOOOOOOOOOOOONOOOOONOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOPFPINNNNNNNNCNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOONNNNNNNNFNNNONNNNNNNNNNNNOONNNNNNNKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFFFFFNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNNNNNNNNONNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFKPFGTTFKFPFTNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNQNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNMNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNMNNNNNONONNOONOOQNNNNNNNNNNNNNNNNNNNNNNNOQNOONNONNNNQONHOONOQNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNQNQPIPPPPPPFFGFIPNOONOONOONOONNNNNNNNNNNOONNNNNNNNOONNNOOONNNNNNNNNOOHNNNNQNONOONNNNNNOONNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNOONONONONONONONNOOONOONOONOOHNOOOONONNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNOOOOOOOOOPPPPPPFFFFFPGPPPPGFFPPPPPFFPPPGGPFPPPPPQPFGFGFGIPPPPGPPFPFGIPGFGFPPPPPGFGPPPPFFPPPPFEPEFPFFGPPGFFPFPGPPPPSGPPPGPPPPFPFPFPPPFPGIKFGFFPPPGPPPPPSJPPPPPPPPPEPPPPPQGFPIFPFFFPPPIGPPPFFPTTTTTTTTPPPPPGFPPPPPPPGFPPGPFPPPPPFFFFPIIIFIIIIPPPPPPFPGFPPPPPPPFPPPPQPIFFGPFSFPPGPPGGGGPFFFFPPPPPFIPPFFPPPPPFPIGFPPPIPPPPPJPQGGPPPPPPGPPPFFFTTTTONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONCNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCNNNNNNNNNNNCONONONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOOOOOOONOONNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNONCOONNONNOOOONOOOONNNNOOOOOOOOOOOCNOOOOOOOOOOOONOOCNNNONNNNNNNNNNNNNNNNOCNOONOOOOONONONHNNOONOOONNNNNNNNNNNNNNNNNNNCNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPFGGIFIPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNFGPPFKFNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNOOOOONNNNNNNNNNNNNOOCNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNNFFFFFGFTTJPPFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNPPPPPGPFPPGPPPFPPGPPFPPFPFPGGPPPPPPPGPPPPFPFFPGPPPTTTTPPFPPPTPFPPFPPPTPPGPGPPTTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONONNNNOONNNNNNNNNNNNNNONNNNNNNNCOONNONNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOPPPPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFRRKQKKKKKKNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNMNNNNNNNNNNNNNNNNNMNNMONNNNNNNNMNNFFFNNNNNNNNNNNNNOONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPFPPONNHNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFPGNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNONNNNHNNHNNNNNHNHNNNNNNNNNNNNNNNNNNNNNFKFFRFFKFFFFKNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNMNNMNNOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNNNNNOMNNOMNMNHMMNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["DEFAULT_LOCALE_RESOURCE","Dup","Extern","Extern","ExternSpec","ExternSpecMappingErr","IsLocal","Local","Local","MaybeExternId","PlaceExt","PlaceTy","ResolvedDefId","ResolverOutput","Specs","THEORY_FUNCS","TheoryFunc","_Bool","_Int","_Ref","_Uint","_define_scoped","_format_args_cx","_impl_debug_with_default_cx","_join","_parens","_w","_with_cx","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_extern","as_local","as_maybe_extern","behind_raw_ptr","big_int","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","crate_config","cstore","def_id_to_string","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","dummy_extern","enums","expect_local","expr_path_res_map","extern_id_to_local_id","fhir","field_ty","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fixpoint_name","flux_items_by_parent","fmt","fmt","fn_sigs","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_ty","global_env","ignores","impl_trait_res_map","implicit_params","impls","init","init","init","init","init","init","init","insert_dummy","insert_extern_spec_id_mapping","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_extern","is_local","local_id","local_id_to_extern_id","map","name","param_res_map","path_res_map","pretty","projection_ty","queries","query_bug","resolved_id","rty","should_fail","sort","sort_of","sort_path_res_map","structs","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","traits","trusted","try_alloc_slice","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","ty","ty","ty_aliases","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variant_index","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_list","BigInt","Negative","NonNegative","ONE","Sign","ZERO","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","cmp","cmp","collect_and_apply","collect_and_apply","compare","compare","compare","compare","decode","decode","deref","deref","deref_mut","deref_mut","drop","drop","encode","encode","eq","eq","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","hash","hash","init","init","int_max","int_min","into","into","into_query_param","into_query_param","partial_cmp","partial_cmp","sign","to_owned","to_owned","to_result","to_result","to_string","try_from","try_from","try_into","try_into","type_id","type_id","uint_max","upcast","upcast","upcast_from","upcast_from","val","vzip","vzip","CrateStore","CrateStoreDyn","None","OptResult","Some","adt_def","adt_sort_def","assoc_refinements_def","assoc_refinements_of","default_assoc_refinements_def","fn_sig","generics_of","item_bounds","predicates_of","refinement_generics_of","sort_of_assoc_reft","type_of","variants","Abs","Add","Adt","Alias","AliasReft","And","App","Arena","Array","AssocItemConstraint","AssocItemConstraintKind","At","BareFn","BareFnTy","Base","BaseTy","BaseTy","BaseTyKind","BinOp","BinaryOp","BitVec","Bool","Bool","Bool","Char","Colon","Const","Const","Const","ConstArg","ConstArgKind","ConstGeneric","Constr","Def","Def","Div","Dot","EVar","Ensures","Enum","EnumDef","Eq","Equality","Err","Error","Exists","Explicit","Expr","Expr","ExprKind","ExprRes","FhirId","FieldDef","Float","Flux","Flux","FluxItem","FluxItems","FluxLocalDefId","FluxOwnerId","Fn","Fn","Fn","FnDecl","FnOutput","FnSig","Func","Func","FuncSort","Ge","GenericArg","GenericBound","GenericBounds","GenericParam","GenericParamKind","Generics","GlobalFunc","Gt","Hole","IfThenElse","Iff","Ignored","Imp","Impl","Impl","ImplAssocReft","ImplItem","ImplItem","ImplItemKind","Indexed","Infer","Infer","Infer","InferMode","Int","Int","Int","Item","Item","ItemKind","ItemLocalId","KVar","Le","Lifetime","Lifetime","Lifetime","Lit","Lit","Literal","Loc","Loc","Lt","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Map","Maybe","Mod","Mul","Mut","MutTy","Mutability","Ne","Neg","Never","No","No","Node","None","Not","Not","NumConst","Opaque","OpaqueDef","OpaqueTy","OpaqueTy","Or","Outlives","Param","Param","ParamId","ParamKind","PartialRes","Path","Path","Path","PathExpr","PathSegment","PolyFuncSort","PolyTraitRef","Pound","Pred","PrimSort","PrimSort","PrimTy","PrimTy","QPath","Qualifier","Qualifier","RawPtr","Real","Real","Record","Ref","RefineArg","RefineArgKind","RefineParam","RefinedBy","Requires","Res","Resolved","Resolved","Rust","Rust","SelfAlias","SelfParam","SelfTyAlias","SelfTyParam","Set","Slice","Sort","SortDecl","SortDecls","SortParam","SortPath","SortRes","SpecFunc","SpecFuncKind","Str","Str","StrgRef","Struct","StructDef","StructKind","Sub","TRUE","Thy","Trait","Trait","Trait","TraitAssocReft","TraitBoundModifier","TraitItem","TraitItem","TraitItemKind","TraitObject","Transparent","Trusted","Tuple","Ty","TyAlias","TyAlias","TyKind","TyParam","Type","Type","Type","Type","Type","TypeRelative","Uif","Uint","UnOp","UnaryOp","User","Var","VariantDef","VariantIdx","VariantRet","WhereBoundPredicate","Yes","Yes","ZERO","ZERO","abi","add","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args","args","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_path","as_path","as_u32","as_u32","as_usize","as_usize","assoc_refinements","assoc_refinements","base_res","base_res","body","body","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","bound_generic_params","bounded_ty","bounds","bounds","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","constraints","decl","decl","decode","decode","decode","decode","decode","def_id","def_id","def_id","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","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","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","descr","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","ensures","enum_id","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","expect_enum","expect_full_res","expect_impl","expect_opaque_ty","expect_param","expect_struct","expect_trait","expect_type","expect_type_alias","expr","fhir_id","fhir_id","fhir_id","fhir_id","fhir_id","fields","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find_assoc_reft","find_assoc_reft","fingerprint_style","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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_sig","fold_with","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_param_kind","from_qpath","from_u16","from_u16","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","fsort","full_res","generic_params","generics","generics","generics","generics","get_param","global","hash","hash","hash","hash","hash","hash","hash","header","id","ident","ident","idx","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs","inputs_and_output","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diag_arg","into_diag_arg","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","invariants","is_base_generic","is_box","is_box","is_colon_param","is_loc","is_opaque","items","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","last_segment","lift","lifted","lifted","lifted","lifted","local_id","map_param_id","mutbl","name","name","name","name","name","name","name","name","name","new","new","new","new","new","new","output","output","output","output","owner","owner_id","owner_id","owner_id","owner_id","param_names","params","params","params","params","params","params","params","params","params","params","params","path","pred","predicates","prefix_str","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","qself","qualifiers","recover","refine","refined_by","refined_by","refined_by","refinement_params","requires","res","res","res","res","ret","ret","safety","segments","segments","segments","self_kind","sort","sort","sort_params","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","span","storage","to_bool","to_bool","to_debug_str","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","trait_def_id","trait_ref","trivial","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","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","unresolved_segments","unresolved_segments","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variants","visit","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_refined_by","with_unresolved_segments","term","default","is_host_effect","ty","alias_to","is_trait_impl","trait_","alias_to","name","trait_id","fields","Err","LiftCtxt","Ok","Result","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","emit_err","emit_unsupported","errors","filterable","from","from","from_cycle_error","genv","init","insert_opaque_ty","into","into_query_param","lift_array_len","lift_assoc_item_constraints","lift_bare_fn","lift_const_arg","lift_enum_variant","lift_enum_variant_id","lift_field_def","lift_field_def_id","lift_fn_decl","lift_fn_decl_inner","lift_fn_header","lift_fn_ret_ty","lift_generic_args","lift_generic_bound","lift_generic_param","lift_generics","lift_generics_inner","lift_lifetime","lift_mut_ty","lift_opaque_ty","lift_path","lift_path_segment","lift_poly_trait_ref","lift_qpath","lift_refined_by","lift_ty","lift_type_alias","lift_variant_ret","lift_variant_ret_inner","lift_where_predicate","local_id","local_id_gen","new","next_fhir_id","opaque_tys","owner","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","with_new_owner","UnsupportedHir","borrow","borrow_mut","collect_and_apply","def_kind","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","new","note","span","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","Visitor","visit_alias_reft","visit_assoc_item_constraint","visit_bty","visit_ensures","visit_enum_def","visit_expr","visit_field_def","visit_fn_decl","visit_fn_output","visit_fn_sig","visit_func_sort","visit_generic_arg","visit_generic_bound","visit_generics","visit_impl","visit_impl_assoc_reft","visit_impl_item","visit_item","visit_lifetime","visit_literal","visit_node","visit_opaque_ty","visit_path","visit_path_expr","visit_path_segment","visit_poly_func_sort","visit_poly_trait_ref","visit_qpath","visit_refine_arg","visit_refine_param","visit_requires","visit_sort","visit_sort_path","visit_struct_def","visit_trait_assoc_reft","visit_trait_item","visit_ty","visit_ty_alias","visit_variant","visit_variant_ret","visit_where_predicate","walk_alias_reft","walk_assoc_item_constraint","walk_bty","walk_ensures","walk_enum_def","walk_expr","walk_field_def","walk_fn_decl","walk_fn_output","walk_fn_sig","walk_func_sort","walk_generic_arg","walk_generic_bound","walk_generics","walk_impl","walk_impl_assoc_reft","walk_impl_item","walk_item","walk_node","walk_opaque_ty","walk_path","walk_path_segment","walk_poly_func_sort","walk_poly_trait_ref","walk_qpath","walk_refine_arg","walk_refine_param","walk_requires","walk_sort","walk_sort_path","walk_struct_def","walk_trait_assoc_reft","walk_trait_item","walk_ty","walk_ty_alias","walk_variant","walk_variant_ret","walk_where_predicate","GlobalEnv","GlobalEnvInner","Ident","Map","Symbol","adt_def","adt_sort_def_of","alloc","alloc_slice","alloc_slice_fill_iter","alloc_slice_with_capacity","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","arena","as_any","as_any","assoc_refinement_def","assoc_refinements_of","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_wf","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_specs","compare","compare","crate_config","cstore","cstore","def_id_to_param_index","def_kind","default_assoc_refinement_def","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","desugar","drop","drop","drop","drop","drop","emit","enter","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error_reported","error_reported","expect_item","fhir","fhir_crate","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fn_quals_for","fn_sig","fold_with","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_decl","generics_of","genv","get_flux_item","get_generics","has_type_flags","has_type_flags","has_vars_bound_at_or_above","has_vars_bound_at_or_above","hir","ignored","impl_trait_ref","init","init","init","init","init","inner","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_box","is_dummy","is_fn_once_output","is_suggestable","is_suggestable","item_bounds","iter_extern_def_id","iter_local_def_id","lower_fn_sig","lower_generics_of","lower_late_bound_vars","lower_predicates_of","lower_type_of","make_suggestable","make_suggestable","map","maybe_extern_id","mir","name","new","node","normalize_weak_alias_sort","predicates_of","qualifiers","qualifiers","qualifiers_for","queries","recover","recover","refine_default","refine_with_holes","refined_by","refinement_generics_of","resolve_crate","resolve_id","sess","sess","should_fail","sort_of_assoc_reft","sort_of_generic_param","sort_of_rust_ty","sort_of_self_ty_alias","span","spec_func","spec_func_defns","spec_funcs","tcx","tcx","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_string","to_string","traverse_parents","trusted","try_fold_with","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","type_of","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","variances_of","variant_sig","variants_of","visit_with","vzip","vzip","vzip","vzip","vzip","All","BoundVarName","Env","FromOpt","Hide","Join","KVarArgs","MAX","MAX_AS_U32","Parens","Pretty","PrettyCx","SelfOnly","WithCx","ZERO","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_u32","as_usize","bindings_chain","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cx","data","default","default","default_cx","define_scoped","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","env","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt_bound_reft","fmt_bound_vars","format_args_cx","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_opt","from_opt","from_u16","from_u32","from_u32_unchecked","from_usize","full_spans","fully_qualified_paths","fully_qualified_paths","hash","hide_binder","hide_binder","hide_refinements","hide_regions","hide_regions","hide_uninit","impl_debug_with_default_cx","index","index","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","join","kvar_args","kvar_args","layers","lookup","merge","name_gen","new","new","new","new","parens","parenthesize","pop_layer","pprint_with_default_cx","preds_chain","private_use_as_methods_instead","push_layer","sep","set_opts","show_is_binder","show_is_binder","simplify_exprs","tags","tcx","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","val","vzip","vzip","vzip","vzip","vzip","vzip","vzip","w","with_bound_vars","with_cx","Bug","Cache","Emitted","Err","Ignored","InvalidAssocReft","InvalidGenericArg","Ok","Providers","Queries","QueryErr","QueryErrAt","QueryResult","Unsupported","adt_def","adt_def","adt_def","adt_sort_def_of","adt_sort_def_of","adt_sort_def_of","assoc_refinement_def","assoc_refinement_def","assoc_refinement_def","assoc_refinements_of","assoc_refinements_of","assoc_refinements_of","at","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bug","check_wf","check_wf","check_wf","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_specs","collect_specs","collect_specs","decode","default","default_assoc_refinement_def","default_assoc_refinement_def","default_assoc_refinement_def","defns","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","desugar","desugar","desugar","dispatch_query","drop","drop","drop","drop","empty_query","encode","err","fhir_crate","fhir_crate","fhir_crate","filterable","filterable","filterable","filterable","fmt","fn_sig","fn_sig","fn_sig","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","func_decl","func_decls","generics_of","generics_of","generics_of","init","init","init","init","into","into","into","into","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","item_bounds","item_bounds","item_bounds","lower_fn_sig","lower_fn_sig","lower_generics_of","lower_generics_of","lower_late_bound_vars","lower_late_bound_vars","lower_predicates_of","lower_predicates_of","lower_type_of","lower_type_of","mir","mir","new","predicates_of","predicates_of","predicates_of","providers","qualifiers","qualifiers","qualifiers","refinement_generics_of","refinement_generics_of","refinement_generics_of","resolve_crate","resolve_crate","resolve_crate","run_with_cache","sort_of_assoc_reft","sort_of_assoc_reft","sort_of_assoc_reft","span","spec_func_decl","spec_func_defns","spec_func_defns","to_owned","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_of","type_of","type_of","unsupported","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","variants_of","variants_of","variants_of","vzip","vzip","vzip","vzip","container_def_id","def_id","def_id","def_id","def_id","err","location","msg","name","Abs","Add","Adt","Adt","Adt","Adt","AdtDef","AdtDefData","AdtFlags","AdtSortDef","AdtSortDefData","Aggregate","AggregateKind","Alias","Alias","Alias","Alias","AliasKind","AliasReft","AliasTy","And","Annon","App","App","Array","AssocRefinement","AssocRefinements","AutoTrait","Base","Base","BaseTy","BinOp","BinaryOp","Binder","BitVec","Blocked","Bool","Bool","Bool","Bool","Bound","BoundReft","BoundReftKind","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","BoundVariableKinds","Box","BrAnon","BrEnv","BrNamed","BvSize","BvSize","BvSize","BvSizeVid","Char","Clause","ClauseKind","Clauses","Closure","ClosureKind","ClosureOblig","Coercion","Const","Const","Const","ConstArgHasType","ConstDefId","ConstGeneric","ConstKind","ConstVid","Constant","Constant","Constr","Coroutine","CoroutineOblig","CoroutineObligPredicate","DebruijnIndex","Discr","Div","Downcast","Dynamic","ESpan","EVar","EVar","EVarGen","EarlyBinder","EarlyParam","EarlyParamRegion","EarlyReftParam","Ensures","Eq","Err","ExistentialPredicate","ExistentialProjection","ExistentialTraitRef","Exists","Expr","Expr","ExprKind","F128","F16","F32","F64","FIRST_VARIANT","FieldProj","FieldProj","Fixed","Float","FloatTy","Fn","FnDef","FnMut","FnOnce","FnOutput","FnPtr","FnSig","FnTrait","FnTraitPredicate","ForAll","Free","Func","FuncSort","Ge","GenericArg","GenericArgs","GenericArgsExt","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","GlobalFunc","Gt","Hole","HoleKind","I128","I16","I32","I64","I8","INNERMOST","INT_TYS","IfThenElse","Iff","Imp","Indexed","Infer","Infer","Infer","Infer","Infer","InferMode","Inject","Int","Int","Int","Int","Int","IntTy","Invariant","Isize","ItemLocalMap","KVar","KVar","KVid","Lambda","LateParamRegion","Le","Lifetime","Lifetime","List","Loc","Loc","Local","Local","LocalTableInContext","LocalTableInContextMut","Lt","MAX","MAX","MAX","MAX","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","MAX_AS_U32","Map","Mod","Mul","Mut","Mut","Mutability","Name","Named","Ne","Neg","Never","Not","Not","NumVar","NumVarValue","NumVid","Opaque","Opaque","Opaqueness","Or","OutlivesPredicate","Param","Param","Param","Param","Param","ParamConst","ParamSort","ParamTy","Path","PathProj","PolyExistentialPredicate","PolyExistentialTraitRef","PolyFnSig","PolyFuncSort","PolyTraitPredicate","PolyTraitRef","PolyVariant","PolyVariants","Pred","Pred","Project","Projection","Projection","Projection","ProjectionPredicate","Ptr","PtrKind","Qualifier","RawPtr","ReBound","ReEarlyParam","ReErased","ReLateParam","ReStatic","ReVar","Real","Real","Real","Real","Ref","Ref","Refine","RefineArgs","RefineParam","RefinementGenerics","Region","Region","RegionVid","SELF_PARAM_TY","ScalarInt","Set","Slice","Sort","Sort","Sort","SortArg","SortCtor","SortInfer","SortParamKind","SortVar","SortVid","SpecFunc","SpecFuncDecl","SpecFuncDefns","Str","Str","Str","StrgRef","Sub","SubsetTy","SubsetTyCtor","Trait","Trait","TraitPredicate","TraitRef","Transparent","Tuple","Tuple","Tuple","Tuple","Ty","Ty","TyCtor","TyKind","TyVid","Type","Type","TypeOutlives","TypeOutlivesPredicate","U128","U16","U32","U64","U8","UINT_TYS","Uint","Uint","UintTy","UnOp","UnaryOp","Unevaluated","Uninit","User","Usize","Value","Var","Var","Var","Var","VariantIdx","VariantSig","WfckResults","ZERO","ZERO","ZERO","ZERO","abi","add","add","add","add","adt","adt_def","alias","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","app","apply","args","args","args","args","args","args","args","array","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_bty_skipping_binder","as_bty_skipping_existentials","as_deref","as_ref","as_u32","as_u32","as_u32","as_u32","as_usize","as_usize","as_usize","as_usize","base","bin_rel_sorts","bin_rel_sorts","bin_rel_sorts_mut","binder","blocked","body","body","bool","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","bound_region","box_args","box_args","bty","canonicalize","char","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","closure","coercions","coercions","coercions_mut","collect_all_params","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","const_params","constr","container_def_id","coroutine","count","count","data","data","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def_id","def_id","def_id","def_id","def_id","def_id","def_id","def_id","def_id","default","default","default_cx","default_cx","defns","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","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","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","did","did","discr","discriminants","downcast","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dynamic","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","ensures","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","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","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","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","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","espan","evars","exists","exists_with_constr","expect","expect_adt","expect_adt","expect_base","expect_discr","expect_func","expect_mono","expect_tuple","expect_type","expr","expr","field_by_name","field_names","field_projs","field_projs","field_projs_mut","field_sorts","fields","fields","fields","fill_item","filter_generic_args","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","float","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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_def","fndef_poly_sig","fold","fold_with","fold_with","fold_with","for_item","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_index","from_index","from_index","from_param_def","from_primitive_str","from_u16","from_u16","from_u16","from_u16","from_u32","from_u32","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","from_usize","from_usize","from_usize","fsort","get","global","has_self","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","identity_args","identity_for_item","idx","idx","index","index","index","index","index","index","index","index","index","index","index","index","index","index","index","index","indexed","infer","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs","inputs","inputs_and_output","insert","instantiate","instantiate_identity","int","int_invariants","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_diag_arg","into_diag_arg","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","invariants","invariants","invariants","is_adt","is_array","is_array","is_bool","is_bool","is_bool","is_box","is_box","is_box","is_enum","is_float","is_integral","is_integral","is_loc","is_numeric","is_numeric","is_opaque","is_pred","is_signed","is_slice","is_slice","is_struct","is_struct","is_struct","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_uninit","is_unit","is_unit_adt","is_unsigned","items","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind","kind_skipping_binder","kvid","loc","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","map","mk_box","mk_box_with_default_alloc","mk_ref","mk_slice","mode","name","name","name","name","name","name","name","name","name","name","name","never","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","new","node_sorts","node_sorts","node_sorts_mut","normalize","oblig_def_id","oblig_sig","ok_or_else","opaque","opaque","output","output","output","output","output","output","own_default_count","own_params","owner","owner","owner","param","param_at","param_at","params","params","params","params","parent","parent","parent","parent_count","parent_count","pred","pred","predicates","pretty","primitive_symbol","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","projection","projection","projection_ty","projections","projections","ptr","record_ctors","record_ctors","record_ctors_mut","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","refine_args","refining","requires","requires","resume_ty","ret","ret","rustc","safety","scope","self_args","self_ty","self_ty","shallow_canonicalize","size","skip_binders","slice_invariants","sort","sort","sort","sort","sort_def","sort_def","sorts","span","stable_cmp","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","storage","str","strengthen","strg_ref","subst","super_visit_with","super_visit_with","super_visit_with","tag","tag","tag","term","term","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_poly","to_poly_fn_sig","to_poly_fn_sig","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_sort","to_sort","to_string","to_string","to_string","to_string","to_ty","to_ty","to_ty","to_ty","trait_id","trait_object_dummy_self","trait_object_dummy_self","trait_ref","transpose","trivial","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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_super_fold_with","try_super_fold_with","try_super_fold_with","try_super_fold_with","try_super_fold_with","tuple","tuple","tupled_args","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint","uint_invariants","unblocked","unconstr","unify_values","unify_values","unify_values","uninit","unit","unit","unpack_box","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upvar_tys","value","value","value","value","value","value","value","value","value","var","var","variant","variants","vars","vars","vars","vars","vars","vars","vars","vars","vars","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk","arity","def_id","field","field","has_default","has_default","name","Annon","Binder","BoundReftKind","BoundVariableKind","BoundVariableKinds","EarlyBinder","List","Named","Refine","Region","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","as_any","as_any","as_bty_skipping_binder","as_deref","as_ref","as_ref","bind_with_sort","bind_with_sorts","bind_with_vars","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","decode","decode","decode","decode","def_id","def_id","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","dummy","encode","encode","encode","encode","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expect_refine","expect_sort","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fold_with","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","hash","hash","init","init","init","init","instantiate","instantiate_func_sort","instantiate_identity","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","is_refine","map","map","partial_cmp","predicates","rebind","replace_bound_reft","replace_bound_refts","replace_bound_refts_with","replace_bound_vars","skip_binder","skip_binder","skip_binder_ref","sort","storage","storage","super_visit_with","to_owned","to_owned","to_owned","to_owned","to_poly_fn_sig","to_result","to_result","to_result","to_result","to_rustc","to_rustc","to_ty","to_ty","trait_object_dummy_self","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_map","try_map","try_super_fold_with","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","value","vars","vars","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","CanonicalConstrTy","CanonicalTy","Constr","Exists","Hoister","HoisterDelegate","LocalHoister","bind","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","default","delegate","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","existentials","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fold_bty","fold_ty","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hoist","hoist_constr","hoist_constr","hoist_existentials","hoist_exists","hoist_exists","hoist_inside_boxes","hoist_inside_downcast","hoist_inside_mut_refs","hoist_inside_shr_refs","hoist_inside_tuples","in_boxes","in_downcast","in_mut_refs","in_shr_refs","in_tuples","init","init","init","init","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","pred","pred","preds","pretty","shallow","to_result","to_result","to_result","to_result","to_subset_ty_ctor","transparent","try_fold_binder","try_fold_bty","try_fold_const","try_fold_expr","try_fold_region","try_fold_sort","try_fold_subset_ty","try_fold_ty","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","ty","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","vars","vzip","vzip","vzip","vzip","with_delegate","EVar","EVarCtxt","EVarCxId","EVarGen","EVarSol","EVarState","EVid","MAX","MAX_AS_U32","NEXT_CTXT_ID","Unified","Unsolved","UnsolvedEvar","ZERO","add","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","as_any","as_any","as_any","as_u32","as_usize","backward_checked","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","current_data","cx","cx","data","data","decode","decode","decode","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","enter_context","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evar","evars","exit_context","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fix","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward_checked","fresh_in","fresh_in_current","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u16","from_u32","from_u32_unchecked","from_usize","get","hash","hash","hash","id","index","index","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","iter","new","partial_cmp","partial_cmp","partial_cmp","pending","pretty","private_use_as_methods_instead","stack","steps_between","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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_solve_pending","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unify","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vars","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Abs","Add","Adt","Adt","Aggregate","AggregateKind","Alias","AliasReft","And","App","BinOp","BinaryOp","Bool","Bound","BoundReft","ConstDefId","ConstGeneric","Constant","Constant","Div","ESpan","EVar","EarlyParam","EarlyReftParam","Eq","Expr","Expr","ExprKind","FieldProj","FieldProj","ForAll","Free","Ge","GlobalFunc","Gt","Hole","HoleKind","IfThenElse","Iff","Imp","Int","KVar","KVar","KVid","Lambda","Le","Loc","Local","Local","Lt","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Mod","Mul","Name","Ne","Neg","Not","ONE","Or","Path","PathProj","Pred","Real","Real","Str","Sub","TRUE","Tuple","Tuple","UnOp","UnaryOp","Var","Var","Var","ZERO","ZERO","ZERO","abs","add","add","add","add","adt","aggregate","alias","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","and","and","and_from_iter","app","apply","args","args","arity","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_u32","as_u32","as_usize","as_usize","at","at_base","at_opt","backward_checked","base","binary_op","bind_with_fsort","bind_with_vars","body","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","bvar","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","cmp","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","const_def_id","const_generic","const_op","constant","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","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","div","div","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","early_param","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","espan","eta_expand_abs","evar","expect_adt","ff","field_idx","field_proj","field_projs","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","flatten_conjs","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold_sort","fold_with","forall","forward_checked","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_const","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_scalar_int","from_u16","from_u16","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","fsort","fsort","fvar","ge","ge","global_func","gt","gt","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hole","iff","imp","impl_ops","implies","index","index","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","int_max","int_max","int_min","int_min","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_abs","is_atom","is_binary_op","is_nu","is_trivially_true","is_true","is_unit","ite","kind","kind","kind","kvar","kvid","le","loc","local","lt","mul","mul","name","name","ne","ne","neg","new","new","new","new","new","not","nu","or","or","or_from_iter","output","output","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path_proj","precedence","pretty","private_use_as_methods_instead","private_use_as_methods_instead","proj_and_reduce","projection","projection","scope","self_args","self_args","simplify","span","span","steps_between","storage","storage","storage","sub","sub","super_visit_with","to_bool","to_expr","to_expr","to_expr","to_int","to_loc","to_loc","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_path","to_proj","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_rustc_trait_ref","trait_id","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_fold_with","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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_super_fold_with","tt","tuple","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_max","uint_max","unary_op","unit","unit_adt","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","var","var","vars","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_base","zero","arity","def_id","field","field","AddSub","And","Cmp","Iff","Imp","MulDiv","Or","Precedence","as_any","borrow","borrow_mut","cmp","collect_and_apply","compare","compare","deref","deref_mut","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","from","from","from_cycle_error","init","into","into_query_param","is_associative","partial_cmp","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","BottomUpFolder","BreakTy","Error","FallibleTypeFolder","TrivialTypeTraversalImpls","TypeFoldable","TypeFolder","TypeSuperFoldable","TypeSuperVisitable","TypeVisitable","TypeVisitor","borrow","borrow_mut","collect_and_apply","ct_op","deref","deref_mut","drop","erase_regions","filterable","fold_binder","fold_bty","fold_const","fold_const","fold_expr","fold_region","fold_region","fold_sort","fold_subset_ty","fold_ty","fold_ty","fold_with","from","from","from_cycle_error","fvars","has_escaping_bvars","init","into","into_query_param","lt_op","normalize","normalize_projections","replace_evars","replace_holes","shift_in_escaping","shift_out_escaping","super_fold_with","super_visit_with","to_result","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","try_fold_with","try_from","try_into","try_super_fold_with","ty_op","type_id","upcast","upcast_from","visit_binder","visit_bty","visit_expr","visit_sort","visit_ty","visit_with","vzip","with_holes","BaseSpanner","Normalizer","SpecFuncDefns","app","at_base","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","default","defn_deps","defns","defs","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","espan","filterable","filterable","filterable","fold_expr","fold_expr","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","func_defn","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","new","new","new","normalize","sorted_defns","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Candidate","Normalizer","ParamEnv","TVarSubst","TraitDef","UserDefinedImpl","args","assemble_candidates_from_impls","assemble_candidates_from_param_env","assemble_candidates_from_predicates","assemble_candidates_from_trait_def","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","btys","collect_and_apply","collect_and_apply","collect_and_apply","confirm_candidate","const_for_param","consts","ctor_for_param","def_id","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","expr_for_param_const","filterable","filterable","filterable","find_resolved_predicates","finish","fmt","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","generic_args","genv","get_impl_id_of_alias_reft","init","init","init","insert_generic_arg","instantiate_partial","into","into","into","into_query_param","into_query_param","into_query_param","new","new","normalize_alias_reft","normalize_projection_ty","normalize_projection_ty_with_rustc","param_env","region_for_param","regions","resolve_projection_predicates","rustc_param_env","selcx","sort_for_param","tcx","to_result","to_result","to_result","try_fold_const","try_fold_expr","try_fold_sort","try_fold_ty","try_from","try_from","try_from","try_into","try_into","try_into","ty_for_param","type_id","type_id","type_id","tys","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Base","Refiner","Ty","TyOrBase","adt_def","as_default","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","default","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","generics","generics_of","genv","init","init","into","into","into_ctor","into_query_param","into_query_param","into_ty","new","param","refine","refine_alias_kind","refine_alias_ty","refine_args_of","refine_binders","refine_bound_variables","refine_clause","refine_clauses","refine_default","refine_existential_predicate","refine_existential_predicate_generic_args","refine_fn_trait_pred","refine_generic_arg","refine_generic_args","refine_generic_param_def_kind","refine_generic_predicates","refine_generics","refine_poly_fn_sig","refine_trait_ref","refine_ty","refine_ty_ctor","refine_ty_inner","refine_variant_def","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","with_holes","BoundVarReplacer","BoundVarReplacerDelegate","ConstGenericArgs","EVarSubstFolder","Error","FnMutDelegate","GenericArgsDelegate","GenericsSubstDelegate","GenericsSubstFolder","GenericsSubstForSort","RegionSubst","SortSubst","SortSubstDelegate","apply","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","bv_size_for_param","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","const_for_param","const_for_param","const_for_param","ctor_for_param","ctor_for_param","ctor_for_param","current_index","current_index","default","default","delegate","delegate","delegate","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","empty","evars","expr_for_param","expr_for_param_const","expr_for_param_const","expr_for_param_const","exprs","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fold_binder","fold_expr","fold_expr","fold_region","fold_sort","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","infer_from_bty","infer_from_existential_pred","infer_from_fn_sig","infer_from_generic_arg","infer_from_generic_args","infer_from_region","infer_from_ty","init","init","init","init","init","init","init","init","init","insert","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","lookup","map","match_regions","new","new","new","new","new","refinement_args","region_for_param","region_for_param","region_for_param","regions","replace_expr","replace_expr","replace_region","replace_region","replace_regions_with_unique_vars","sort_for_param","sort_for_param","sort_for_param","sort_for_param","sort_for_param","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_fold_binder","try_fold_binder","try_fold_binder","try_fold_binder","try_fold_bty","try_fold_bty","try_fold_bty","try_fold_const","try_fold_const","try_fold_const","try_fold_const","try_fold_expr","try_fold_expr","try_fold_expr","try_fold_expr","try_fold_region","try_fold_region","try_fold_region","try_fold_region","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_sort","try_fold_subset_ty","try_fold_subset_ty","try_fold_subset_ty","try_fold_subset_ty","try_fold_ty","try_fold_ty","try_fold_ty","try_fold_ty","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","ty_for_param","ty_for_param","ty_for_param","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_middle"],[242,"flux_middle::big_int"],[348,"flux_middle::cstore"],[366,"flux_middle::fhir"],[3205,"flux_middle::fhir::AssocItemConstraintKind"],[3206,"flux_middle::fhir::GenericParamKind"],[3209,"flux_middle::fhir::Res"],[3212,"flux_middle::fhir::SortRes"],[3215,"flux_middle::fhir::StructKind"],[3216,"flux_middle::fhir::lift"],[3282,"flux_middle::fhir::lift::errors"],[3308,"flux_middle::fhir::visit"],[3388,"flux_middle::global_env"],[3644,"flux_middle::pretty"],[3894,"flux_middle::queries"],[4084,"flux_middle::queries::QueryErr"],[4093,"flux_middle::rty"],[7813,"flux_middle::rty::FieldProj"],[7817,"flux_middle::rty::GenericParamDefKind"],[7819,"flux_middle::rty::SortCtor"],[7820,"flux_middle::rty::binder"],[8026,"flux_middle::rty::canonicalize"],[8158,"flux_middle::rty::evars"],[8448,"flux_middle::rty::expr"],[9526,"flux_middle::rty::expr::FieldProj"],[9530,"flux_middle::rty::expr::pretty"],[9571,"flux_middle::rty::fold"],[9653,"flux_middle::rty::normalize"],[9747,"flux_middle::rty::projections"],[9853,"flux_middle::rty::refining"],[9931,"flux_middle::rty::subst"],[10222,"rustc_hir"],[10223,"core::iter::traits::collect"],[10224,"rustc_middle::arena"],[10225,"rustc_span::def_id"],[10226,"core::option"],[10227,"flux_rustc_bridge::mir"],[10228,"core::clone"],[10229,"core::iter::traits::iterator"],[10230,"core::ops::function"],[10231,"alloc::string"],[10232,"rustc_target::abi"],[10233,"flux_rustc_bridge::ty"],[10234,"icu_provider::request"],[10235,"icu_provider_adapters::filter"],[10236,"core::fmt"],[10237,"core::result"],[10238,"rustc_query_system::query::plumbing"],[10239,"rustc_span"],[10240,"rustc_hir::hir_id"],[10241,"core::convert"],[10242,"core::any"],[10243,"core::cmp"],[10244,"core::hash"],[10245,"rustc_span::symbol"],[10246,"flux_syntax::surface"],[10247,"rustc_serialize::serialize"],[10248,"rustc_type_ir::codec"],[10249,"rustc_query_system::dep_graph"],[10250,"rustc_errors::diagnostic"],[10251,"rustc_middle::ty::context"],[10252,"rustc_data_structures::fx"],[10253,"rustc_query_system::dep_graph::dep_node"],[10254,"rustc_span::span_encoding"],[10255,"flux_arc_interner"],[10256,"rustc_data_structures::fingerprint"],[10257,"rustc_hir::def"],[10258,"core::ops::control_flow"],[10259,"rustc_hir::hir"],[10260,"flux_common::index"],[10261,"rustc_data_structures::unord"],[10262,"rustc_errors"],[10263,"rustc_middle::query::plumbing::sealed"],[10264,"core::marker"],[10265,"alloc::rc"],[10266,"flux_config"],[10267,"flux_errors"],[10268,"alloc::boxed"],[10269,"rustc_type_ir::flags"],[10270,"rustc_type_ir"],[10271,"rustc_middle::hir::map"],[10272,"rustc_middle::ty"],[10273,"toml::value"],[10274,"core::cell"],[10275,"flux_rustc_bridge::lowering"],[10276,"core::ops::deref"],[10277,"alloc::vec"],[10278,"rustc_middle::ty::sty"],[10279,"rustc_type_ir::ty_kind"],[10280,"rustc_middle::ty::region"],[10281,"rustc_ast_ir"],[10282,"rustc_target::spec::abi"],[10283,"core::iter::traits::exact_size"],[10284,"rustc_middle::ty::generic_args"],[10285,"rustc_index::slice"],[10286,"rustc_type_ir::visit"],[10287,"flux_rustc_bridge"],[10288,"rustc_middle::ty::list"],[10289,"rustc_middle::mir"],[10290,"rustc_middle::ty::consts::int"],[10291,"rustc_middle::ty::predicate"],[10292,"rustc_hash"],[10293,"rustc_infer::infer"],[10294,"rustc_middle::ty::generics"],[10295,"rustc_middle::ty::adt"],[10296,"rustc_type_ir::const_kind"],[10297,"rustc_type_ir::region_kind"]],"i":[0,41,8,11,11,0,41,8,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,11,11,8,8,11,11,8,8,11,12,0,426,41,23,24,8,11,26,426,41,23,24,8,11,26,8,11,8,11,8,11,426,41,23,24,8,11,26,23,0,0,23,24,426,41,23,24,8,11,26,426,41,23,24,8,11,26,426,41,23,24,8,11,26,23,23,8,24,23,0,26,426,41,23,24,8,11,26,426,23,8,26,23,426,426,41,41,23,23,24,24,8,8,11,11,26,26,426,41,23,24,8,11,26,26,0,23,24,24,23,426,41,23,24,8,11,26,23,23,426,41,23,24,8,11,26,426,41,23,24,8,8,11,26,8,8,8,23,8,426,24,24,0,26,0,0,8,0,23,426,0,24,23,8,11,426,41,23,24,8,11,26,23,23,0,426,41,23,24,8,11,26,426,41,23,24,8,11,26,12,26,23,426,41,23,24,8,11,26,426,41,23,24,8,11,26,426,41,23,24,8,11,26,26,426,41,23,24,8,11,26,0,0,47,47,46,0,46,46,46,47,47,46,46,47,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,46,47,47,46,47,46,47,46,47,46,47,46,47,46,47,46,47,46,46,46,46,46,47,47,47,47,47,46,47,46,46,46,47,46,46,46,46,46,46,47,47,46,47,46,47,46,47,46,46,46,47,46,47,46,47,46,46,47,46,47,46,46,47,46,47,46,47,46,46,47,46,47,46,46,47,0,0,58,0,58,56,56,56,56,56,56,56,56,56,56,56,56,56,113,81,126,133,0,81,133,0,106,0,0,123,106,0,87,0,106,0,0,133,127,427,125,134,427,123,87,119,135,0,0,135,106,80,138,81,133,124,0,154,0,81,118,80,123,106,123,0,113,0,0,0,0,427,109,110,0,0,0,0,154,156,158,0,0,0,159,127,0,81,0,0,0,0,0,0,135,81,108,133,81,0,81,0,154,0,0,88,0,106,106,121,127,0,427,125,134,0,88,0,0,124,81,0,87,119,0,121,133,123,127,81,74,75,74,75,125,93,81,81,333,0,0,81,82,106,83,84,0,93,333,82,135,97,106,0,154,81,91,121,135,0,0,0,0,114,127,0,0,0,0,123,105,0,126,0,80,0,0,159,106,125,134,113,106,0,0,0,0,0,0,108,115,109,110,126,126,80,80,125,114,0,0,0,126,0,0,0,0,427,134,106,154,0,0,81,134,138,0,154,91,0,0,0,88,0,106,97,0,106,0,0,154,0,126,87,156,158,105,119,115,138,427,0,133,126,133,0,0,0,0,83,84,74,75,151,74,75,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,95,95,96,96,427,427,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,76,76,106,106,107,107,108,108,109,109,110,110,111,111,74,74,112,112,113,113,78,78,114,114,115,115,77,77,116,116,117,117,118,118,119,119,120,120,121,121,80,80,79,79,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,75,75,138,138,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,95,95,96,96,427,427,97,97,98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105,76,76,106,106,107,107,108,108,109,109,110,110,111,111,74,74,112,112,113,113,78,78,114,114,115,115,77,77,116,116,117,117,118,118,119,119,120,120,121,121,80,80,79,79,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,75,75,138,138,153,116,128,160,83,84,427,108,109,110,111,74,120,121,80,123,124,75,138,76,78,74,75,74,75,148,146,79,79,94,95,160,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,92,90,90,147,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,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,427,97,98,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,427,97,98,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,116,151,103,110,111,74,124,138,110,86,99,141,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,80,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,110,111,74,124,138,104,100,83,84,108,109,110,111,74,120,121,80,123,124,75,138,83,84,427,108,109,110,111,74,120,121,80,123,124,75,138,83,83,83,83,83,84,84,84,84,84,427,427,427,427,427,108,108,108,108,108,109,109,109,109,109,110,110,110,110,110,111,111,111,111,111,74,74,74,74,74,120,120,120,120,120,121,121,121,121,121,80,80,80,80,80,123,123,123,123,123,124,124,124,124,124,75,75,75,75,75,138,138,138,138,138,144,79,144,144,135,144,144,119,144,153,112,78,122,132,136,99,137,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,148,146,427,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,149,96,97,98,145,99,100,101,102,103,104,105,76,108,109,110,111,74,112,78,115,77,116,117,119,120,121,80,79,122,123,124,126,127,128,129,130,131,132,134,135,136,75,137,160,138,88,124,151,151,81,81,82,82,83,83,83,84,84,84,85,85,86,86,87,87,153,153,88,88,144,144,154,154,155,155,156,156,157,157,158,158,159,159,89,89,90,90,91,91,92,92,93,93,148,148,94,94,146,146,95,95,147,147,141,141,149,149,96,96,427,427,97,97,98,98,145,145,99,99,100,100,101,101,102,102,103,103,104,104,105,105,76,76,106,106,107,107,108,108,109,109,109,109,110,110,110,111,111,74,74,74,74,112,112,113,113,78,78,114,114,115,115,77,77,116,116,117,117,118,118,119,119,120,120,121,121,80,80,79,79,122,122,123,123,124,124,125,125,126,126,127,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,75,75,75,75,137,137,160,160,138,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,124,78,74,75,74,75,74,75,74,75,130,79,151,88,144,155,157,85,153,109,110,111,74,124,75,138,103,122,116,117,100,74,74,75,75,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,129,101,129,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,76,77,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,96,145,137,80,79,112,123,96,141,86,144,155,157,96,76,112,78,117,120,122,132,77,0,149,98,99,101,111,135,107,159,86,153,89,94,95,122,131,160,141,74,79,130,75,137,129,94,95,101,111,88,144,155,157,151,85,94,95,149,96,145,99,102,104,130,160,131,102,85,124,240,74,75,131,103,427,77,149,96,145,85,101,77,116,128,136,99,104,151,77,128,136,85,122,160,137,115,89,90,92,94,95,149,99,101,76,112,78,77,120,122,132,136,124,83,84,427,427,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,427,97,98,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,92,92,137,124,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,149,98,107,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,79,79,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,145,0,124,151,81,82,83,84,85,86,87,153,88,144,154,155,156,157,158,159,89,90,91,92,93,148,94,146,95,147,141,149,96,427,97,98,145,99,100,101,102,103,104,105,76,106,107,108,109,110,111,74,112,113,78,114,115,77,116,117,118,119,120,121,80,79,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,75,137,160,138,85,79,428,429,430,430,431,431,432,433,434,435,436,437,0,437,0,175,175,175,175,175,175,175,175,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,13,13,13,13,13,13,210,210,218,218,60,60,13,13,210,210,218,218,60,60,438,218,60,13,13,438,13,210,218,60,438,13,210,218,60,13,13,210,13,210,218,60,13,210,218,60,438,13,210,218,60,13,60,60,13,13,438,13,13,13,438,13,210,218,60,438,13,210,218,60,13,438,13,210,218,60,13,13,218,60,218,218,218,218,218,60,60,60,60,60,218,60,210,210,13,438,13,210,218,60,218,60,210,13,60,438,438,13,13,210,210,218,218,60,60,438,13,210,218,60,13,13,210,210,210,218,60,218,60,13,13,13,438,13,210,218,60,13,438,13,210,218,60,438,13,210,218,60,13,13,13,218,60,13,13,13,13,13,13,13,13,218,60,13,13,13,218,210,210,13,13,13,210,13,438,218,60,13,13,210,13,13,13,13,438,13,13,13,13,13,218,210,13,210,13,438,218,60,218,60,13,210,218,60,438,13,210,218,60,218,60,13,13,60,438,13,210,218,60,438,13,210,218,60,438,13,210,218,60,13,438,13,210,218,60,438,13,210,218,60,13,13,13,60,438,13,210,218,60,243,0,0,0,243,0,0,242,242,0,0,0,243,0,242,242,243,243,242,242,243,243,242,242,242,242,242,244,244,247,248,249,243,242,245,244,247,248,249,243,242,245,243,242,243,242,243,242,244,247,248,249,243,242,245,247,247,244,245,246,0,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,242,242,242,242,242,242,242,244,247,248,249,243,242,245,246,247,248,248,249,242,244,244,0,244,244,247,247,248,248,249,249,243,243,242,242,242,242,245,245,244,247,248,249,243,242,245,253,243,242,242,242,242,244,244,244,242,244,244,244,244,244,244,0,242,242,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,247,248,249,243,242,245,248,0,244,244,245,245,244,245,247,248,249,242,0,249,245,0,244,242,245,248,0,244,244,244,244,244,243,242,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,247,248,249,243,242,245,244,247,248,249,243,242,245,249,244,247,248,249,243,242,245,0,244,0,257,0,257,16,257,257,257,16,0,0,0,0,0,257,256,217,256,256,217,256,256,217,256,256,217,256,257,258,217,256,257,258,217,256,257,257,256,217,256,257,257,257,258,217,256,257,256,217,256,257,217,256,217,256,256,258,217,256,257,258,217,256,257,256,217,256,0,258,217,256,257,0,257,258,256,217,256,258,217,256,257,257,256,217,256,258,258,217,217,256,256,257,257,257,258,217,256,257,256,256,256,217,256,258,217,256,257,258,217,256,257,258,257,258,217,256,257,256,217,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,217,256,256,256,217,256,256,217,256,256,217,256,0,256,217,256,258,217,256,217,257,258,217,256,257,258,217,256,257,258,217,256,257,258,217,256,257,256,217,256,257,258,217,256,257,258,217,256,257,256,217,256,258,217,256,257,439,440,441,442,443,440,443,443,439,375,373,369,326,271,268,0,0,0,0,0,375,0,375,234,307,268,0,0,0,373,349,375,234,268,0,0,290,287,310,0,0,375,0,234,307,371,234,268,0,379,0,0,0,0,0,0,0,308,329,329,329,0,300,302,0,268,0,0,0,268,0,0,0,0,287,310,288,375,379,0,0,0,375,307,268,288,0,0,307,373,307,268,0,0,379,0,0,379,0,0,0,373,234,0,0,0,307,0,376,0,327,327,327,327,0,0,375,299,268,0,330,268,330,330,0,268,0,288,0,375,379,234,0,373,0,0,0,0,0,0,0,375,373,375,0,332,332,332,332,332,0,0,375,373,373,307,281,234,299,307,268,0,311,371,297,234,268,0,0,0,332,0,0,375,0,0,0,373,287,310,0,0,234,375,380,0,0,373,264,265,266,267,264,265,266,267,271,373,373,333,308,0,0,349,373,374,268,333,374,298,0,0,270,73,0,373,0,281,234,299,307,268,0,0,0,0,375,0,0,0,0,0,0,0,0,376,306,311,270,288,290,0,307,0,0,268,282,282,282,282,282,282,0,371,297,234,268,0,251,0,0,0,0,251,0,0,0,271,268,0,300,302,0,0,0,0,298,0,0,0,0,371,234,268,307,373,0,0,288,290,0,0,73,369,326,234,268,0,310,0,0,0,287,306,288,0,344,344,344,344,344,0,268,0,0,0,375,281,307,271,344,281,0,375,380,234,0,0,0,264,265,266,267,304,264,265,266,267,268,303,236,333,333,270,270,282,282,283,283,284,284,240,240,444,444,287,287,445,445,264,264,265,265,266,266,297,297,298,298,267,267,332,332,299,299,344,344,327,327,300,300,331,331,308,308,221,221,254,254,311,311,330,330,446,446,383,383,400,400,329,329,334,334,316,316,333,333,270,270,282,282,283,283,284,284,240,240,444,444,287,287,445,445,264,264,265,265,266,266,297,297,298,298,267,267,332,332,299,299,344,344,327,327,300,300,331,331,308,308,221,221,254,254,311,311,330,330,446,446,383,383,400,400,329,329,334,334,316,316,234,272,370,377,223,291,292,303,233,236,333,280,270,274,281,282,283,284,240,444,59,317,285,286,287,224,288,289,445,223,290,291,292,293,294,295,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,272,303,304,305,306,236,307,308,268,221,233,309,310,254,330,446,383,400,329,334,316,275,236,73,73,264,265,266,267,264,265,266,267,372,208,208,208,0,236,62,235,236,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,283,279,269,309,0,236,280,270,274,281,282,283,284,59,66,69,285,286,287,68,224,288,289,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,299,70,300,301,302,57,73,272,303,304,305,306,219,236,307,308,268,233,309,310,311,333,280,270,274,281,282,283,284,240,444,59,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,73,272,303,304,305,306,219,236,307,308,268,221,233,309,310,254,311,330,446,383,400,329,334,316,333,280,270,274,281,282,283,284,240,444,59,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,73,272,303,304,305,306,219,236,307,308,268,221,233,309,310,254,311,330,446,383,400,329,334,316,236,208,208,208,69,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,333,333,240,240,444,444,445,445,332,332,344,344,327,327,331,331,221,221,254,254,334,334,316,316,66,236,296,236,66,69,278,277,383,59,317,66,69,285,286,287,68,224,288,289,223,290,291,292,293,294,295,64,296,271,264,265,266,298,267,234,299,70,300,301,302,57,318,73,272,303,304,305,306,236,307,308,268,233,309,310,320,321,317,286,223,291,292,295,233,66,64,304,236,237,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,59,57,236,57,236,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,236,59,317,66,69,285,286,287,68,224,288,289,223,290,291,292,293,294,295,64,296,271,264,265,266,298,267,234,299,70,300,301,302,57,318,73,272,303,304,305,306,236,307,308,268,233,309,310,305,280,270,274,281,282,283,284,59,317,285,286,287,224,288,289,223,290,291,292,293,294,295,296,271,264,265,266,297,298,267,234,299,70,300,301,302,57,318,272,303,304,305,306,236,307,308,268,233,309,310,333,280,270,274,281,282,283,284,240,444,59,317,285,286,287,224,288,289,445,223,290,291,292,293,294,295,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,272,303,304,305,306,236,307,308,268,221,233,309,310,254,330,446,383,400,329,334,316,333,333,333,333,333,280,280,280,280,280,270,270,270,270,270,274,274,274,274,274,281,281,281,281,281,282,282,282,282,282,283,283,283,283,283,284,284,284,284,284,240,240,240,240,240,444,444,444,444,444,59,59,59,59,59,317,317,317,317,317,285,285,285,285,285,286,286,286,286,286,287,287,287,287,287,224,224,224,224,224,288,288,288,288,288,289,289,289,289,289,445,445,445,445,445,223,223,223,223,223,290,290,290,290,290,291,291,291,291,291,292,292,292,292,292,293,293,293,293,293,294,294,294,294,294,295,295,295,295,295,296,296,296,296,296,271,271,271,271,271,264,264,264,264,264,265,265,265,265,265,266,266,266,266,266,297,297,297,297,297,298,298,298,298,298,267,267,267,267,267,234,234,234,234,234,332,332,332,332,332,299,299,299,299,299,344,344,344,344,344,70,70,70,70,70,327,327,327,327,327,300,300,300,300,300,301,301,301,301,301,302,302,302,302,302,57,57,57,57,57,331,331,331,331,331,318,318,318,318,318,272,272,272,272,272,303,303,303,303,303,304,304,304,304,304,305,305,305,305,305,306,306,306,306,306,236,236,236,236,236,307,307,307,307,307,308,308,308,308,308,268,268,268,268,268,221,221,221,221,221,233,233,233,233,233,309,309,309,309,309,310,310,310,310,310,254,254,254,254,254,330,330,330,330,330,446,446,446,446,446,383,383,383,383,383,400,400,400,400,400,329,329,329,329,329,334,334,334,334,334,316,316,316,316,316,333,240,445,327,221,254,330,329,334,316,273,0,236,236,73,236,268,310,236,234,301,236,310,0,394,59,317,208,208,208,59,59,303,303,310,59,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,64,333,240,445,332,344,327,221,254,330,446,383,400,329,334,316,236,225,280,270,270,274,274,282,282,284,65,59,317,66,69,285,286,287,68,224,288,288,289,223,290,290,291,291,292,292,293,294,295,64,296,271,271,264,265,266,297,298,267,234,234,299,299,70,70,300,301,301,302,302,57,318,73,272,303,303,304,304,305,305,306,306,235,219,328,236,236,307,308,308,268,268,221,233,309,309,310,310,311,277,329,268,294,0,299,330,329,310,333,333,280,280,270,270,274,274,281,281,282,282,283,283,284,284,240,240,394,394,208,208,278,278,444,444,59,59,317,317,66,66,69,69,285,285,286,286,287,287,68,68,224,224,224,288,288,289,289,445,445,223,223,290,290,291,291,292,292,293,293,294,294,295,295,64,64,296,296,271,271,264,264,264,264,265,265,265,265,266,266,266,266,297,297,298,298,267,267,267,267,234,234,332,332,299,299,344,344,70,70,327,327,300,300,301,301,302,302,57,57,331,331,318,318,73,73,272,272,303,303,304,304,305,305,306,306,235,235,219,219,328,328,236,236,307,307,308,308,268,268,221,221,233,233,309,309,310,310,254,254,311,311,277,277,330,330,446,446,383,383,400,400,329,329,334,334,316,316,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,265,266,267,310,268,264,265,266,267,264,265,266,267,264,265,266,267,274,264,265,266,267,301,277,235,66,333,240,445,327,221,254,330,329,334,316,333,240,445,327,221,254,330,329,334,316,280,270,274,281,282,283,284,59,317,285,286,287,224,288,289,223,290,291,292,293,294,295,296,271,264,265,266,298,267,234,299,70,300,301,302,57,318,272,303,304,305,306,236,307,308,268,233,309,310,59,310,303,309,264,264,265,265,265,266,266,266,267,267,267,378,286,400,334,316,236,236,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,70,304,304,70,278,301,301,236,0,307,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,234,70,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,57,268,318,268,236,268,234,236,268,57,236,268,57,268,236,268,234,234,268,57,234,268,236,268,57,236,268,333,240,445,327,221,254,330,329,334,316,236,234,234,268,64,224,236,274,284,273,250,286,224,294,219,224,377,340,333,240,445,327,221,254,330,329,334,316,73,236,236,236,236,285,394,370,378,285,286,296,235,219,400,334,316,236,208,59,224,264,265,266,267,70,301,57,272,303,304,305,233,309,208,208,208,0,328,328,73,236,318,70,304,62,294,295,304,66,66,208,278,277,236,66,69,301,317,69,301,66,69,68,66,69,272,309,68,0,268,240,444,367,368,445,264,265,266,267,331,221,254,236,340,293,0,59,236,208,208,208,333,240,445,332,344,327,221,254,330,446,383,400,329,334,316,233,0,304,304,295,303,305,318,304,283,377,233,294,236,383,301,0,57,268,285,219,57,318,317,372,290,241,317,285,286,224,223,296,234,300,318,272,306,236,307,310,236,309,236,0,234,236,268,265,266,267,292,293,333,240,445,332,344,327,221,254,330,446,383,400,329,334,316,333,240,445,332,344,327,221,254,330,446,383,400,329,334,316,333,280,270,274,281,282,283,284,240,444,59,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,73,272,303,304,305,306,219,236,307,308,268,221,233,309,310,254,311,330,446,383,400,329,334,316,70,294,295,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,279,270,274,282,284,269,223,290,304,305,236,268,233,309,310,59,297,330,383,334,316,71,275,268,309,370,275,236,289,73,309,225,280,274,282,224,288,289,223,290,291,292,293,294,295,234,299,70,301,302,73,272,303,304,305,306,235,236,268,233,309,310,330,329,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,274,234,236,268,309,234,236,294,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,236,0,236,236,297,234,299,236,234,236,268,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,295,447,320,408,321,241,65,71,275,323,284,250,57,57,447,320,408,321,241,65,71,275,323,225,280,274,282,224,288,289,223,290,291,292,293,294,295,234,299,70,301,302,73,272,303,304,305,306,235,236,268,233,309,310,330,329,333,280,270,274,281,282,283,284,240,394,208,278,444,59,317,66,69,285,286,287,68,224,288,289,445,223,290,291,292,293,294,295,64,296,271,264,265,266,297,298,267,234,332,299,344,70,327,300,301,302,57,331,318,73,272,303,304,305,306,235,219,328,236,307,308,268,221,233,309,310,254,311,277,330,446,383,400,329,334,316,234,448,449,448,449,450,451,452,349,0,0,0,0,0,0,349,251,251,349,349,349,349,323,251,349,323,63,63,323,323,323,323,63,323,251,349,63,323,251,349,63,323,251,349,63,323,251,349,63,323,251,349,349,63,323,251,349,349,349,63,323,251,349,323,323,63,323,251,349,63,323,251,349,63,323,251,349,323,63,323,251,349,323,251,349,323,251,349,323,323,323,323,323,251,251,251,251,251,349,349,349,349,349,251,251,63,323,251,349,63,323,323,323,251,349,349,63,63,323,323,251,251,251,349,349,63,323,251,349,323,251,349,63,323,251,349,63,63,63,63,323,251,349,63,323,251,349,251,63,323,349,63,323,323,323,323,323,63,323,323,323,323,251,323,63,323,251,349,63,63,323,251,349,323,251,323,323,323,323,251,349,63,323,251,349,63,323,251,349,63,323,323,63,323,251,349,63,323,251,349,63,323,251,349,323,323,323,323,251,349,63,323,251,349,0,0,341,341,0,0,0,355,357,356,341,355,357,356,341,355,357,356,341,355,355,357,357,356,341,355,357,356,341,355,357,356,341,355,357,357,356,341,355,356,356,341,341,357,357,357,357,356,356,341,341,355,355,357,356,341,355,357,358,355,357,358,355,357,357,357,357,357,357,357,357,357,357,357,356,341,355,357,356,341,355,357,356,341,355,356,356,355,0,357,357,356,341,355,341,357,357,357,357,357,357,357,357,357,357,356,341,355,357,356,341,355,356,356,357,356,341,355,357,356,341,355,357,356,341,355,355,357,356,341,355,357,0,0,0,0,0,0,0,359,359,0,366,366,0,359,359,360,360,359,359,361,361,360,360,359,359,361,361,360,359,361,359,359,359,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,360,359,361,360,359,361,360,359,361,360,359,361,363,362,364,360,365,366,359,361,360,360,359,359,361,361,362,360,360,362,364,360,359,361,362,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,360,359,361,362,360,359,361,360,359,361,360,360,360,360,360,359,359,359,359,359,361,361,361,361,361,365,363,362,363,362,364,360,365,366,359,361,363,363,362,364,360,360,365,366,359,361,359,362,362,363,363,362,362,364,364,360,360,365,365,366,366,359,359,359,359,361,361,363,362,364,360,365,366,359,361,359,359,359,359,363,360,359,361,360,359,359,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,359,360,359,361,362,0,359,362,359,360,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,362,363,362,364,360,365,366,359,361,362,363,362,364,360,365,366,359,361,363,362,364,360,365,366,359,361,364,363,362,364,360,365,366,359,361,375,373,369,326,375,0,375,0,373,375,0,375,371,379,0,375,379,0,375,373,0,379,379,0,373,0,376,0,0,375,375,379,373,375,373,375,0,375,373,373,371,0,375,0,0,373,0,375,380,373,367,368,367,368,373,373,0,373,374,374,371,373,0,375,376,0,371,371,373,371,369,326,0,375,0,375,380,367,368,371,273,273,273,367,368,273,273,273,372,372,374,374,369,369,326,326,378,378,250,250,379,379,380,380,367,367,368,368,381,381,371,371,372,372,374,374,369,369,326,326,378,378,250,250,379,379,380,380,367,367,368,368,381,381,371,371,273,371,273,273,62,370,377,326,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,367,368,367,368,273,273,273,368,372,273,62,62,62,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,378,250,379,340,380,368,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,378,378,250,250,379,379,340,340,380,380,368,368,273,273,273,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,62,62,62,62,370,370,370,370,370,273,273,273,273,273,372,372,372,372,372,373,373,373,373,373,374,374,374,374,374,375,375,375,375,375,369,369,369,369,369,326,326,326,326,326,376,376,376,376,376,377,377,377,377,377,378,378,378,378,378,250,250,250,250,250,379,379,379,379,379,340,340,340,340,340,380,380,380,380,380,367,367,367,367,367,368,368,368,368,368,381,381,381,381,381,371,371,371,371,371,273,273,273,273,273,326,273,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,62,62,370,370,273,273,372,373,374,369,326,376,377,377,250,379,379,340,340,380,380,367,368,381,381,371,371,273,367,273,368,62,62,370,370,273,273,273,273,273,273,273,372,372,373,373,374,374,375,375,369,369,326,326,376,376,377,377,378,378,250,250,379,379,340,340,340,380,380,380,380,367,367,367,367,368,368,368,368,381,381,371,371,371,371,371,371,371,371,273,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,371,367,368,367,368,367,368,367,368,62,370,273,273,371,273,273,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,371,371,0,273,367,367,368,368,378,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,371,273,371,375,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,273,273,273,273,273,273,273,273,273,250,273,377,273,340,273,273,273,273,370,378,273,371,273,372,377,340,367,368,273,273,273,371,273,62,62,378,250,379,340,380,368,273,373,0,367,368,273,340,340,377,377,377,273,273,372,368,273,375,377,273,273,273,371,379,340,380,371,273,340,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,369,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,370,370,62,370,273,373,376,377,367,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,273,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,371,273,273,273,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,273,250,62,62,370,273,373,376,377,367,62,370,273,372,373,374,375,369,326,376,377,378,250,379,340,380,367,368,381,371,372,273,448,449,448,449,384,384,384,384,384,384,384,0,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,384,0,174,171,0,0,0,0,0,0,0,0,386,386,386,386,386,386,386,343,386,161,161,161,386,161,161,386,161,161,161,386,343,386,386,386,347,347,386,386,386,386,343,343,343,343,343,343,389,390,386,171,386,171,386,171,386,171,386,171,386,171,386,171,386,171,386,343,386,386,389,386,386,386,386,174,174,174,174,174,347,386,343,0,0,0,392,392,392,393,237,392,393,237,392,393,237,237,237,237,392,392,393,237,392,393,237,392,393,237,393,392,393,237,392,393,392,392,393,393,237,237,392,393,237,237,392,393,237,392,393,237,392,393,237,392,393,237,237,237,392,393,237,392,393,392,393,392,393,392,393,392,393,392,393,392,393,392,393,392,393,237,392,393,237,392,393,237,392,393,237,392,393,237,392,393,237,0,0,397,0,397,397,398,396,396,0,396,396,397,398,396,397,398,398,396,397,398,396,398,398,398,396,396,397,398,396,397,398,396,397,398,398,396,397,398,396,398,397,398,396,396,397,397,398,398,396,397,398,398,396,396,396,397,398,398,398,396,397,398,396,397,398,396,398,396,396,396,396,398,398,396,396,396,398,396,396,397,398,396,396,396,396,396,397,398,396,397,398,398,396,397,398,398,396,397,398,396,397,398,396,397,398,403,0,403,0,402,402,402,403,402,403,402,403,402,402,403,402,403,402,403,402,403,402,402,403,403,402,403,402,402,402,402,403,402,403,403,402,403,403,402,402,402,402,402,402,402,0,402,402,0,402,402,402,402,402,0,402,0,402,402,402,402,402,402,402,403,402,403,402,403,402,403,402,403,402,403,402,403,402,0,0,0,0,415,0,0,0,0,0,0,0,0,412,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,413,414,414,414,419,424,421,418,416,417,422,412,414,415,416,417,415,416,417,419,418,412,414,419,418,422,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,414,421,418,415,416,417,424,419,424,421,418,416,417,422,412,414,412,414,419,419,421,419,422,419,419,424,424,421,421,418,418,416,416,417,417,422,422,412,412,414,414,419,424,421,418,416,417,422,412,414,412,412,412,412,412,412,412,419,424,421,418,416,417,422,412,414,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,414,412,0,419,424,421,418,422,418,415,416,417,424,420,424,420,424,0,415,413,416,417,417,414,419,424,421,418,416,417,422,412,414,419,421,418,422,419,421,422,419,421,418,422,419,421,418,422,419,421,418,422,419,421,418,422,419,421,418,422,419,421,418,422,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,415,416,417,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414,419,424,421,418,416,417,422,412,414],"f":"````````````````````````````{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}01{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}01{{{A`{c}}}{{Ad{Ab}}}{}}{{{A`{c}}}{{Ad{c}}}{}}{Af{{Ad{A`}}}}{{{d{Ah}}Aj{d{Al}}}{{B`{An}}}}`{d{{d{c}}}{}}000000{{{d{f}}}{{d{fc}}}{}}000000{{{d{{A`{c}}}}}{{A`{c}}}Bb}{{{d{Af}}}Af}{{d{d{fc}}}Bd{}}0{dBd}0{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000000``{AbBl}{{}Bn}{{}C`}{Cb{{d{c}}}{}}000000{Cb{{d{fc}}}{}}000000{CbBd}000000``{{{A`{c}}}c{}}```{{{d{Cd}}AjCf}{{B`{Ch}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000000``{{{d{{A`{c}}}}{d{fDb}}}DdDf}{{{d{Cd}}{d{fDb}}}Dd}`{{{Dh{c}}}c{}}{cc{}}010110011010{{c{d{Dj}}Dl}e{}{}}000000{ChCd}`````{{}Cb}000000{{{d{fBn}}Dn}Bd}{{{d{fBn}}E`Ab}{{Dh{BdEb}}}}{{}c{}}00000000000{A`Ab}11{{{d{{A`{c}}}}}An{}}{{{A`{c}}}An{}}?`{{{A`{c}}g}{{A`{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}````{{{d{Cd}}AjEd}{{B`{Cd}}}}``{{{A`{c}}}Ab{{Ef{Ab}}}}``````{dc{}}0{{}{{Dh{c}}}{}}000000```{c{{Dh{e}}}{}{}}0000001111111{{{d{Ah}}Aj{d{Al}}}{{B`{Cd}}}}``{dEh}000000{ce{}{}}000000{{ce}c{}{}}000000`=======```````{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}01{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}10{d{{d{Ej}}}}0{d{{d{c}}}{}}0{{{d{f}}}{{d{fc}}}{}}0{{{d{El}}}El}{{{d{En}}}En}{{d{d{fc}}}Bd{}}0{dBd}0{{{d{El}}{d{El}}}F`}{{{d{En}}{d{En}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0{{d{d{c}}}F`{}}000{{{d{fc}}}ElFb}{{{d{fc}}}EnFb}{Cb{{d{c}}}{}}0{Cb{{d{fc}}}{}}0{CbBd}0{{{d{El}}{d{fc}}}BdFd}{{{d{En}}{d{fc}}}BdFd}{{{d{El}}{d{El}}}An}{{{d{En}}{d{En}}}An}{{d{d{Ej}}}An}0{{d{d{c}}}An{}}000000000{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0{{{d{El}}{d{fDb}}}Dd}00{{{d{En}}{d{fDb}}}Dd}{{{Dh{c}}}c{}}{FfEl}{cc{}}{FhEl}{CbEl}{FjEl}35{{c{d{Dj}}Dl}e{}{}}0{{{d{El}}{d{fc}}}BdFl}{{{d{En}}{d{fc}}}BdFl}{{}Cb}0{FnEl}0{{}c{}}000{{{d{El}}{d{El}}}{{Ad{F`}}}}{{{d{En}}{d{En}}}{{Ad{F`}}}}`{dc{}}0{{}{{Dh{c}}}{}}0{dBl}{c{{Dh{e}}}{}{}}022{dEh}08{ce{}{}}0{{ce}c{}{}}0`99`````{{{d{G`}}Ab}{{Gd{Gb}}}}{{{d{G`}}Ab}{{Gd{Gf}}}}{{{d{G`}}{Gj{AbGh}}}{{Gd{{Gn{Gl}}}}}}{{{d{G`}}Ab}{{Gd{H`}}}}{{{d{G`}}{Gj{AbGh}}}{{Gd{{Ad{{Gn{Gl}}}}}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hb}}}}}}{{{d{G`}}Ab}{{Gd{Hd}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hf}}}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hh}}}}}}{{{d{G`}}Ab}{{Gd{Hj}}}}{{{d{G`}}{Gj{AbGh}}}{{Gd{{Ad{{Gn{Hl}}}}}}}}{{{d{G`}}Ab}{{Gd{{Gn{Hn}}}}}}{{{d{G`}}Ab}{{Gd{{Ib{{Gn{I`}}}}}}}}````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{IdCb}Id}{{IfCb}If}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}10010110100101101010101010010101010110100101101010010110100101011010011010101010011010011010101001100101100110100101010101010110{{{d{n}}}{{d{fc}}}{}}{{{d{b}}}{{d{fc}}}{}}10011010011010011010010101010101010101101010101001010101100101010101100110010110011001011010010110100110101010010101100101101010````{d{{d{Ej}}}}00000000000000{{{d{Ih}}}{{Ad{Ij}}}}{{{d{Il}}}{{Ad{Ij}}}}{IdFn}{IfFn}{IdCb}{IfCb}``{{{d{In}}}J`}````{d{{d{c}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{f}}}{{d{fc}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000````{{{d{Jb}}}Jb}{{{d{Jd}}}Jd}{{{d{Jf}}}Jf}{{{d{Jh}}}Jh}{{{d{Jj}}}Jj}{{{d{Jl}}}Jl}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kb}}}Kb}{{{d{Kd}}}Kd}{{{d{Kf}}}Kf}{{{d{Kh}}}Kh}{{{d{Kj}}}Kj}{{{d{Kl}}}Kl}{{{d{Kn}}}Kn}{{{d{L`}}}L`}{{{d{Lb}}}Lb}{{{d{Ld}}}Ld}{{{d{Lf}}}Lf}{{{d{Lh}}}Lh}{{{d{Lj}}}Lj}{{{d{Ll}}}Ll}{{{d{Ln}}}Ln}{{{d{M`}}}M`}{{{d{Mb}}}Mb}{{{d{Ih}}}Ih}{{{d{Md}}}Md}{{{d{Mf}}}Mf}{{{d{Mh}}}Mh}{{{d{Mj}}}Mj}{{{d{Ml}}}Ml}{{{d{Mn}}}Mn}{{{d{Id}}}Id}{{{d{N`}}}N`}{{{d{Nb}}}Nb}{{{d{Il}}}Il}{{{d{Nd}}}Nd}{{{d{Nf}}}Nf}{{{d{Ij}}}Ij}{{{d{Nh}}}Nh}{{{d{Nj}}}Nj}{{{d{Nl}}}Nl}{{{d{Nn}}}Nn}{{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{J`}}}J`}{{{d{In}}}In}{{{d{Od}}}Od}{{{d{Of}}}Of}{{{d{Oh}}}Oh}{{{d{Oj}}}Oj}{{{d{Ol}}}Ol}{{{d{On}}}On}{{{d{A@`}}}A@`}{{{d{A@b}}}A@b}{{{d{A@d}}}A@d}{{{d{A@f}}}A@f}{{{d{A@h}}}A@h}{{{d{A@j}}}A@j}{{{d{A@l}}}A@l}{{{d{{A@n{c}}}}}{{A@n{c}}}Bb}{{{d{AA`}}}AA`}{{{d{If}}}If}{{{d{AAb}}}AAb}{{{d{AAd}}}AAd}{{d{d{fc}}}Bd{}}00000000000000000000000000000000000000000000000000000000000000000{dBd}00000000000000000000000000000000000000000000000000000000000000000{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000000000000000000000000000000000000000000000000000000000000000000000000000000000```{{{d{fc}}}MlFb}{{{d{fc}}}MnFb}{{{d{fc}}}IdAAf}{{{d{fc}}}OhFb}{{{d{fc}}}AAdAAh}{Ml{{Ad{E`}}}}``{{}AAj}{Cb{{d{c}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{Cb{{d{fc}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{J`}}}{{d{Cj}}}}{CbBd}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Ml}}{d{fc}}}BdFd}{{{d{Mn}}{d{fc}}}BdFd}{{{d{Id}}{d{fc}}}BdAAl}{{{d{Oh}}{d{fc}}}BdFd}{{{d{AAd}}{d{fc}}}BdAAn}``{{{d{Jf}}{d{Jf}}}An}{{{d{Jh}}{d{Jh}}}An}{{{d{Mh}}{d{Mh}}}An}{{{d{Mj}}{d{Mj}}}An}{{{d{Ml}}{d{Ml}}}An}{{{d{Mn}}{d{Mn}}}An}{{{d{Id}}{d{Id}}}An}{{{d{O`}}{d{O`}}}An}{{{d{Ob}}{d{Ob}}}An}{{{d{J`}}{d{J`}}}An}{{{d{Of}}{d{Of}}}An}{{{d{Oh}}{d{Oh}}}An}{{{d{If}}{d{If}}}An}{{{d{AAd}}{d{AAd}}}An}{{d{d{Ej}}}An}00000000000000{{d{d{c}}}An{}}00000000000000000000000000000000000000000000000000000000000000000000000000{{{d{AB`}}}{{d{ABb}}}}{{{d{In}}}J`}{{{d{AB`}}}{{d{ABd}}}}{{{d{AB`}}}{{d{ABf}}}}{{{A@n{c}}}{{Gj{Ofc}}}{}}{{{d{AB`}}}{{d{L`}}}}{{{d{AB`}}}{{d{ABh}}}}{{{d{Nn}}}{{d{Ih}}}}{{{d{AB`}}}{{d{ABj}}}}````````{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{ABh}}Gh}{{Ad{{d{Kl}}}}}}{{{d{ABd}}Gh}{{Ad{{d{Kn}}}}}}{{}ABl}{{{d{ABn}}{d{fDb}}}Dd}{{{d{Jb}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{Jd}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{Jf}}{d{fDb}}}Dd}{{{d{Jh}}{d{fDb}}}Dd}{{{d{Jj}}{d{fDb}}}Dd}{{{d{Jl}}{d{fDb}}}Dd}{{{d{Jn}}{d{fDb}}}Dd}{{{d{ACb}}{d{fDb}}}Dd}{{{d{K`}}{d{fDb}}}Dd}{{{d{AB`}}{d{fDb}}}Dd}{{{d{ACd}}{d{fDb}}}Dd}{{{d{ACf}}{d{fDb}}}Dd}{{{d{ACh}}{d{fDb}}}Dd}{{{d{ACj}}{d{fDb}}}Dd}{{{d{ACl}}{d{fDb}}}Dd}{{{d{ACn}}{d{fDb}}}Dd}{{{d{Kb}}{d{fDb}}}Dd}{{{d{Kd}}{d{fDb}}}Dd}{{{d{Kf}}{d{fDb}}}Dd}{{{d{Kh}}{d{fDb}}}Dd}{{{d{Kj}}{d{fDb}}}Dd}{{{d{ABh}}{d{fDb}}}Dd}{{{d{Kl}}{d{fDb}}}Dd}{{{d{ABd}}{d{fDb}}}Dd}{{{d{Kn}}{d{fDb}}}Dd}{{{d{ABf}}{d{fDb}}}Dd}{{{d{ABj}}{d{fDb}}}Dd}{{{d{L`}}{d{fDb}}}Dd}{{{d{Lb}}{d{fDb}}}Dd}{{{d{Ld}}{d{fDb}}}Dd}{{{d{ABb}}{d{fDb}}}Dd}{{{d{Lf}}{d{fDb}}}Dd}{{{d{Lh}}{d{fDb}}}Dd}{{{d{Lj}}{d{fDb}}}Dd}{{{d{Ll}}{d{fDb}}}Dd}{{{d{Ln}}{d{fDb}}}Dd}{{{d{M`}}{d{fDb}}}Dd}{{{d{Mb}}{d{fDb}}}Dd}{{{d{Ih}}{d{fDb}}}Dd}{{{d{Mh}}{d{fDb}}}Dd}{{{d{Mj}}{d{fDb}}}Dd}{{{d{Ml}}{d{fDb}}}Dd}{{{d{Mn}}{d{fDb}}}Dd}{{{d{Id}}{d{fDb}}}Dd}{{{d{N`}}{d{fDb}}}Dd}{{{d{Il}}{d{fDb}}}Dd}{{{d{Nf}}{d{fDb}}}Dd}{{{d{Ij}}{d{fDb}}}Dd}{{{d{Nh}}{d{fDb}}}Dd}{{{d{Nj}}{d{fDb}}}Dd}{{{d{Nn}}{d{fDb}}}Dd}{{{d{O`}}{d{fDb}}}Dd}{{{d{Ob}}{d{fDb}}}Dd}{{{d{J`}}{d{fDb}}}Dd}{{{d{In}}{d{fDb}}}Dd}{{{d{Od}}{d{fDb}}}Dd}{{{d{Of}}{d{fDb}}}Dd}{{{d{Oh}}{d{fDb}}}Dd}{{{d{Ol}}{d{fDb}}}Dd}{{{d{On}}{d{fDb}}}Dd}{{{d{A@`}}{d{fDb}}}Dd}{{{d{A@b}}{d{fDb}}}Dd}{{{d{A@d}}{d{fDb}}}Dd}{{{d{A@f}}{d{fDb}}}Dd}{{{d{A@h}}{d{fDb}}}Dd}{{{d{A@l}}{d{fDb}}}Dd}{{{d{{A@n{c}}}}{d{fDb}}}DdDf}{{{d{AA`}}{d{fDb}}}Dd}{{{d{If}}{d{fDb}}}Dd}{{{d{AAb}}{d{fDb}}}Dd}{{{d{AD`}}{d{fDb}}}Dd}{{{d{AAd}}{d{fDb}}}Dd}{{{d{K`}}}{{Ad{{d{Ln}}}}}}{{{d{Oh}}{d{fc}}}OhADb}{cc{}}{{{Dh{c}}}c{}}0110{AnJf}122{AnJh}2233232323223322332232332232332322332322332233232232332322323322332233232233232323{E`Mj}{MlMj}45{DnMl}56556{CbId}{FnId}8787878778878778787878787887788787878787{A@dOn}898989898989989898{CbIf}:{FnIf}::;;::;{{c{d{Dj}}Dl}e{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{OfOh}{{NfMn}Il}{ADdId}{ADdIf}858596`{{{d{In}}}{{Ad{J`}}}}`{K`{{d{Jj}}}}```{{{d{Jj}}E`}{{d{Jl}}}}`{{{d{Mj}}{d{fc}}}BdFl}{{{d{Ml}}{d{fc}}}BdFl}{{{d{Mn}}{d{fc}}}BdFl}{{{d{Id}}{d{fc}}}BdFl}{{{d{Oh}}{d{fc}}}BdFl}{{{d{If}}{d{fc}}}BdFl}{{{d{AAd}}{d{fc}}}BdFl}`````{IdCb}0{IfCb}0{{}Cb}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{A@b}}}{{d{{h{On}}}}}}``{{}c{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{IhADf}{IjADf}2222222222222222222222222222222222222222222222222222222222222222222222222222222222``{{{d{AAb}}Ab}An}{{{d{J`}}ADh}An}{{{d{In}}ADh}An}{{{d{N`}}}{{Ad{If}}}}{{{d{Of}}}An}{{{d{L`}}}An}`````````````{{{d{Ij}}}{{d{Nh}}}}``````{{{A@n{c}}g}{{A@n{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}`{{{d{ACn}}}Gh}````````{{}AAj}{CbId}{J`In}{{Cb{d{{h{On}}}}}A@d}{CbIf}{{{ADj{GhOn}}{ADl{Ab}}}AAb}{{{d{A@b}}}{{d{On}}}}````{{{d{K`}}}{{A`{Dn}}}}``````````````````{Oh{{d{Cj}}}}`````{{c{d{ADn}}}{{Ad{e}}}{}{}}````````````````````{{{d{Nf}}}AE`}````````````````{{}{{d{{AEb{{h{Oh}}}}}}}}{JfAn}{JhAn}{{dc}Bl{}}{{dc}AEd{}}{dc{}}00000000000000000000000000000000000000000000000000000000000000000{{}{{Dh{c}}}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Kh}}}Ab}`{{}AAb}{{{d{Oh}}{d{fc}}}{{Dh{Oh}}}AEf}{c{{Dh{e}}}{}{}}000000000000000000000000000000000000000000000000000000000000{{{AEh{c}}}{{Dh{J`e}}}{}{}}1111111111111111111115555555555555555555555555555555555555555555555555555555555555555555555555555555555```{dEh}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{In}}}Cb}`{ce{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{ce}c{}{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000``{{{d{Oh}}{d{fc}}}AEjAEl}{{}c{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000{{JjAj{d{AAb}}}Jj}{{J`Cb}In}```````````````{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{AEn}}c}{{Dh{eDl}}}AF`{}}{{{d{AEn}}{d{Cj}}}{{Dh{cDl}}}{}}`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{cc{}}{{{Dh{c}}}c{}}{{c{d{Dj}}Dl}e{}{}}`{{}Cb}{{{d{fAEn}}E`AB`}Bd}{{}c{}}0{{{d{fAEn}}AFb}{{Dh{O`Dl}}}}{{{d{fAEn}}{d{{h{AFd}}}}}{{Dh{{d{{h{Nj}}}}Dl}}}}{{{d{fAEn}}AE`{d{AFf}}}{{Dh{ABnDl}}}}{{{d{fAEn}}{d{AFh}}}O`}{{{d{fAEn}}{d{AFj}}}{{Dh{LfDl}}}}{{{d{fAEn}}E`}{{Dh{LfDl}}}}{{{d{fAEn}}{d{AFl}}}{{Dh{LdDl}}}}{{{d{fAEn}}E`}{{Dh{LdDl}}}}{{{d{fAEn}}}{{Dh{LjDl}}}}{{{d{fAEn}}AE`{d{AFn}}}{{Dh{LjDl}}}}{{{d{fAEn}}}AG`}{{{d{fAEn}}{d{AGb}}}{{Dh{IhDl}}}}{{{d{fAEn}}{d{{h{AGd}}}}}{{Dh{{d{{h{Nn}}}}Dl}}}}{{{d{fAEn}}{d{AGf}}}{{Dh{KfDl}}}}{{{d{fAEn}}{d{AGh}}}{{Dh{JlDl}}}}{{{d{fAEn}}}{{Dh{JjDl}}}}{{{d{fAEn}}{d{AGj}}}{{Dh{JjDl}}}}{{{d{AEn}}{d{AGl}}}{{Dh{MhDl}}}}{{{d{fAEn}}AGn}{{Dh{MfDl}}}}{{{d{fAEn}}}{{Dh{AB`Dl}}}}{{{d{fAEn}}{d{AH`}}}{{Dh{IjDl}}}}{{{d{fAEn}}{d{AHb}}}{{Dh{NhDl}}}}{{{d{fAEn}}AHd}{{Dh{KhDl}}}}{{{d{fAEn}}AHf}{{Dh{NfDl}}}}{{{d{AEn}}}AAb}{{{d{fAEn}}{d{AHh}}}{{Dh{IhDl}}}}6{{{d{fAEn}}}Lh}{{{d{fAEn}}{d{AGj}}}Lh}{{{d{fAEn}}{d{AHj}}}{{Dh{KdDl}}}}{{{d{AEn}}}E`}`{{Aj{A`{Dn}}{d{{AHl{Id}}}}{Ad{{d{f{AHn{E`AB`}}}}}}}AEn}{{{d{AEn}}}Mn}``{{}{{Dh{c}}}{}}{c{{Dh{e}}}{}{}}1{dEh}{ce{}{}}{{ce}c{}{}}{{}c{}}{{{d{fAEn}}{A`{Dn}}{d{{AHl{Id}}}}}AEn}`{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}`{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{cc{}}{{{Dh{c}}}c{}}{{c{d{Dj}}Dl}e{}{}}{{}Cb}<{{AI`AIbAId}{{AIf{c}}}AIh}={{ADh{A`{Dn}}{d{Cj}}}AI`}``{{}{{Dh{c}}}{}}{c{{Dh{e}}}{}{}}1{dEh}{ce{}{}}{{ce}c{}{}}{{}c{}}`{{{d{fAIj}}{d{A@f}}}Bd}{{{d{fAIj}}{d{Nj}}}Bd}{{{d{fAIj}}{d{Il}}}Bd}{{{d{fAIj}}{d{Mb}}}Bd}{{{d{fAIj}}{d{ABb}}}Bd}{{{d{fAIj}}{d{A@h}}}Bd}{{{d{fAIj}}{d{Ld}}}Bd}{{{d{fAIj}}{d{Lj}}}Bd}{{{d{fAIj}}{d{M`}}}Bd}{{{d{fAIj}}{d{Ln}}}Bd}{{{d{fAIj}}{d{A@b}}}Bd}{{{d{fAIj}}{d{Nn}}}Bd}{{{d{fAIj}}{d{Kf}}}Bd}{{{d{fAIj}}{d{Jj}}}Bd}{{{d{fAIj}}{d{ABd}}}Bd}{{{d{fAIj}}{d{Kn}}}Bd}{{{d{fAIj}}{d{ACj}}}Bd}{{{d{fAIj}}{d{AB`}}}Bd}{{{d{fAIj}}{d{Mh}}}Bd}{{{d{fAIj}}{d{A@l}}}Bd}{{{d{fAIj}}{d{K`}}}Bd}{{{d{fAIj}}{d{ABf}}}Bd}{{{d{fAIj}}{d{Ij}}}Bd}{{{d{fAIj}}{d{AA`}}}Bd}{{{d{fAIj}}{d{Nh}}}Bd}{{{d{fAIj}}{d{A@d}}}Bd}{{{d{fAIj}}{d{Kh}}}Bd}{{{d{fAIj}}{d{Nf}}}Bd}{{{d{fAIj}}{d{N`}}}Bd}{{{d{fAIj}}{d{Od}}}Bd}{{{d{fAIj}}{d{Ll}}}Bd}{{{d{fAIj}}{d{On}}}Bd}{{{d{fAIj}}{d{A@`}}}Bd}{{{d{fAIj}}{d{L`}}}Bd}{{{d{fAIj}}{d{Kl}}}Bd}{{{d{fAIj}}{d{ACf}}}Bd}{{{d{fAIj}}{d{Ih}}}Bd}{{{d{fAIj}}{d{ABj}}}Bd}{{{d{fAIj}}{d{Lf}}}Bd}{{{d{fAIj}}{d{Lh}}}Bd}{{{d{fAIj}}{d{Kd}}}Bd}{{{d{fc}}{d{A@f}}}BdAIj}{{{d{fc}}{d{Nj}}}BdAIj}{{{d{fc}}{d{Il}}}BdAIj}{{{d{fc}}{d{Mb}}}BdAIj}{{{d{fc}}{d{ABb}}}BdAIj}{{{d{fc}}{d{A@h}}}BdAIj}{{{d{fc}}{d{Ld}}}BdAIj}{{{d{fc}}{d{Lj}}}BdAIj}{{{d{fc}}{d{M`}}}BdAIj}{{{d{fc}}{d{Ln}}}BdAIj}{{{d{fc}}{d{A@b}}}BdAIj}{{{d{fc}}{d{Nn}}}BdAIj}{{{d{fc}}{d{Kf}}}BdAIj}{{{d{fc}}{d{Jj}}}BdAIj}{{{d{fc}}{d{ABd}}}BdAIj}{{{d{fc}}{d{Kn}}}BdAIj}{{{d{fc}}{d{ACj}}}BdAIj}{{{d{fc}}{d{AB`}}}BdAIj}{{{d{fc}}{d{K`}}}BdAIj}{{{d{fc}}{d{ABf}}}BdAIj}{{{d{fc}}{d{Ij}}}BdAIj}{{{d{fc}}{d{Nh}}}BdAIj}{{{d{fc}}{d{A@d}}}BdAIj}{{{d{fc}}{d{Kh}}}BdAIj}{{{d{fc}}{d{Nf}}}BdAIj}{{{d{fc}}{d{N`}}}BdAIj}{{{d{fc}}{d{Od}}}BdAIj}{{{d{fc}}{d{Ll}}}BdAIj}{{{d{fc}}{d{On}}}BdAIj}{{{d{fc}}{d{A@`}}}BdAIj}{{{d{fc}}{d{L`}}}BdAIj}{{{d{fc}}{d{Kl}}}BdAIj}{{{d{fc}}{d{ACf}}}BdAIj}{{{d{fc}}{d{Ih}}}BdAIj}{{{d{fc}}{d{ABj}}}BdAIj}{{{d{fc}}{d{Lf}}}BdAIj}{{{d{fc}}{d{Lh}}}BdAIj}{{{d{fc}}{d{Kd}}}BdAIj}`````{{Ajc}{{B`{Gb}}}{{AIl{Ab}}}}{{Ajc}{{B`{Gf}}}{{AIl{Ab}}}}{{{d{Aj}}c}{{d{c}}}{}}{{Aj{d{{h{c}}}}}{{d{{h{c}}}}}AIn}{{Aje}{{d{{h{c}}}}}{}{{l{}{{j{c}}}}}}{{AjCbe}{{d{{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}100101{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}100101`{d{{d{Ej}}}}0{{AjAbGh}{{B`{{Gn{Gl}}}}}}{{Ajc}{{B`{H`}}}{{AIl{Ab}}}}{d{{d{c}}}{}}0000{{{d{f}}}{{d{fc}}}{}}0000{{AjE`}{{B`{{AJb{AJ`}}}}}}{{{d{Aj}}}Aj}{{{d{AJd}}}AJd}{{d{d{fc}}}Bd{}}000{dBd}000{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000{Aj{{d{Bn}}}}{{d{d{c}}}F`{}}0{Aj{{Ad{AJf}}}}{Aj{{d{AJh}}}}`{{{d{Aj}}Ab}Fn}{{{d{Aj}}c}AJj{{AIl{Ab}}}}{{AjAbGh}{{B`{{Ad{{Gn{Gl}}}}}}}}{Cb{{d{c}}}{}}0000{Cb{{d{fc}}}{}}0000{{AjE`}{{B`{K`}}}}{CbBd}0000{{{d{Aj}}c}DlAF`}{{ADh{d{AJl}}{AJn{AJh}}{d{AK`}}AKbe}c{}{{Bj{Aj}{{Bh{c}}}}}}{{d{d{Ej}}}An}0{{d{d{c}}}An{}}000000000{d{{Dh{Bd}}}}0{{AJdE`}{{B`{{d{AB`}}}}}}`{Aj{{d{AAj}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000{{}ABl}0{{AJdE`}{{B`{{d{{h{AKd}}}}}}}}{{Ajc}{{B`{{Gn{Hb}}}}}{{AIl{Ab}}}}{{{d{Gh}}{d{fc}}}GhADb}{{{Dh{c}}}c{}}{cc{}}01010110{{c{d{Dj}}Dl}e{}{}}0000{{AjGh}{{B`{AKf}}}}{{Ajc}{{B`{Hd}}}{{AIl{Ab}}}}`{{AJdGh}{{Ad{{d{ACn}}}}}}{{AJdE`}{{B`{{Ad{{d{Jj}}}}}}}}{{dAKh}An}0{{dAKj}An}0{{{d{Aj}}}AKl}{{AjE`}An}{{AjAb}{{B`{{Ad{{Gn{AKn}}}}}}}}{{}Cb}0000`{{}c{}}000000000{{{d{Aj}}J`}An}4{{{d{Aj}}Ab}An}{{ADhAn}An}0{{AjAb}{{B`{{Gn{{ALb{AL`}}}}}}}}{Aj{{`{{Bf{}{{j{Ab}}}}}}}}{Aj{{`{{Bf{}{{j{E`}}}}}}}}{{Ajc}{{B`{{ALf{ALd}}}}}{{Ef{Ab}}}}{{AjAb}ALh}{{AjE`}{{B`{{ALb{ALj}}}}}}{{Ajc}{{B`{ALl}}}{{Ef{Ab}}}}{{Ajc}{{B`{{ALf{Ch}}}}}{{Ef{Ab}}}}{{ADhAn{Ad{ALn}}}{{Ad{c}}}{}}0{AjAJd}{{AjE`}A`}{{AjE`}{{B`{{AJb{AM`}}}}}}`{{Aj{d{AAj}}}AJd}{{AJdE`}{{B`{K`}}}}{{Aj{d{AMb}}}{{B`{AMd}}}}{{Ajc}{{B`{{Gn{Hh}}}}}{{AIl{Ab}}}}{Aj{{B`{{d{{h{AMf}}}}}}}}{AJd{{`{{Bf{}{{j{{d{ACb}}}}}}}}}}{{AjE`}{{B`{{`{{Bf{}{{j{{d{AMf}}}}}}}}}}}}`{{c{d{ADn}}}{{Ad{e}}}{}{}}0{{Aj{d{Hd}}{d{Ch}}}{{B`{AMh}}}}0{{AJdE`}{{B`{{d{AAb}}}}}}{{Ajc}{{B`{Hj}}}{{AIl{Ab}}}}{Aj{{d{C`}}}}{{AjAb}Af}{Aj{{d{AJl}}}}`{{AjE`}An}{{AjcGh}{{B`{{Ad{{Gn{Hl}}}}}}}{{AIl{Ab}}}}{{AjAb}{{B`{{Ad{AMd}}}}}}{{AjAbALn}{{B`{{Ad{AMd}}}}}}1`{{{d{AJd}}Gh}{{Ad{{d{AD`}}}}}}{{{d{Aj}}}{{B`{{d{AMj}}}}}}{AJd{{`{{Bf{}{{j{{d{AD`}}}}}}}}}}{AjADh}`{{dc}Bl{}}0{{dc}AEd{}}0{dc{}}000{{}{{Dh{c}}}{}}0000{dBl}0{{AjE`e}{{Ad{c}}}{}{{AMl{E`}{{Bh{{Ad{c}}}}}}}}={{{d{Gh}}{d{fc}}}{{Dh{Gh}}}AEf}{c{{Dh{e}}}{}{}}000044444{dEh}0000{{Ajc}{{B`{{Gn{Hn}}}}}{{AIl{Ab}}}}{ce{}{}}0000{{ce}c{}{}}0000{{AjAb}{{d{{h{AMn}}}}}}{{AjAbAN`}{{B`{{Ib{{Gn{ANb}}}}}}}}{{Ajc}{{B`{{Ib{{Gn{I`}}}}}}}{{AIl{Ab}}}}{{{d{Gh}}{d{fc}}}AEjAEl}{{}c{}}0000```````````````{{ANdCb}ANd}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}10{{{d{n}}}{{d{fc}}}{}}{{{d{b}}}{{d{fc}}}{}}01{d{{d{Ej}}}}{ANdFn}{ANdCb}`{d{{d{c}}}{}}000000{{{d{f}}}{{d{fc}}}{}}000000{{{d{ANf}}}ANf}{{{d{ANd}}}ANd}{{d{d{fc}}}Bd{}}0{dBd}0{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000000``{ADhANh}{{}ANj}1`{Cb{{d{c}}}{}}000000{Cb{{d{fc}}}{}}000000{CbBd}000000`{{{d{ANd}}{d{ANd}}}An}{{d{d{Ej}}}An}{{d{d{c}}}An{}}0000{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000000{{{d{ANl}}{d{ANh}}{d{fDb}}}Dd}{{{d{{ANn{c}}}}{d{fDb}}}DdANl}{{{d{{AO`{e}}}}{d{fDb}}}DdDf{{Bf{}{{j{c}}}}}}{{{d{{AO`{e}}}}{d{ANh}}{d{fDb}}}DdANl{{Bf{}{{j{c}}}}}}{{{d{{AOb{c}}}}{d{ANh}}{d{fDb}}}DdANl}{{{d{ANd}}{d{fDb}}}Dd}{{{d{ANh}}AKjAOd{d{fDb}}}Dd}{{{d{ANh}}An{d{Cj}}{d{{h{AOf}}}}{d{Cj}}{d{fDb}}}Dd}`{cc{}}{{{Dh{c}}}c{}}0110100101{FnANd}{CbANd}32{{c{d{Dj}}Dl}e{}{}}000000{{{d{AOh}}}{{Ad{AOj}}}}{{{d{AOh}}}{{Ad{ANf}}}}{ADdANd}554`{{ANhAn}ANh}`{{{d{ANd}}{d{fc}}}BdFl}1``1```{ANdCb}0{{}Cb}000000{{}c{}}0000000000000``{{ANhANf}ANh}``{{{d{ANj}}AKjAOl}{{Ad{ANd}}}}{{{d{fANh}}{d{AOh}}}Bd}`{{{d{ANh}}c}{{ANn{c}}}{}}{{{d{Cj}}e}{{AO`{c}}}{}{{l{}{{AOn{c}}}}}}{{{d{c}}An}{{AOb{c}}}{}}?``{{{d{fANj}}}Bd}{{{d{fDb}}{d{c}}{Ad{{d{Cj}}}}}DdANl}``{{{d{fANj}}{d{{h{AOf}}}}}Bd}``=````{dc{}}0{{}{{Dh{c}}}{}}000000{c{{Dh{e}}}{}{}}0000001111111{dEh}000000{ce{}{}}000000{{ce}c{}{}}000000`???????`{{{d{ANh}}{d{{h{AOf}}}}e}c{}{{Bj{}{{Bh{c}}}}}}```````````````{{{d{B@`}}AjAb}{{B`{Gb}}}}``{{{d{B@`}}AjAb}{{B`{Gf}}}}``{{{d{B@`}}AjAbGh}{{B`{{Gn{Gl}}}}}}``{{{d{B@`}}AjAb}{{B`{H`}}}}``{{B@bAE`}B@d}{d{{d{c}}}{}}000{{{d{f}}}{{d{fc}}}{}}000{{{Ad{Ab}}c}B@bB@f}{{{d{B@`}}AjE`}{{B`{{AJb{AJ`}}}}}}``{{{d{B@b}}}B@b}{{d{d{fc}}}Bd{}}{dBd}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000{{{d{B@`}}Aj}{{d{Bn}}}}``{{{d{fc}}}B@bFb}{{}AKb}{{{d{B@`}}AjAbGh}{{B`{{Ad{{Gn{Gl}}}}}}}}```{Cb{{d{c}}}{}}000{Cb{{d{fc}}}{}}000{{{d{B@`}}AjE`}{{B`{K`}}}}``{{AjAbegi}c{}{{Bj{A`}{{Bh{c}}}}}{{Bj{Ab}{{Bh{{Ad{c}}}}}}}{{Bj{Ab}{{Bh{c}}}}}}{CbBd}000`{{{d{B@b}}{d{fc}}}BdFd}`{{{d{B@`}}Aj}{{d{AAj}}}}``{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000{{{d{B@b}}{d{fDb}}}Dd}{{{d{B@`}}AjAb}{{B`{{Gn{Hb}}}}}}``{cc{}}{{{Dh{c}}}c{}}10010{DlB@b}2{{c{d{Dj}}Dl}e{}{}}000{{{d{B@`}}AjGh}{{B`{AKf}}}}`{{{d{B@`}}AjAb}{{B`{Hd}}}}``{{}Cb}000{{}c{}}000{{B@dAIbAId}{{AIf{Dl}}}}{{B@bAIbAId}{{AIf{Dl}}}}2222{{{d{B@`}}AjAb}{{B`{{Gn{{ALb{AL`}}}}}}}}``{{{d{B@`}}AjAb}{{B`{{ALf{ALd}}}}}}`{{{d{B@`}}AjAb}ALh}`{{{d{B@`}}AjE`}{{B`{{ALb{ALj}}}}}}`{{{d{B@`}}AjAb}{{B`{ALl}}}}`{{{d{B@`}}AjAb}{{B`{{ALf{Ch}}}}}}`{{{d{B@`}}AjE`}{{B`{{AJb{AM`}}}}}}`{AKbB@`}{{{d{B@`}}AjAb}{{B`{{Gn{Hh}}}}}}```{{{d{B@`}}Aj}{{B`{{d{{h{AMf}}}}}}}}``{{{d{B@`}}AjAb}{{B`{Hj}}}}``{{{d{B@`}}Aj}{{d{C`}}}}``{{{d{{B@h{{AHn{ce}}}}}}cg}e{B@jB@l}Bb{{Bj{}{{Bh{e}}}}}}{{{d{B@`}}AjAbGh}{{B`{{Ad{{Gn{Hl}}}}}}}}````{{{d{B@`}}Aj}{{B`{{d{AMj}}}}}}`{dc{}}{{}{{Dh{c}}}{}}000{c{{Dh{e}}}{}{}}0001111{dEh}000{{{d{B@`}}AjAb}{{B`{{Gn{Hn}}}}}}``{{AbB@n}B@b}{ce{}{}}000{{ce}c{}{}}000{{{d{B@`}}AjAb}{{B`{{Ib{{Gn{I`}}}}}}}}``{{}c{}}000``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{BA`Cb}BA`}{{BAbCb}BAb}{{BAdCb}BAd}{{BAfCb}BAf}{{Gbc}BAh{{Ef{BAj}}}}`{{BAlAMb}AMh}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}01011010011010100110011010011001100101100110100101101001101001{{{d{n}}}{{d{fc}}}{}}{{{d{b}}}{{d{fc}}}{}}01100101100101101010010110011001011010101001100110101010010110{{BAn{ALb{AMd}}}AMd}{{{d{BB`}}{d{BBb}}}BBb}```````{{AMhBBd}AMh}{d{{d{Ej}}}}000000000000000000000000000000000000000000000000000000000000000000{{{d{BBf}}}{{d{BAh}}}}{{{d{AMh}}}{{Ad{{d{BAh}}}}}}{{{d{{Ib{c}}}}}{{Ib{d}}}BBh}{{{d{{Ib{c}}}}}{{Ib{{d{c}}}}}{}}{BA`Fn}{BAbFn}{BAdFn}{BAfFn}{BA`Cb}{BAbCb}{BAdCb}{BAfCb}`{{{d{AJ`}}}{{BBj{AMd}}}}`{{{d{fAJ`}}}{{BBl{AMd}}}}`{AMhAMh}``{{}AMh}{d{{d{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{f}}}{{d{fc}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000`{{{d{BBn}}}{{Gj{{d{AMh}}{d{AMh}}}}}}{{{d{BAj}}}{{Gj{{d{AMh}}{d{AMh}}}}}}``4{{{d{{BC`{c}}}}}{{BC`{c}}}Bb}{{{d{BAl}}}BAl}{{{d{BBd}}}BBd}{{{d{BCb}}}BCb}{{{d{BCd}}}BCd}{{{d{BCf}}}BCf}{{{d{BCh}}}BCh}{{{d{Gf}}}Gf}{{{d{Hd}}}Hd}{{{d{Hj}}}Hj}{{{d{BCj}}}BCj}{{{d{BCl}}}BCl}{{{d{BCn}}}BCn}{{{d{Hh}}}Hh}{{{d{AL`}}}AL`}{{{d{BD`}}}BD`}{{{d{BDb}}}BDb}{{{d{AKn}}}AKn}{{{d{BDd}}}BDd}{{{d{BDf}}}BDf}{{{d{BDh}}}BDh}{{{d{BDj}}}BDj}{{{d{BDl}}}BDl}{{{d{BDn}}}BDn}{{{d{H`}}}H`}{{{d{BE`}}}BE`}{{{d{BAn}}}BAn}{{{d{BA`}}}BA`}{{{d{BAb}}}BAb}{{{d{BAd}}}BAd}{{{d{BEb}}}BEb}{{{d{BEd}}}BEd}{{{d{BAf}}}BAf}{{{d{AMd}}}AMd}{{{d{BEf}}}BEf}{{{d{Hl}}}Hl}{{{d{BEh}}}BEh}{{{d{BEj}}}BEj}{{{d{BEl}}}BEl}{{{d{Gb}}}Gb}{{{d{{Ib{c}}}}}{{Ib{c}}}Bb}{{{d{BB`}}}BB`}{{{d{BEn}}}BEn}{{{d{BF`}}}BF`}{{{d{BFb}}}BFb}{{{d{BFd}}}BFd}{{{d{AKf}}}AKf}{{{d{AMh}}}AMh}{{{d{BFf}}}BFf}{{{d{BFh}}}BFh}{{{d{BAh}}}BAh}{{{d{AMb}}}AMb}{{{d{BFj}}}BFj}{{{d{BFl}}}BFl}{{{d{BFn}}}BFn}{{d{d{fc}}}Bd{}}00000000000000000000000000000000000000000000000000000000000000000000000{dBd}00000000000000000000000000000000000000000000000000000000000000000000000{{Abc{d{BG`}}}AMh{{Ef{{ALb{AMh}}}}}}{{{d{AJ`}}}{{BBj{{BGb{BFn}}}}}}`{{{d{fAJ`}}}{{BBl{{BGb{BFn}}}}}}{{{d{Hj}}Aje}{{B`{g}}}{}{{BGd{BCj}{{Bh{c}}}}}{{BGf{c}}}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{d{d{c}}}F`{}}00000000000000000000000{{{d{Hd}}Aj}{{B`{{BGb{{Gj{BGhAMd}}}}}}}}{{cAMh}AMh{{Ef{BBb}}}}`{{AbAMh{ALb{AMh}}}AMh}{{{d{Hd}}}Cb}{{{d{Hj}}}Cb}```{{{d{fc}}}GfAAh}{{{d{fc}}}BGjAAh}{{{d{fc}}}HdFb}{{{d{fc}}}HjAAh}{{{d{fc}}}BCjAAh}{{{d{fc}}}BClFb}{{{d{fc}}}BCnFb}{{{d{fc}}}HhAAh}{{{d{fc}}}AL`AAh}{{{d{fc}}}BD`AAh}{{{d{fc}}}BDbAAh}{{{d{fc}}}AKnAAh}{{{d{fc}}}BDdAAh}{{{d{fc}}}BDfAAh}{{{d{fc}}}BDhAAh}{{{d{fc}}}BDjAAh}{{{d{fc}}}BDlAAh}{{{d{fc}}}BDnAAh}{{{d{fc}}}H`Fb}{{{d{fc}}}BE`Fb}{{{d{fc}}}BAnAAh}{{{d{fc}}}BA`AAf}{{{d{fc}}}BAbAAf}{{{d{fc}}}BAdAAf}{{{d{fc}}}BEdFb}{{{d{fc}}}BAfAAf}{{{d{fc}}}AMdAAh}{{{d{fc}}}BEfAAh}{{{d{fc}}}HlAAh}{{{d{fc}}}BEhAAh}{{{d{fc}}}BEjAAh}{{{d{fc}}}BElAAh}{{{d{fc}}}GbAAh}{{{d{fc}}}BGlAAh}{{{d{fc}}}{{Ib{e}}}AAh{{BGn{c}}}}{{{d{fc}}}BB`AAh}{{{d{fc}}}BEnAAh}{{{d{fc}}}BF`AAh}{{{d{fc}}}BFbAAh}{{{d{fc}}}BFdAAh}{{{d{fc}}}AMhAAh}{{{d{fc}}}BFfAAh}{{{d{fc}}}BFhAAh}{{{d{fc}}}BAhAAh}{{{d{fc}}}AMbAAh}{{{d{fc}}}BFjAAh}{{{d{fc}}}BFlAAh}{{{d{BH`}}}Ab}{{{d{BHb}}}Ab}```````{{}Hd}{{}H`}{ADhANh}0`{Cb{{d{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{Cb{{d{fc}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Gf}}}Ab}{{{d{Gb}}}Ab}{{GbBHd}AMh}{{{d{Gb}}}{{`{{Bf{}{{j{{Gj{AN`Ff}}}}}}}}}}{{GbBAjAMhAN`{ALb{AMh}}}AMh}{CbBd}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{cBCd}AMh{{Ef{{ALb{{BHf{BDd}}}}}}}}{{{d{Gf}}{d{fc}}}BdAAn}{{{d{BGj}}{d{fc}}}BdAAn}{{{d{Hd}}{d{fc}}}BdFd}{{{d{Hj}}{d{fc}}}BdAAn}{{{d{BCj}}{d{fc}}}BdAAn}{{{d{BCl}}{d{fc}}}BdFd}{{{d{BCn}}{d{fc}}}BdFd}{{{d{Hh}}{d{fc}}}BdAAn}{{{d{AL`}}{d{fc}}}BdAAn}{{{d{BD`}}{d{fc}}}BdAAn}{{{d{BDb}}{d{fc}}}BdAAn}{{{d{AKn}}{d{fc}}}BdAAn}{{{d{BDd}}{d{fc}}}BdAAn}{{{d{BDf}}{d{fc}}}BdAAn}{{{d{BDh}}{d{fc}}}BdAAn}{{{d{BDj}}{d{fc}}}BdAAn}{{{d{BDl}}{d{fc}}}BdAAn}{{{d{BDn}}{d{fc}}}BdAAn}{{{d{H`}}{d{fc}}}BdFd}{{{d{BE`}}{d{fc}}}BdFd}{{{d{BAn}}{d{fc}}}BdAAn}{{{d{BA`}}{d{fc}}}BdAAl}{{{d{BAb}}{d{fc}}}BdAAl}{{{d{BAd}}{d{fc}}}BdAAl}{{{d{BEd}}{d{fc}}}BdFd}{{{d{BAf}}{d{fc}}}BdAAl}{{{d{AMd}}{d{fc}}}BdAAn}{{{d{BEf}}{d{fc}}}BdAAn}{{{d{Hl}}{d{fc}}}BdAAn}{{{d{BEh}}{d{fc}}}BdAAn}{{{d{BEj}}{d{fc}}}BdAAn}{{{d{BEl}}{d{fc}}}BdAAn}{{{d{Gb}}{d{fc}}}BdAAn}{{{d{BGl}}{d{fc}}}BdAAn}{{{d{{Ib{e}}}}{d{fc}}}BdAAn{{BHh{c}}}}{{{d{BB`}}{d{fc}}}BdAAn}{{{d{BEn}}{d{fc}}}BdAAn}{{{d{BF`}}{d{fc}}}BdAAn}{{{d{BFb}}{d{fc}}}BdAAn}{{{d{BFd}}{d{fc}}}BdAAn}{{{d{AMh}}{d{fc}}}BdAAn}{{{d{BFf}}{d{fc}}}BdAAn}{{{d{BFh}}{d{fc}}}BdAAn}{{{d{BAh}}{d{fc}}}BdAAn}{{{d{AMb}}{d{fc}}}BdAAn}{{{d{BFj}}{d{fc}}}BdAAn}{{{d{BFl}}{d{fc}}}BdAAn}`{{{d{{BC`{c}}}}{d{{BC`{c}}}}}AnBHj}{{{d{BAl}}{d{BAl}}}An}{{{d{BBd}}{d{BBd}}}An}{{{d{BCb}}{d{BCb}}}An}{{{d{BCd}}{d{BCd}}}An}{{{d{BCf}}{d{BCf}}}An}{{{d{BCh}}{d{BCh}}}An}{{{d{Gf}}{d{Gf}}}An}{{{d{BGj}}{d{BGj}}}An}{{{d{BCj}}{d{BCj}}}An}{{{d{BCl}}{d{BCl}}}An}{{{d{BCn}}{d{BCn}}}An}{{{d{AL`}}{d{AL`}}}An}{{{d{BD`}}{d{BD`}}}An}{{{d{BDb}}{d{BDb}}}An}{{{d{AKn}}{d{AKn}}}An}{{{d{BDd}}{d{BDd}}}An}{{{d{BDf}}{d{BDf}}}An}{{{d{BDh}}{d{BDh}}}An}{{{d{BDj}}{d{BDj}}}An}{{{d{BDl}}{d{BDl}}}An}{{{d{BDn}}{d{BDn}}}An}{{{d{BE`}}{d{BE`}}}An}{{{d{BAn}}{d{BAn}}}An}{{{d{BA`}}{d{BA`}}}An}{{{d{BAb}}{d{BAb}}}An}{{{d{BAd}}{d{BAd}}}An}{{{d{BEb}}{d{BEb}}}An}{{{d{BEd}}{d{BEd}}}An}{{{d{BAf}}{d{BAf}}}An}{{{d{AMd}}{d{AMd}}}An}{{{d{BEf}}{d{BEf}}}An}{{{d{Hl}}{d{Hl}}}An}{{{d{BEh}}{d{BEh}}}An}{{{d{BEj}}{d{BEj}}}An}{{{d{BEl}}{d{BEl}}}An}{{{d{Gb}}{d{Gb}}}An}{{{d{BGl}}{d{BGl}}}An}{{{d{BB`}}{d{BB`}}}An}{{{d{BEn}}{d{BEn}}}An}{{{d{BF`}}{d{BF`}}}An}{{{d{BFb}}{d{BFb}}}An}{{{d{BFd}}{d{BFd}}}An}{{{d{AMh}}{d{AMh}}}An}{{{d{BFf}}{d{BFf}}}An}{{{d{BFh}}{d{BFh}}}An}{{{d{BAh}}{d{BAh}}}An}{{{d{AMb}}{d{AMb}}}An}{{{d{BFj}}{d{BFj}}}An}{{{d{BFl}}{d{BFl}}}An}{{d{d{Ej}}}An}000000000000000000000000000000000000000000000000000000000000000000{{d{d{c}}}An{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{d{{Dh{Bd}}}}000000000``{{{BHf{AMh}}}AMh}{{BAhBBb}AMh}{{{Ib{c}}{d{Cj}}}c{}}{{{d{AMh}}}{{Gj{{d{Gb}}{d{{h{BFl}}}}{d{BBb}}}}}}{{{d{BAh}}}{{Gj{{d{Gb}}{d{{h{BFl}}}}}}}}{{{d{BFl}}}{{d{BBf}}}}{{{d{AMh}}}{{Gj{{d{Gb}}{d{BHd}}}}}}{{{d{AMd}}}{{d{BEj}}}}{{{d{BEj}}}Hl}{{{d{AMh}}}{{d{{h{AMh}}}}}}{{{d{BFl}}}{{d{AMh}}}}``{{{d{Gf}}{d{{h{AMd}}}}Gh}{{Ad{{Gj{BHlAMd}}}}}}`{{{d{AJ`}}}{{BBj{BHl}}}}`{{{d{fAJ`}}}{{BBl{BHl}}}}{{{d{Gf}}{d{{h{AMd}}}}}{{ALb{AMd}}}}{{{d{Gf}}}Cb}{{{d{BEn}}}{{d{{h{AMh}}}}}}`{{Aj{d{f{BGb{BFl}}}}{d{Hd}}{d{fc}}}{{B`{Bd}}}{{BGd{{d{BCl}}{d{{h{BFl}}}}}{{Bh{BFl}}}}}}{{{d{Gf}}{d{{h{c}}}}}{{`{{Bf{}{{j{{d{c}}}}}}}}}{}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{H`}}Gh}{{Ad{{d{BE`}}}}}}{{}ABl}00000000000000{BHnAMh}{{{d{{ALb{AMh}}}}{d{ANh}}{d{fDb}}}Dd}{{{d{{BC`{c}}}}{d{fDb}}}{{Dh{BdAC`}}}Df}{{{d{BAl}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{BAl}}{d{ANh}}{d{fDb}}}Dd}{{{d{BBd}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{BBd}}{d{ANh}}{d{fDb}}}Dd}{{{d{BCd}}{d{ANh}}{d{fDb}}}Dd}{{{d{BCd}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{BCh}}{d{fDb}}}{{Dh{BdAC`}}}}{{{d{Hb}}{d{ANh}}{d{fDb}}}Dd}{{{d{Gf}}{d{fDb}}}Dd}{{{d{BGj}}{d{fDb}}}Dd}{{{d{Hd}}{d{fDb}}}Dd}{{{d{Hj}}{d{fDb}}}Dd}{{{d{BCj}}{d{fDb}}}Dd}{{{d{BCl}}{d{fDb}}}Dd}{{{d{BCn}}{d{fDb}}}Dd}{{{d{Hh}}{d{fDb}}}Dd}{{{d{AL`}}{d{fDb}}}Dd}{{{d{BD`}}{d{ANh}}{d{fDb}}}Dd}{{{d{BD`}}{d{fDb}}}Dd}{{{d{BDb}}{d{fDb}}}Dd}{{{d{AKn}}{d{fDb}}}Dd}{{{d{BDd}}{d{ANh}}{d{fDb}}}Dd}{{{d{BDd}}{d{fDb}}}Dd}{{{d{BDf}}{d{fDb}}}Dd}{{{d{BDf}}{d{ANh}}{d{fDb}}}Dd}{{{d{BDh}}{d{fDb}}}Dd}{{{d{BDh}}{d{ANh}}{d{fDb}}}Dd}{{{d{BDj}}{d{fDb}}}Dd}{{{d{BDl}}{d{fDb}}}Dd}{{{d{BDn}}{d{fDb}}}Dd}{{{d{H`}}{d{fDb}}}Dd}{{{d{BE`}}{d{fDb}}}Dd}{{{d{BAn}}{d{ANh}}{d{fDb}}}Dd}{{{d{BAn}}{d{fDb}}}Dd}{{{d{BA`}}{d{fDb}}}Dd}{{{d{BAb}}{d{fDb}}}Dd}{{{d{BAd}}{d{fDb}}}Dd}{{{d{BEb}}{d{fDb}}}Dd}{{{d{BEd}}{d{ANh}}{d{fDb}}}Dd}{{{d{BAf}}{d{fDb}}}Dd}{{{d{AMd}}{d{ANh}}{d{fDb}}}Dd}{{{d{AMd}}{d{fDb}}}Dd}{{{d{BEf}}{d{fDb}}}Dd}{{{d{BEf}}{d{ANh}}{d{fDb}}}Dd}{{{d{Hl}}{d{fDb}}}Dd}{{{d{Hl}}{d{ANh}}{d{fDb}}}Dd}{{{d{BEh}}{d{fDb}}}Dd}{{{d{BEj}}{d{fDb}}}Dd}{{{d{BEj}}{d{ANh}}{d{fDb}}}Dd}{{{d{BEl}}{d{fDb}}}Dd}{{{d{BEl}}{d{ANh}}{d{fDb}}}Dd}{{{d{Gb}}{d{fDb}}}Dd}{{{d{BGl}}{d{fDb}}}Dd}{{{d{{Ib{c}}}}{d{fDb}}}DdDf}{{{d{BB`}}{d{fDb}}}Dd}{{{d{BEn}}{d{ANh}}{d{fDb}}}Dd}{{{d{BEn}}{d{fDb}}}Dd}{{{d{BF`}}{d{fDb}}}Dd}{{{d{BF`}}{d{ANh}}{d{fDb}}}Dd}{{{d{BFb}}{d{ANh}}{d{fDb}}}Dd}{{{d{BFb}}{d{fDb}}}Dd}{{{d{BFd}}{d{fDb}}}Dd}{{{d{BFd}}{d{ANh}}{d{fDb}}}Dd}{{{d{AMf}}{d{fDb}}}Dd}{{{d{AKf}}{d{fDb}}}Dd}{{{d{BI`}}{d{fDb}}}Dd}{{{d{AMh}}{d{ANh}}{d{fDb}}}Dd}{{{d{AMh}}{d{fDb}}}Dd}{{{d{BFf}}{d{fDb}}}Dd}{{{d{BFh}}{d{ANh}}{d{fDb}}}Dd}{{{d{BFh}}{d{fDb}}}Dd}{{{d{BAh}}{d{fDb}}}Dd}{{{d{BAh}}{d{ANh}}{d{fDb}}}Dd}{{{d{AKj}}{d{ANh}}{d{fDb}}}Dd}{{{d{AMb}}{d{fDb}}}Dd}{{{d{BFj}}{d{fDb}}}Dd}{{{d{BFj}}{d{ANh}}{d{fDb}}}Dd}{{{d{BFl}}{d{ANh}}{d{fDb}}}Dd}{{{d{BFl}}{d{fDb}}}Dd}{{{d{BFn}}{d{fDb}}}Dd}{{{d{{BBj{c}}}}{d{fDb}}}DdDf}{{{d{BIb}}{d{ANh}}{d{fDb}}}Dd}{{Abc}BAh{{Ef{BAj}}}}{{{d{BDl}}}Hb}`{{{d{BEf}}{d{fc}}}BEfADb}{{{d{BId}}{d{fc}}}BIdADb}{{{d{BIb}}{d{fc}}}BIbADb}{{AjAbc}{{B`{BAj}}}{{BGd{{d{BCl}}{d{{h{BFl}}}}}{{Bh{BFl}}}}}}{{{Dh{c}}}c{}}{cc{}}01011010010101010101100110100101100101100{{{BHf{BD`}}}AL`}2211221212112212112211212121{CbBA`}{FnBA`}4{CbBAb}{FnBAb}65{CbBAd}6{FnBAd}887877{CbBAf}{FnBAf}:9:9::9:99:9::99:9:9::9:9:99::99::9:9:9:99:9::9:99::9:99::99:9:9:9::99::9:99:9:{{c{d{Dj}}Dl}e{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000531{{{d{BCl}}}BFl}{{{d{Cj}}}{{Ad{BAh}}}}{ADdBA`}{ADdBAb}{ADdBAd}{ADdBAf}=;97=;97{{ADhCb}BBd}?=;9`{{{d{{BBj{c}}}}Mn}{{Ad{{d{c}}}}}{}}``{{dAKh}An}000000000{{dAKj}An}000000000{{{d{{BC`{c}}}}{d{fe}}}BdB@jFl}{{{d{BAl}}{d{fc}}}BdFl}{{{d{BBd}}{d{fc}}}BdFl}{{{d{BCb}}{d{fc}}}BdFl}{{{d{BCd}}{d{fc}}}BdFl}{{{d{BCf}}{d{fc}}}BdFl}{{{d{BCh}}{d{fc}}}BdFl}{{{d{Gf}}{d{fc}}}BdFl}{{{d{BGj}}{d{fc}}}BdFl}{{{d{BCj}}{d{fc}}}BdFl}{{{d{BCl}}{d{fc}}}BdFl}{{{d{BCn}}{d{fc}}}BdFl}{{{d{AL`}}{d{fc}}}BdFl}{{{d{BD`}}{d{fc}}}BdFl}{{{d{BDb}}{d{fc}}}BdFl}{{{d{AKn}}{d{fc}}}BdFl}{{{d{BDd}}{d{fc}}}BdFl}{{{d{BDf}}{d{fc}}}BdFl}{{{d{BDh}}{d{fc}}}BdFl}{{{d{BDj}}{d{fc}}}BdFl}{{{d{BDl}}{d{fc}}}BdFl}{{{d{BDn}}{d{fc}}}BdFl}{{{d{BE`}}{d{fc}}}BdFl}{{{d{BAn}}{d{fc}}}BdFl}{{{d{BA`}}{d{fc}}}BdFl}{{{d{BAb}}{d{fc}}}BdFl}{{{d{BAd}}{d{fc}}}BdFl}{{{d{BEd}}{d{fc}}}BdFl}{{{d{BAf}}{d{fc}}}BdFl}{{{d{AMd}}{d{fc}}}BdFl}{{{d{BEf}}{d{fc}}}BdFl}{{{d{Hl}}{d{fc}}}BdFl}{{{d{BEh}}{d{fc}}}BdFl}{{{d{BEj}}{d{fc}}}BdFl}{{{d{BEl}}{d{fc}}}BdFl}{{{d{Gb}}{d{fc}}}BdFl}{{{d{BGl}}{d{fc}}}BdFl}{{{d{BB`}}{d{fc}}}BdFl}{{{d{BEn}}{d{fc}}}BdFl}{{{d{BF`}}{d{fc}}}BdFl}{{{d{BFb}}{d{fc}}}BdFl}{{{d{BFd}}{d{fc}}}BdFl}{{{d{AMh}}{d{fc}}}BdFl}{{{d{BFf}}{d{fc}}}BdFl}{{{d{BFh}}{d{fc}}}BdFl}{{{d{BAh}}{d{fc}}}BdFl}{{{d{AMb}}{d{fc}}}BdFl}{{{d{BFj}}{d{fc}}}BdFl}{{{d{BFl}}{d{fc}}}BdFl}{{{d{Gf}}}{{ALb{AMd}}}}{{Ajc}{{B`{BAj}}}{{Ef{Ab}}}}``{BA`Cb}0{BAbCb}{{{d{BAb}}}Fn}1{BAdCb}{{{d{BAd}}}Fn}1{{{d{BAf}}}Fn}{BAfCb}0`````{{BAhc}AMh{{Ef{BBb}}}}{BIfAMh}{{}Cb}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{Hl}}}{{d{{h{AMd}}}}}}{{{d{BF`}}}{{d{{h{AMh}}}}}}``{{{d{f{BBl{c}}}}Mnc}Bd{}}{{{d{BEj}}{d{{h{BEl}}}}}Hl}{{{d{BEj}}}Hl}{BIhAMh}{{BIhAn}{{d{{h{BB`}}}}}}{BFfAMh}{{}c{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{AMdADf}{HlADf}22222222222222222222222222222222222222222222222222222222222222222222222222222222{{{d{Gb}}}{{d{{h{BB`}}}}}}{{{d{BAh}}An}{{d{{h{BB`}}}}}}`{{{d{BAh}}}An}{{{d{AMh}}}An}1{{{d{AMd}}}An}12{{{d{Gb}}}An}23032311301323023{{ADhAn}An}00000000032{{{d{AMd}}}{{Ad{Ab}}}}5`{{{d{AL`}}}{{BHf{BD`}}}}{{{d{AMh}}}{{d{BFf}}}}````````{{{d{AL`}}}BD`}``{{ADhAn{Ad{ALn}}}{{Ad{c}}}{}}000000000{{{Ib{c}}g}{{Ib{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}{{AjAMhAMh}{{B`{AMh}}}}{{AjAMh}{{B`{AMh}}}}{{BCdAMhBIj}AMh}{AMhAMh}````````````{{}AMh}{cAJ`{{Ef{Ml}}}}{{Ab{BGb{BIl}}{BGb{{Gj{GhAMd}}}}}Gf}{{cBD`}AL`{{Ef{{ALb{AOf}}}}}}{CbBA`}{CbBAb}{CbBAd}{CbBAf}{{{BGb{AMd}}AMd}Hl}{{{ALb{BEh}}Hl}BEj}{{BInGf{BGb{BB`}}An}Gb}{{{BHf{BBb}}}BB`}{{GbBAj{ALb{AMh}}BBb}BEn}{{BJ`BJb{ALb{BBb}}{ALb{AMh}}{BHf{BFb}}}BF`}{{AMhc}BFb{{Ef{{ALb{BFd}}}}}}{{AbBAjBJd}AMb}{{BAhce}BFj{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{AJ`}}}{{BBj{AMd}}}}`{{{d{fAJ`}}}{{BBl{AMd}}}}```{{{Ib{c}}g}{{Dh{ce}}}{}{}{{Bj{}{{Bh{e}}}}}}{{cBAjBJd}AMh{{Ef{Ab}}}}`{{{d{Hl}}}{{d{AMd}}}}{{{d{BF`}}}{{d{{BHf{BFb}}}}}}````{{{d{Hd}}}Cb}````{BIlAMh}{{{d{Hd}}CbAj}{{B`{BCl}}}}{{{d{Hj}}CbAj}{{B`{BCj}}}}{{{d{BEj}}}{{`{{BJf{}{{j{BEh}}}}}}}}````````````{{{d{BAh}}}{{Ad{Gh}}}}````````````{AMbAMh}```{{{d{Gf}}}{{`{{Bf{}{{j{BHl}}}}}}}}{{ce}AMh{{Ef{BFh}}}{{Ef{BJh}}}}{{{d{AJ`}}}{{BBj{Ab}}}}`{{{d{fAJ`}}}{{BBl{Ab}}}}{{c{d{ADn}}}{{Ad{e}}}{}{}}00000000000000``{{{d{BF`}}}{{d{{h{BBb}}}}}}``{{{d{BEn}}}AMh}`````{{{d{AMb}}}{{d{AMh}}}}`{{{d{AMh}}}BJj}`{{{d{BEj}}}Hl}{An{{d{{h{BB`}}}}}}{{{d{Gb}}{d{{h{BFl}}}}}AMd}{{{d{BAh}}}AMd}``{{{d{Gb}}}{{d{Gf}}}}```{{{d{BDd}}ADh{d{BDd}}}F`}{{}{{d{{AEb{{h{ANb}}}}}}}}{{}{{d{{AEb{BGj}}}}}}{{}{{d{{AEb{{h{BCj}}}}}}}}{{}{{d{{AEb{{h{BCl}}}}}}}}{{}{{d{{AEb{{h{AL`}}}}}}}}{{}{{d{{AEb{{h{AKn}}}}}}}}{{}{{d{{AEb{{h{BE`}}}}}}}}{{}{{d{{AEb{{h{AMd}}}}}}}}{{}{{d{{AEb{{h{BEh}}}}}}}}{{}{{d{{AEb{BGl}}}}}}{{}{{d{{AEb{{h{BB`}}}}}}}}{{}{{d{{AEb{{h{BFd}}}}}}}}{{}{{d{{AEb{{h{AMh}}}}}}}}{{}{{d{{AEb{BFf}}}}}}{{}{{d{{AEb{{h{BFl}}}}}}}}{{}AMh}{{{d{BFj}}c}BFj{{Ef{BBb}}}}{{BCdBJhAMh}AMh}`{{{d{AMd}}{d{fc}}}AEjAEl}{{{d{AMh}}{d{fc}}}AEjAEl}{{{d{BAh}}{d{fc}}}AEjAEl}{{}{{d{Cj}}}}00``{{dc}Bl{}}00000000000000{{dc}AEd{}}00000000000000{dc{}}00000000000000000000000000000000000000000000000000000000000000000000000{{{d{Hl}}}BEj}{{{d{BDl}}Ab{ALb{AMh}}{d{BG`}}}Hb}{{{d{BDn}}}Hb}{{}{{Dh{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{BBn}}ADh}BJl}{{{d{BAl}}ADh}}{{{d{BBd}}ADh}}{{{d{BCd}}ADh}}{{{d{BCh}}ADh}}{{{d{BAj}}ADh}BJl}{{{d{AKn}}ADh}c{}}{{{d{BDd}}ADh}c{}}{{{d{BF`}}ADh}c{}}{{{d{BFb}}ADh}c{}}{{{d{AMh}}ADh}c{}}{{{d{BAh}}ADh}c{}}{{{d{AMb}}ADh}c{}}{{{d{BFj}}ADh}ALn}{{{d{BFl}}ADh}c{}}{{{d{Gf}}{d{{h{BFl}}}}}AMd}{BEbAMd}{dBl}000{{{d{Hn}}}AMh}{{{d{BBf}}}AMh}{{{d{BAh}}}AMh}{{{d{BFj}}}AMh}`{{}BBf}{{}AMh}`{{{Ib{{Dh{ce}}}}}{{Dh{{Ib{c}}e}}}{}{}}{{BAhc}BFj{{Ef{BBb}}}}{{{d{{ALb{c}}}}{d{fe}}}{{Dh{{ALb{c}}}}}BJnAEf}{{{d{{BC`{c}}}}{d{fe}}}{{Dh{{BC`{c}}}}}BJnAEf}{{{d{BBd}}{d{fc}}}{{Dh{BBd}}}AEf}{{{d{BCd}}{d{fc}}}{{Dh{BCd}}}AEf}{{{d{AL`}}{d{fc}}}{{Dh{AL`}}}AEf}{{{d{BD`}}{d{fc}}}{{Dh{BD`}}}AEf}{{{d{BDb}}{d{fc}}}{{Dh{BDb}}}AEf}{{{d{AKn}}{d{fc}}}{{Dh{AKn}}}AEf}{{{d{BDd}}{d{fc}}}{{Dh{BDd}}}AEf}{{{d{BDf}}{d{fc}}}{{Dh{BDf}}}AEf}{{{d{BDh}}{d{fc}}}{{Dh{BDh}}}AEf}{{{d{BDj}}{d{fc}}}{{Dh{BDj}}}AEf}{{{d{BDl}}{d{fc}}}{{Dh{BDl}}}AEf}{{{d{BDn}}{d{fc}}}{{Dh{BDn}}}AEf}{{{d{AMd}}{d{fc}}}{{Dh{AMd}}}AEf}{{{d{BEf}}{d{fc}}}{{Dh{BEf}}}AEf}{{{d{Hl}}{d{fc}}}{{Dh{Hl}}}AEf}{{{d{BEj}}{d{fc}}}{{Dh{BEj}}}AEf}{{{d{BEl}}{d{fc}}}{{Dh{BEl}}}AEf}{{{d{{Ib{c}}}}{d{fe}}}{{Dh{{Ib{c}}}}}BJnAEf}{{{d{BB`}}{d{fc}}}{{Dh{BB`}}}AEf}{{{d{BEn}}{d{fc}}}{{Dh{BEn}}}AEf}{{{d{BF`}}{d{fc}}}{{Dh{BF`}}}AEf}{{{d{BFb}}{d{fc}}}{{Dh{BFb}}}AEf}{{{d{BFd}}{d{fc}}}{{Dh{BFd}}}AEf}{{{d{AMf}}{d{fc}}}{{Dh{AMf}}}AEf}{{{d{AMh}}{d{fc}}}{{Dh{AMh}}}AEf}{{{d{BAh}}{d{fc}}}{{Dh{BAh}}}AEf}{{{d{AMb}}{d{fc}}}{{Dh{AMb}}}AEf}{{{d{BFj}}{d{fc}}}{{Dh{BFj}}}AEf}{{{d{BFl}}{d{fc}}}{{Dh{BFl}}}AEf}{{{d{BId}}{d{fc}}}{{Dh{BId}}}AEf}{{{d{BIb}}{d{fc}}}{{Dh{BIb}}}AEf}{c{{Dh{e}}}{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{}{{Dh{c}}}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{BBd}}{d{fc}}}{{Dh{BBd}}}AEf}{{{d{AMd}}{d{fc}}}{{Dh{AMd}}}AEf}:97{cAMd{{Ef{{ALb{AMd}}}}}}{cAMh{{Ef{{ALb{AMh}}}}}}`{dEh}0000000000000000000000000000000000000000000000000000000000000000000000000000000{BK`AMh}{{BK`An}{{d{{h{BB`}}}}}}{{{d{AMh}}}AMh}{{{d{AMh}}}{{Gj{AMhBBb}}}}{{{d{c}}{d{c}}}{{Dh{c}}}{}}00{{}AMh}{{}AMd}1{{{d{BAh}}}{{Ad{{Gj{{d{AMh}}{d{AMh}}}}}}}}{ce{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{ce}c{}{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000````````````{{{d{Gb}}AN`}{{d{BKb}}}}{{{d{Gb}}}{{d{{BKd{AN`BKb}}}}}}`````````{{{d{{ALb{c}}}}{d{fe}}}AEjBKfAEl}{{{d{{BC`{c}}}}{d{fe}}}AEjBKfAEl}{{{d{BBd}}{d{fc}}}AEjAEl}{{{d{BCd}}{d{fc}}}AEjAEl}{{{d{AL`}}{d{fc}}}AEjAEl}{{{d{BD`}}{d{fc}}}AEjAEl}{{{d{BDb}}{d{fc}}}AEjAEl}{{{d{AKn}}{d{fc}}}AEjAEl}{{{d{BDd}}{d{fc}}}AEjAEl}{{{d{BDf}}{d{fc}}}AEjAEl}{{{d{BDh}}{d{fc}}}AEjAEl}{{{d{BDj}}{d{fc}}}AEjAEl}{{{d{BDl}}{d{fc}}}AEjAEl}{{{d{BDn}}{d{fc}}}AEjAEl}{{{d{AMd}}{d{fc}}}AEjAEl}{{{d{BEf}}{d{fc}}}AEjAEl}{{{d{Hl}}{d{fc}}}AEjAEl}{{{d{BEj}}{d{fc}}}AEjAEl}{{{d{BEl}}{d{fc}}}AEjAEl}{{{d{{Ib{c}}}}{d{fe}}}AEjBKfAEl}{{{d{BB`}}{d{fc}}}AEjAEl}{{{d{BEn}}{d{fc}}}AEjAEl}{{{d{BF`}}{d{fc}}}AEjAEl}{{{d{BFb}}{d{fc}}}AEjAEl}{{{d{BFd}}{d{fc}}}AEjAEl}{{{d{AMf}}{d{fc}}}AEjAEl}{{{d{AMh}}{d{fc}}}AEjAEl}{{{d{BAh}}{d{fc}}}AEjAEl}{{{d{AMb}}{d{fc}}}AEjAEl}{{{d{BFj}}{d{fc}}}AEjAEl}{{{d{BFl}}{d{fc}}}AEjAEl}{{{d{BId}}{d{fc}}}AEjAEl}{{{d{BIb}}{d{fc}}}AEjAEl}{{}c{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{{{d{AMd}}c}Bd{{BGd{{d{AMd}}{d{{h{BHl}}}}}}}}`````````````````{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}{d{{d{Ej}}}}00{{{d{{BHf{BFj}}}}}{{d{BAh}}}}{{{d{{Gn{c}}}}}{{Gn{d}}}BBh}{{{d{{Gn{c}}}}}{{Gn{{d{c}}}}}{}}{{{d{{BHf{c}}}}}{{BHf{{d{c}}}}}{}}{{cAMd}{{BHf{c}}}{}}{{c{d{{h{AMd}}}}}{{BHf{c}}}{}}{{cBKh}{{BHf{c}}}{}}{d{{d{c}}}{}}000{{{d{f}}}{{d{fc}}}{}}000{{{d{{Gn{c}}}}}{{Gn{c}}}Bb}{{{d{{BHf{c}}}}}{{BHf{c}}}Bb}{{{d{AOf}}}AOf}{{{d{BKj}}}BKj}{{d{d{fc}}}Bd{}}000{dBd}000{{{d{BKj}}{d{BKj}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000{{d{d{c}}}F`{}}0{{{d{fc}}}{{Gn{e}}}AAh{{BGn{c}}}}{{{d{fc}}}{{BHf{e}}}AAh{{BGn{c}}}}{{{d{fc}}}AOfAAh}{{{d{fc}}}BKjFb}{{{d{{BHf{AKn}}}}}Ab}{{{d{{BHf{BDf}}}}}Ab}{Cb{{d{c}}}{}}000{Cb{{d{fc}}}{}}000{CbBd}000{c{{BHf{c}}}{}}{{{d{{Gn{e}}}}{d{fc}}}BdAAn{{BHh{c}}}}{{{d{{BHf{e}}}}{d{fc}}}BdAAn{{BHh{c}}}}{{{d{AOf}}{d{fc}}}BdAAn}{{{d{BKj}}{d{fc}}}BdFd}{{{d{{BHf{c}}}}{d{{BHf{c}}}}}AnBHj}{{{d{AOf}}{d{AOf}}}An}{{{d{BKj}}{d{BKj}}}An}{{d{d{Ej}}}An}00{{d{d{c}}}An{}}00000000000000{{{d{AOf}}}{{Gj{{d{AMd}}OhBKj}}}}{{{d{AOf}}}{{d{AMd}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000{{{d{{Gn{c}}}}{d{fDb}}}DdDf}{{{d{{BHf{BFb}}}}{d{ANh}}{d{fDb}}}Dd}{{{d{{BHf{c}}}}{d{fDb}}}DdANl}{{{d{{BHf{c}}}}{d{ANh}}{d{fDb}}}DdANl}{{{d{AOf}}{d{fDb}}}Dd}{{{d{BKj}}{d{fDb}}}Dd}{{{d{BKj}}{d{fc}}}BKjADb}{{{Dh{c}}}c{}}{cc{}}01{AMdAOf}2121{{c{d{Dj}}Dl}e{}{}}000{{{d{{BHf{c}}}}{d{fe}}}BdB@jFl}{{{d{AOf}}{d{fc}}}BdFl}{{{d{BKj}}{d{fc}}}BdFl}{{}Cb}000{{{Gn{c}}ADh{d{{h{BFl}}}}{d{{h{BBb}}}}}cBJn}{{{Gn{Hl}}e}{{Dh{Hlc}}}{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}{{{Gn{c}}}c{}}{{}c{}}0000000{{{d{AOf}}}An}{{{Gn{c}}g}{{Gn{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}{{{BHf{c}}g}{{BHf{e}}}{}{}{{Bj{c}{{Bh{e}}}}}}{{{d{BKj}}{d{BKj}}}{{Ad{F`}}}}{{{d{{Gn{Hh}}}}}{{Gn{{ALb{AL`}}}}}}{{{BHf{c}}e}{{BHf{e}}}{}{}}{{{d{{BHf{c}}}}{d{BBb}}}cBJn}{{{d{{BHf{c}}}}{d{{h{BBb}}}}}cBJn}{{{d{{BHf{c}}}}e}cBJn{{BGd{{d{AMd}}OhBKj}{{Bh{BBb}}}}}}{{{d{{BHf{c}}}}eg}cBJn{{BGd{BCh}{{Bh{BCd}}}}}{{BGd{{d{AMd}}Oh}{{Bh{BBb}}}}}};{{{BHf{c}}}c{}}{{{d{{BHf{c}}}}}{{d{c}}}{}}{{{d{{BHf{c}}}}}AMd{}}{{}{{d{{AEb{{h{{BHf{BDd}}}}}}}}}}{{}{{d{{AEb{{h{AOf}}}}}}}}{{{d{{BHf{c}}}}{d{fe}}}AEjBKfAEl}{dc{}}000{{{d{{Gn{ANb}}}}}{{Gn{Hb}}}}{{}{{Dh{c}}}{}}000{{{d{{BHf{c}}}}ADh}e{{BL`{}{{BKl{{BKn{ADh}}}}}}}{}}{{{d{{h{AOf}}}}ADh}{{d{{BLd{BLb}}}}}}{{{d{{BHf{AMh}}}}}AMh}{{{d{{BHf{BFj}}}}}AMh}{{}{{BHf{BFj}}}}{{{d{{BHf{c}}}}{d{fe}}}{{Dh{{BHf{c}}}}}BJnAEf}{{{d{AOf}}{d{fc}}}{{Dh{AOf}}}AEf}{{{d{BKj}}{d{fc}}}{{Dh{BKj}}}AEf}{c{{Dh{e}}}{}{}}0009999{{{Gn{c}}i}{{Dh{{Gn{e}}g}}}{}{}{}{{Bj{c}{{Bh{{Dh{eg}}}}}}}}{{{BHf{c}}i}{{Dh{{BHf{e}}g}}}{}{}{}{{Bj{c}{{Bh{{Dh{eg}}}}}}}}5{dEh}000{ce{}{}}000{{ce}c{}{}}000`{{{d{{BHf{c}}}}}{{d{{ALb{AOf}}}}}{}}`{{{d{{BHf{c}}}}{d{fe}}}AEjBKfAEl}{{{d{AOf}}{d{fc}}}AEjAEl}{{{d{BKj}}{d{fc}}}AEjAEl}{{}c{}}000```````{{BLfe}{{BHf{c}}}{}{{Bj{{ALb{AOf}}{BGb{BBb}}}{{Bh{c}}}}}}{d{{d{c}}}{}}000{{{d{f}}}{{d{fc}}}{}}000{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}000{{}BLf}`{Cb{{d{c}}}{}}000{Cb{{d{fc}}}{}}000{CbBd}000`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}000{{{d{BLh}}{d{fDb}}}Dd}{{{d{BLh}}{d{ANh}}{d{fDb}}}Dd}{{{d{BJj}}{d{fDb}}}Dd}{{{d{BJj}}{d{ANh}}{d{fDb}}}Dd}{{{d{f{BLj{c}}}}{d{BAh}}}BAhBLl}{{{d{f{BLj{c}}}}{d{AMh}}}AMhBLl}{cc{}}{{{Dh{c}}}c{}}100110{{c{d{Dj}}Dl}e{}{}}0003{{{d{fBLl}}BBb}Bd}{{{d{f{d{fBLf}}}}BBb}Bd}{{{BLj{c}}An}{{BLj{c}}}{}}{{{d{fBLl}}{d{Hn}}}AMh}{{{d{f{d{fBLf}}}}{d{Hn}}}AMh}22222`````{{}Cb}000{{}c{}}0000000{{{d{BLh}}}BBb}```{{{BLj{c}}}{{BLj{c}}}{}}{{}{{Dh{c}}}{}}000{{{d{BJj}}}{{Ad{BBf}}}}2{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}{{{d{f}}{d{BAh}}}{{Dh{BAh}}}}{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}{{{d{f}}{d{AMh}}}{{Dh{AMh}}}}{c{{Dh{e}}}{}{}}000::::{{{d{BLh}}}AMh}`{dEh}000{ce{}{}}000{{ce}c{}{}}000`{{}c{}}000{c{{BLj{c}}}{}}``````````````{{BLnCb}BLn}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}1010{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}0101{d{{d{Ej}}}}00{BLnFn}{BLnCb}{{BLnCb}{{Ad{BLn}}}}{d{{d{c}}}{}}0000000{{{d{f}}}{{d{fc}}}{}}0000000{{{d{BM`}}}BM`}{{{d{BLn}}}BLn}{{{d{BMb}}}BMb}{{d{d{fc}}}Bd{}}00{dBd}00{{{d{BM`}}{d{BM`}}}F`}{{{d{BLn}}{d{BLn}}}F`}{{{d{BMb}}{d{BMb}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000000{{d{d{c}}}F`{}}00000{{{d{{BMd{c}}}}}{{d{c}}}{}}{{{d{BM`}}}BMb}`{{{d{{BMd{c}}}}BMb}{{d{c}}}{}}`{{{d{fc}}}BM`Fb}{{{d{fc}}}BLnAAf}{{{d{fc}}}BMbFb}{{}{{BMd{c}}}{}}{Cb{{d{c}}}{}}0000000{Cb{{d{fc}}}{}}0000000{CbBd}0000000{{{d{BM`}}{d{fc}}}BdFd}{{{d{BLn}}{d{fc}}}BdAAl}{{{d{BMb}}{d{fc}}}BdFd}{{{d{f{BMd{c}}}}c}BMb{}}{{{d{BM`}}{d{BM`}}}An}{{{d{BLn}}{d{BLn}}}An}{{{d{BMb}}{d{BMb}}}An}{{d{d{Ej}}}An}00{{d{d{c}}}An{}}00000000000000``{{{d{f{BMd{c}}}}}BMb{}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000000{{{d{fBMf}}}Bd}{{{d{BMf}}{d{fDb}}}Dd}{{{d{{BMd{c}}}}{d{fDb}}}DdDf}{{{d{{BMh{c}}}}{d{fDb}}}DdDf}{{{d{BM`}}{d{ANh}}{d{fDb}}}Dd}{{{d{BM`}}{d{fDb}}}Dd}{{{d{BMj}}{d{fDb}}}Dd}{{{d{BMl}}{d{fDb}}}Dd}{{{d{BLn}}{d{fDb}}}Dd}{{{d{BMb}}{d{fDb}}}Dd}{{BLnCb}{{Ad{BLn}}}}{{{d{f{BMd{c}}}}BMb}BM`{}}{{{d{f{BMd{c}}}}}BM`{}}{{{Dh{c}}}c{}}{cc{}}01010110101{FnBLn}1{CbBLn}23{{c{d{Dj}}Dl}e{}{}}0000000{ADdBLn}332{{{d{BMf}}BM`}{{Ad{{d{BBb}}}}}}{{{d{BM`}}{d{fc}}}BdFl}{{{d{BLn}}{d{fc}}}BdFl}{{{d{BMb}}{d{fc}}}BdFl}`{BLnCb}0{{}Cb}0000000{{}c{}}000000000000000{{{d{BMf}}}{{`{{Bf{}{{j{{Gj{BM`{d{BBb}}}}}}}}}}}}:{{{d{BM`}}{d{BM`}}}{{Ad{F`}}}}{{{d{BLn}}{d{BLn}}}{{Ad{F`}}}}{{{d{BMb}}{d{BMb}}}{{Ad{F`}}}}````{{{d{BLn}}{d{BLn}}}{{Ad{Cb}}}}{dc{}}00{{}{{Dh{c}}}{}}0000000{c{{Dh{e}}}{}{}}000000011111111{{{d{f{BMd{c}}}}}{{Dh{BMfBMj}}}{}}{dEh}0000000{{{d{f{BMd{c}}}}BM`eAn}Bd{}{{Ef{BBb}}}}{ce{}{}}0000000{{ce}c{}{}}0000000`========````````````````````````````````````````````````````````````````````````````````{GlBBb}{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{BBbc}e{{Ef{BBb}}}{}}{{BMnCb}BMn}{{BN`Cb}BN`}{{Ab{ALb{BBb}}}BBb}{{BNb{ALb{BBb}}}BBb}{{BNd{ALb{BBb}}}BBb}{{{d{n}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}{{{d{b}}e}{{d{f{h{c}}}}}{}{{l{}{{j{c}}}}}}0101010101010101101010{{{d{b}}}{{d{fc}}}{}}{{{d{n}}}{{d{fc}}}{}}0101010110101001010101{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{cBBb{{l{}{{j{BBb}}}}}}{{c{ALb{BBb}}}BBb{{Ef{BBb}}}}{{{d{Gl}}{d{{h{BBb}}}}}BBb}``{{{d{BHl}}Aj}{{B`{Cb}}}}{d{{d{Ej}}}}0000000000000000000{BMnFn}{BN`Fn}{BMnCb}{BN`Cb}{{BBbBNh}BBb}0{{BBb{Ad{BNh}}}BBb}{{BN`Cb}{{Ad{BN`}}}}`{{BNjce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{BBbHl}Gl}{{BBbBKhAMd}Gl}`{d{{d{c}}}{}}0000000000000000000{{{d{f}}}{{d{fc}}}{}}0000000000000000000{{AKjAOlBKj}BBb}{{{d{Gl}}}Gl}{{{d{BNd}}}BNd}{{{d{BBb}}}BBb}{{{d{BNh}}}BNh}{{{d{BNj}}}BNj}{{{d{BNl}}}BNl}{{{d{BNn}}}BNn}{{{d{BNb}}}BNb}{{{d{BHl}}}BHl}{{{d{BO`}}}BO`}{{{d{BOb}}}BOb}{{{d{BOd}}}BOd}{{{d{AOd}}}AOd}{{{d{BOf}}}BOf}{{{d{BJh}}}BJh}{{{d{BOh}}}BOh}{{{d{BMn}}}BMn}{{{d{BN`}}}BN`}{{{d{BOj}}}BOj}{{{d{BNf}}}BNf}{{d{d{fc}}}Bd{}}0000000000000000000{dBd}0000000000000000000{{{d{BOd}}{d{BOd}}}F`}{{{d{AOd}}{d{AOd}}}F`}{{{d{BOf}}{d{BOf}}}F`}{{{d{BJh}}{d{BJh}}}F`}{{{d{BOh}}{d{BOh}}}F`}{{{d{BN`}}{d{BN`}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0000000000000000000{{d{d{c}}}F`{}}00000000000{AbBBb}{BGhBBb}{{{d{BNj}}{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{BNfBBb}{{{d{fc}}}GlAAh}{{{d{fc}}}BNdAAh}{{{d{fc}}}BBbAAh}{{{d{fc}}}BNhAAh}{{{d{fc}}}BNjAAh}{{{d{fc}}}BNlFb}{{{d{fc}}}BNnAAh}{{{d{fc}}}BNbAAh}{{{d{fc}}}BHlAAh}{{{d{fc}}}BO`AAh}{{{d{fc}}}BObAAh}{{{d{fc}}}BOdFb}{{{d{fc}}}AOdFb}{{{d{fc}}}BOfAAh}{{{d{fc}}}BJhAAh}{{{d{fc}}}BOhAAh}{{{d{fc}}}BMnAAf}{{{d{fc}}}BN`AAf}{{{d{fc}}}BOjFb}{{{d{fc}}}BNfFb}{Cb{{d{c}}}{}}0000000000000000000{Cb{{d{fc}}}{}}0000000000000000000{{BBbc}e{{Ef{BBb}}}{}}{{{d{BBb}}c}e{{Ef{BBb}}}{}}{CbBd}0000000000000000000{{FnGh}BBb}{{{d{Gl}}{d{fc}}}BdAAn}{{{d{BNd}}{d{fc}}}BdAAn}{{{d{BBb}}{d{fc}}}BdAAn}{{{d{BNh}}{d{fc}}}BdAAn}{{{d{BNj}}{d{fc}}}BdAAn}{{{d{BNl}}{d{fc}}}BdFd}{{{d{BNn}}{d{fc}}}BdAAn}{{{d{BNb}}{d{fc}}}BdAAn}{{{d{BHl}}{d{fc}}}BdAAn}{{{d{BO`}}{d{fc}}}BdAAn}{{{d{BOb}}{d{fc}}}BdAAn}{{{d{BOd}}{d{fc}}}BdFd}{{{d{AOd}}{d{fc}}}BdFd}{{{d{BOf}}{d{fc}}}BdAAn}{{{d{BJh}}{d{fc}}}BdAAn}{{{d{BOh}}{d{fc}}}BdAAn}{{{d{BMn}}{d{fc}}}BdAAl}{{{d{BN`}}{d{fc}}}BdAAl}{{{d{BOj}}{d{fc}}}BdFd}{{{d{BNf}}{d{fc}}}BdFd}{{{d{Gl}}{d{Gl}}}An}{{{d{BNd}}{d{BNd}}}An}{{{d{BBb}}{d{BBb}}}An}{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNh}}{d{BNh}}}An}{{{d{BNj}}{d{BNj}}}An}{{{d{BNl}}{d{BNl}}}An}{{{d{BNn}}{d{BNn}}}An}{{{d{BNb}}{d{BNb}}}An}{{{d{BHl}}{d{BHl}}}An}{{{d{BO`}}{d{BO`}}}An}{{{d{BOb}}{d{BOb}}}An}{{{d{BOd}}{d{BOd}}}An}{{{d{AOd}}{d{AOd}}}An}{{{d{BOf}}{d{BOf}}}An}{{{d{BJh}}{d{BJh}}}An}{{{d{BOh}}{d{BOh}}}An}{{{d{BMn}}{d{BMn}}}An}{{{d{BN`}}{d{BN`}}}An}{{{d{BOj}}{d{BOj}}}An}{{{d{BNf}}{d{BNf}}}BNf}{{{d{BNf}}{d{BNf}}}An}{{d{d{Ej}}}An}0000000000000000000{{d{d{c}}}An{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`{{{d{BBb}}{d{BKh}}AMd}Gl}{BM`BBb}{{{d{BBb}}}{{Gj{Ab{ALb{BBb}}}}}}{{}BBb}{{{d{BHl}}}Fn}{{cBHl}BBb{{Ef{BBb}}}}{{c{d{{h{BHl}}}}}BBb{{Ef{BBb}}}}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0000000000000000000{{{d{BBb}}}{{BGb{{d{BBb}}}}}}{{{d{Gl}}{d{fDb}}}Dd}{{{d{Gl}}{d{ANh}}{d{fDb}}}Dd}{{{d{BNd}}{d{ANh}}{d{fDb}}}Dd}{{{d{BNd}}{d{fDb}}}Dd}{{{d{BBb}}{d{fDb}}}Dd}{{{d{BBb}}{d{ANh}}{d{fDb}}}Dd}{{{d{BNh}}{d{fDb}}}Dd}{{{d{BNj}}{d{ANh}}{d{fDb}}}Dd}{{{d{BNl}}{d{ANh}}{d{fDb}}}Dd}{{{d{BNb}}{d{fDb}}}Dd}{{{d{BHl}}{d{fDb}}}Dd}{{{d{BO`}}{d{fDb}}}Dd}{{{d{BOb}}{d{ANh}}{d{fDb}}}Dd}{{{d{BOb}}{d{fDb}}}Dd}{{{d{AOd}}{d{fDb}}}Dd}{{{d{BOf}}{d{ANh}}{d{fDb}}}Dd}{{{d{BOf}}{d{fDb}}}Dd}{{{d{BJh}}{d{ANh}}{d{fDb}}}Dd}{{{d{BJh}}{d{fDb}}}Dd}{{{d{BOh}}{d{ANh}}{d{fDb}}}Dd}{{{d{BOh}}{d{fDb}}}Dd}{{{d{BMn}}{d{fDb}}}Dd}{{{d{BN`}}{d{fDb}}}Dd}{{{d{BOj}}{d{fDb}}}Dd}0{{{d{BNf}}{d{ANh}}{d{fDb}}}Dd}{{{d{BNf}}{d{fDb}}}Dd}{{{d{AMd}}c}BBb{{BGd{{d{AMd}}}{{Bh{BBb}}}}}}{{{d{BMn}}{d{fc}}}BMnADb}{{{BHf{BBb}}}BBb}{{BN`Cb}{{Ad{BN`}}}}{{{Dh{c}}}c{}}{cc{}}010{BJhBBb}{BOfBBb}{FhBBb}4{BN`BBb}{{{d{BBb}}}BBb}565656565665656556565665{BOhBJh}{BN`BOh}{BOlBOh}989{CbBMn}9{FnBMn}:{FnBN`}{CbBN`}==<={FjBNf}{GhBNf}{AnBNf}{FfBNf}{cc{}}{FhBNf}{CbBNf}{{{d{BAh}}Ff}BBb}{{ADh{d{BBd}}}BBb}{{c{d{Dj}}Dl}e{}{}}0000000000000000000{{ADhBOn{d{c}}}{{Ad{BNf}}}{{BL`{}{{BKl{ALn}}}}}}{ADdBMn}{ADdBN`}?>?>{CbBMn}>{{{d{Gl}}}Hl}{{{d{BNd}}Aj}{{B`{{Ad{Hl}}}}}}{BN`BBb}{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{{GhAAd}BBb}21{{{d{Gl}}{d{fc}}}BdFl}{{{d{BNd}}{d{fc}}}BdFl}{{{d{BBb}}{d{fc}}}BdFl}{{{d{BNh}}{d{fc}}}BdFl}{{{d{BNj}}{d{fc}}}BdFl}{{{d{BNl}}{d{fc}}}BdFl}{{{d{BNn}}{d{fc}}}BdFl}{{{d{BNb}}{d{fc}}}BdFl}{{{d{BHl}}{d{fc}}}BdFl}{{{d{BO`}}{d{fc}}}BdFl}{{{d{BOb}}{d{fc}}}BdFl}{{{d{BOd}}{d{fc}}}BdFl}{{{d{AOd}}{d{fc}}}BdFl}{{{d{BOf}}{d{fc}}}BdFl}{{{d{BJh}}{d{fc}}}BdFl}{{{d{BOh}}{d{fc}}}BdFl}{{{d{BMn}}{d{fc}}}BdFl}{{{d{BN`}}{d{fc}}}BdFl}{{{d{BOj}}{d{fc}}}BdFl}{{{d{BNf}}{d{fc}}}BdFl}{BO`BBb}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}0`{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{BMnCb}0{BN`Cb}0`{{}Cb}0000000000000000000{BIhBBb}{FnBNf}10{BNnBBb}{{}c{}}000000000000000000000000000000000000000{{{d{BBb}}}An}000000{{ceg}BBb{{Ef{BBb}}}{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BBb}}}{{d{BNn}}}}``{BObBBb}`;`{BOlBBb}<{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{BBbc}e{{Ef{BBb}}}{}}``>{{{d{BNf}}{d{BNf}}}BNf}{{{d{BBb}}}BBb}{AE`BNh}{{BMnCb{BGb{BBb}}}BOb}{{BOhc}BJh{{Ef{{ALb{Cf}}}}}}{CbBMn}{CbBN`}5{{}BBb}{{ce}BBb{{Ef{BBb}}}{{Ef{BBb}}}}{{{d{BNf}}{d{BNf}}}{{Ad{BNf}}}}{cBBb{{l{}{{j{BBb}}}}}}{{{d{Gl}}}AMd}`{{{d{BOd}}{d{BOd}}}{{Ad{F`}}}}{{{d{AOd}}{d{AOd}}}{{Ad{F`}}}}{{{d{BOf}}{d{BOf}}}{{Ad{F`}}}}{{{d{BJh}}{d{BJh}}}{{Ad{F`}}}}{{{d{BOh}}{d{BOh}}}{{Ad{F`}}}}{{{d{BN`}}{d{BN`}}}{{Ad{F`}}}}{{BBbCf}BBb}{{{d{BNj}}}C@`}```{{{d{BBb}}BHl}BBb}{{{d{BJh}}}{{d{{h{Cf}}}}}}`{{{d{BOb}}}{{d{{h{BBb}}}}}}0`{{{d{BBb}}}BBb}{{{d{BBb}}}{{Ad{BNh}}}}`{{{d{BN`}}{d{BN`}}}{{Ad{Cb}}}}{{}{{d{{AEb{{h{BBb}}}}}}}}{{}{{d{{AEb{BNn}}}}}}{{}{{d{{AEb{{h{BOb}}}}}}}}{{{d{BBb}}c}e{{Ef{BBb}}}{}}{{BBbc}e{{Ef{BBb}}}{}}{{{d{BBb}}{d{fc}}}AEjAEl}{BNf{{Ad{An}}}}{{{d{BOf}}}BBb}{{{d{BJh}}}BBb}{{{d{BOh}}}BBb}{BNf{{Ad{El}}}}{{{d{BBb}}}{{Ad{BOh}}}}{{{d{BJh}}}{{Ad{BOh}}}}{dc{}}0000000000000000000{{{d{BBb}}}{{Ad{BJh}}}}{{BNbFn}BHl}{{}{{Dh{c}}}{}}0000000000000000000{{{d{BNd}}ADh}C@b}`{{{d{Gl}}{d{fc}}}{{Dh{Gl}}}AEf}{{{d{BNd}}{d{fc}}}{{Dh{BNd}}}AEf}{{{d{BBb}}{d{fc}}}{{Dh{BBb}}}AEf}{{{d{BNj}}{d{fc}}}{{Dh{BNj}}}AEf}{{{d{BO`}}{d{fc}}}{{Dh{BO`}}}AEf}{{{d{BOb}}{d{fc}}}{{Dh{BOb}}}AEf}{{{d{BMn}}{d{fc}}}{{Dh{BMn}}}AEf}{c{{Dh{e}}}{}{}}0000000000000000000999999999999999999995{{}BBb}{{{ALb{BBb}}}BBb}{dEh}0000000000000000000{BK`BBb}{FnBNf}{{BNlc}BBb{{Ef{BBb}}}}5{AbBBb}{ce{}{}}0000000000000000000{{ce}c{}{}}0000000000000000000{BOfBBb}`{{{d{Gl}}}{{d{BKh}}}}{{{d{Gl}}{d{fc}}}AEjAEl}{{{d{BNd}}{d{fc}}}AEjAEl}{{{d{BBb}}{d{fc}}}AEjAEl}{{{d{BNj}}{d{fc}}}AEjAEl}{{{d{BO`}}{d{fc}}}AEjAEl}{{{d{BOb}}{d{fc}}}AEjAEl}{{{d{BMn}}{d{fc}}}AEjAEl}{{}c{}}0000000000000000000{{{d{BNh}}BNh}BNh}{{}BBb}````````````{d{{d{Ej}}}}{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{{d{C@`}}{d{C@`}}}F`}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}{{d{d{c}}}F`{}}0{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{C@`}}{d{C@`}}}An}{{d{d{Ej}}}An}{{d{d{c}}}An{}}0000{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{cc{}}{{{Dh{c}}}c{}}{{c{d{Dj}}Dl}e{}{}}{{}Cb}{{}c{}}0{{{d{C@`}}}An}{{{d{C@`}}{d{C@`}}}{{Ad{F`}}}}{{}{{Dh{c}}}{}}{c{{Dh{e}}}{}{}}1{dEh}{ce{}{}}{{ce}c{}{}}7```````````{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}`{Cb{{d{c}}}{}}{Cb{{d{fc}}}{}}{CbBd}{{{d{BJn}}}BJn}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}{{{d{fADb}}{d{{BHf{c}}}}}{{BHf{c}}}BJn}{{{d{fADb}}{d{BAh}}}BAh}{{{d{fADb}}{d{BBd}}}BBd}{{{d{f{C@d{ceg}}}}{d{BBd}}}BBd{{BGd{AMh}{{Bh{AMh}}}}}{{BGd{BCd}{{Bh{BCd}}}}}{{BGd{BBd}{{Bh{BBd}}}}}}{{{d{fADb}}{d{BBb}}}BBb}{{{d{fADb}}{d{BCd}}}BCd}{{{d{f{C@d{ceg}}}}{d{BCd}}}BCd{{BGd{AMh}{{Bh{AMh}}}}}{{BGd{BCd}{{Bh{BCd}}}}}{{BGd{BBd}{{Bh{BBd}}}}}}{{{d{fADb}}{d{AMd}}}AMd}{{{d{fADb}}{d{BFj}}}BFj}{{{d{fADb}}{d{AMh}}}AMh}{{{d{f{C@d{ceg}}}}{d{AMh}}}AMh{{BGd{AMh}{{Bh{AMh}}}}}{{BGd{BCd}{{Bh{BCd}}}}}{{BGd{BBd}{{Bh{BBd}}}}}}{{{d{BJn}}{d{fc}}}BJnADb}{{{Dh{c}}}c{}}{cc{}}{{c{d{Dj}}Dl}e{}{}}{{{d{BKf}}}{{C@f{BN`}}}}{{{d{BKf}}}An}{{}Cb}{{}c{}}0`{{{d{BJn}}{d{AMj}}}BJn}{{{d{BJn}}Aj{d{C@h}}Ab}{{B`{BJn}}}}{{{d{BJn}}{d{BMf}}}BJn}{{{d{BJn}}c}BJn{{BGd{{d{{h{BKh}}}}BO`}{{Bh{BBb}}}}}}{{{d{BJn}}Fn}BJn}0{{{d{C@j}}{d{fc}}}C@jADb}{{{d{C@l}}{d{fc}}}AEjAEl}{{}{{Dh{c}}}{}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{{BHf{e}}}}}{{Dh{{BHf{e}}c}}}{}BJn}{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BAh}}}{{Dh{BAhc}}}{}}{{{d{f}}{d{BAh}}}{{Dh{BAh}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BBd}}}{{Dh{BBdc}}}{}}{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BBb}}}{{Dh{BBbc}}}{}}{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BCd}}}{{Dh{BCdc}}}{}}{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{AMd}}}{{Dh{AMdc}}}{}}{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{BFj}}}{{Dh{BFjc}}}{}}{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}{{{d{f{AEf{}{{C@n{c}}}}}}{d{AMh}}}{{Dh{AMhc}}}{}}{{{d{f}}{d{AMh}}}{{Dh{AMh}}}}{{{d{BJn}}{d{fc}}}{{Dh{BJn}}}AEf}{c{{Dh{e}}}{}{}}{{}{{Dh{c}}}{}}{{{d{C@j}}{d{fc}}}{{Dh{C@j}}}AEf}`{dEh}{ce{}{}}{{ce}c{}{}}{{{d{fAEl}}{d{{BHf{c}}}}}{{AEj{e}}}BKf{}}{{{d{fAEl}}{d{BAh}}}{{AEj{c}}}{}}{{{d{fAEl}}{d{BBb}}}{{AEj{c}}}{}}{{{d{fAEl}}{d{AMd}}}{{AEj{c}}}{}}{{{d{fAEl}}{d{AMh}}}{{AEj{c}}}{}}{{{d{BKf}}{d{fc}}}AEjAEl}{{}c{}}{{{d{BJn}}}BJn}```{{{d{fCA`}}{d{BBb}}{d{{h{BBb}}}}{Ad{BNh}}}BBb}{{BBb{Ad{BNh}}}BBb}{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}00{{}AMj}{{{d{AMj}}{d{{BHf{BBb}}}}}{{C@f{Gh}}}}``{Cb{{d{c}}}{}}00{Cb{{d{fc}}}{}}00{CbBd}00`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}00{{{d{fCA`}}{d{BBb}}}BBb}{{{d{fCAb}}{d{BBb}}}BBb}{{{Dh{c}}}c{}}{cc{}}0101{{c{d{Dj}}Dl}e{}{}}00{{{d{AMj}}{d{Gh}}}{{Ad{{d{CAd}}}}}}{{}Cb}00{{}c{}}00000{{{d{AMj}}}CA`}{BNhCAb}{{{CAf{GhCAd}}}{{Dh{AMj{BGb{Gh}}}}}}{AMj{{Dh{AMj{BGb{Gh}}}}}}{{{d{AMj}}}{{Dh{{BGb{Gh}}{BGb{Gh}}}}}}{{}{{Dh{c}}}{}}00{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}0{{{d{f}}{d{BAh}}}{{Dh{BAh}}}}0{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}0{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}0{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}0{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}0{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}0{{{d{f}}{d{AMh}}}{{Dh{AMh}}}}0{c{{Dh{e}}}{}{}}00999{dEh}00{ce{}{}}00{{ce}c{}{}}00{{}c{}}00```````{{{d{fCAh}}{d{AMb}}{d{f{BGb{CAj}}}}}B`}{{{d{CAh}}{d{AMb}}{d{f{BGb{CAj}}}}}Bd}{{{d{{h{AL`}}}}{d{AMb}}{Cn{BDj}{{Bh{CAj}}}}{d{f{BGb{CAj}}}}}Bd}{{{d{CAh}}{d{AMb}}{d{f{BGb{CAj}}}}}B`}{d{{d{c}}}{}}00{{{d{f}}}{{d{fc}}}{}}00{{{d{fCAl}}{d{BAh}}{d{BAh}}}Bd}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}00{{{d{fCAh}}CAj{d{AMb}}}{{B`{AMh}}}}{{{d{f{d{CAl}}}}{d{BBd}}}BBd}{{{d{fCAl}}{d{BBd}}{d{BBd}}}Bd}{{{d{f{d{CAl}}}}BIl}BBf}`{Cb{{d{c}}}{}}00{Cb{{d{fc}}}{}}00{CbBd}00{{{d{{d{CAl}}}}BGh}BBb}{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}00{{{d{CAh}}{d{fCAl}}{BGb{{Gn{BDj}}}}}{{Gj{{BGb{BDj}}{BGb{{Gn{BDj}}}}}}}}{{CAlADh{d{CAn}}}{{BGb{BFl}}}}{{{d{CAj}}{d{fDb}}}Dd}{{{d{CAl}}{d{fDb}}}Dd}{cc{}}{{{Dh{c}}}c{}}0110{{c{d{Dj}}Dl}e{}{}}00{{{d{fCAl}}{d{BFl}}{d{BFl}}}Bd}`{{{d{fCAh}}{d{BNd}}}{{B`{{Ad{Ab}}}}}}{{}Cb}00{{{d{fCAl}}FnBFl}Bd}{{{d{fCAl}}{Gn{c}}}{{Ad{c}}}BJn}{{}c{}}00000{{Aj{d{C@h}}Ab}{{B`{CAh}}}}{{{d{CAn}}}CAl}{{{d{fCAh}}{d{BNd}}{d{BJd}}}{{B`{BBb}}}}{{{d{fCAh}}{d{AMb}}}{{B`{{Gj{AnAMh}}}}}}{{{d{fCAh}}{d{AMb}}}{{B`{AMh}}}}`{{{d{f{d{CAl}}}}CB`}BCd}{{{d{fCAl}}BCdBCd}Bd}{{{d{fCAh}}{d{fCAl}}Ab}B`}{{{d{CAh}}}CBb}`{{{d{f{d{CAl}}}}BIl}{{Dh{AMdc}}}{}}{{{d{CAh}}}ADh}{{}{{Dh{c}}}{}}00{{{d{fCAh}}{d{BBd}}}{{Dh{BBdc}}}{}}{{{d{fCAh}}{d{BBb}}}{{Dh{BBbc}}}{}}{{{d{fCAh}}{d{AMd}}}{{Dh{AMdc}}}{}}{{{d{fCAh}}{d{AMh}}}{{Dh{AMhc}}}{}}{c{{Dh{e}}}{}{}}00555{{{d{f{d{CAl}}}}BIl}{{Dh{AMhc}}}{}}{dEh}00{{{d{fCAl}}{d{AMh}}{d{AMh}}}Bd}{ce{}{}}00{{ce}c{}{}}00{{}c{}}00````{{{d{CBd}}Ab}{{B`{Gb}}}}{{{d{CBd}}}CBd}{d{{d{c}}}{}}0{{{d{f}}}{{d{fc}}}{}}0{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}0{{Aj{d{Hd}}}CBd}{Cb{{d{c}}}{}}0{Cb{{d{fc}}}{}}0{CbBd}0{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}0{cc{}}{{{Dh{c}}}c{}}01{{c{d{Dj}}Dl}e{}{}}0`{{{d{CBd}}Ab}{{B`{Hd}}}}`{{}Cb}0??{CBfHn}{{}c{}}0{CBfAMh}{{Aj{d{Hd}}{Cn{BAh}{{Bh{BBf}}}}}CBd}{{{d{CBd}}BIl}{{B`{BCl}}}}`{{{d{BAl}}}BAl}{{{d{CBd}}{d{BAl}}{d{CBh}}}{{B`{AMb}}}}{{{d{CBd}}Ab{d{BAl}}}{{B`{BJd}}}}{{{d{CBd}}{d{{CBj{c}}}}g}{{B`{{BHf{e}}}}}{}{}{{BGd{{d{c}}}{{Bh{{B`{e}}}}}}}}{{{d{{h{ALj}}}}}{{ALb{AOf}}}}{{{d{CBd}}{d{{h{CBl}}}}{d{CBl}}}{{B`{{Ad{AL`}}}}}}{{{d{CBd}}{d{{h{CBl}}}}}{{B`{{ALb{AL`}}}}}}{BAhBBf}{{{d{CBd}}{d{CBn}}}{{B`{CC`}}}}{{{d{CBd}}Ab{d{BG`}}}{{B`{BAj}}}}{{{d{CBd}}{d{{h{CBl}}}}BId{d{CCb}}}{{B`{BD`}}}}{{{d{CBd}}{d{BCl}}{d{CCd}}}{{B`{BFl}}}}2{CCfBCn}{{{d{CBd}}{d{ALl}}}{{B`{Hh}}}}{{{d{ALh}}}{{B`{Hd}}}}{{{d{CBd}}{d{ALd}}}{{B`{Hb}}}}{{{d{CBd}}{d{CCb}}}{{B`{AKn}}}}{{{d{CBd}}{d{Ch}}}{{B`{AMh}}}}{{{d{CBd}}{d{Ch}}}{{B`{Hn}}}}{{{d{CBd}}{d{Ch}}}{{B`{CBf}}}}{{{d{CBd}}AbAN`}{{B`{ANb}}}}{{}{{Dh{c}}}{}}0{c{{Dh{e}}}{}{}}011{dEh}0{ce{}{}}0{{ce}c{}{}}0{{}c{}}0{{Aj{d{Hd}}}CBd}`````````````{{{d{CCh}}{d{c}}}cBJn}{d{{d{c}}}{}}00000000{{{d{f}}}{{d{fc}}}{}}00000000{{{d{CCj}}BA`}BEf}{{{d{CCl}}}CCl}{{d{d{fc}}}Bd{}}{dBd}{{ei}g{}{{Bf{}{{j{c}}}}}{}{{Bj{{d{{h{c}}}}}{{Bh{g}}}}}}00000000{{{d{fCCn}}{d{BBd}}}BBd}{{{d{fCD`}}{d{BBd}}}BBd}{{{d{f{CDb{ec}}}}{d{BBd}}}BBd{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}{{{d{fCCn}}BIl}BBf}{{{d{fCD`}}BIl}BBf}{{{d{f{CDb{ec}}}}BIl}BBf{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}``{{}CCh}{{}CCl}```{Cb{{d{c}}}{}}00000000{Cb{{d{fc}}}{}}00000000{CbBd}000000003`{{{d{{CDd{c}}}}Fn}BBb{}}{{{d{CCn}}BGh}BBb}{{{d{CD`}}BGh}BBb}{{{d{{CDb{ec}}}}BGh}BBb{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}`{{{d{Cj}}}{{D`{c{Cn{Cl}{{Bh{An}}}}}}}{}}00000000{{{d{CCh}}{d{fDb}}}Dd}{{{d{CCl}}{d{fDb}}}Dd}{{{d{f{CDf{c}}}}{d{{BHf{e}}}}}{{BHf{e}}}CDhBJn}{{{d{f{CDf{c}}}}{d{BBb}}}BBbCDh}{{{d{fCDj}}{d{BBb}}}BBb}{{{d{f{CDf{c}}}}{d{BCd}}}BCdCDh}{{{d{f{CDl{c}}}}{d{AMd}}}AMdCCj}{{{Dh{c}}}c{}}{cc{}}1001101010011010{{c{d{Dj}}Dl}e{}{}}00000000{{{d{fCCh}}{d{BAh}}{d{Ch}}}Bd}{{{d{fCCh}}{d{CC`}}{d{CBn}}}Bd}{{{d{fCCh}}{d{BF`}}{d{CDn}}}Bd}{{{d{fCCh}}{d{BFl}}{d{CCd}}}Bd}{{{d{fCCh}}{d{BAj}}{d{BG`}}}Bd}{{{d{fCCh}}BCdBCd}Bd}{{{d{fCCh}}{d{AMh}}{d{Ch}}}Bd}{{}Cb}00000000{{{d{fCCl}}FnBBb}Bd}{{}c{}}00000000000000000{{{d{CCl}}Fn}BBb}`{{{d{AMh}}{d{Ch}}}AMh}{c{{CDf{c}}}{}}{{ce}{{CE`{ce}}}{{BGd{AOd}{{Bh{BBb}}}}}{{BGd{BCh}{{Bh{BCd}}}}}}{{{d{BMf}}}CDj}{{c{d{{h{BBb}}}}}{{CDd{c}}}{}}{c{{CDl{c}}}{}}`{{{d{fCCn}}CB`}BCd}{{{d{fCD`}}CB`}BCd}{{{d{f{CDb{ec}}}}CB`}BCd{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}`{{{d{fCDh}}AOd}BBb}{{{d{f{CE`{ce}}}}AOd}BBb{{BGd{AOd}{{Bh{BBb}}}}}{{BGd{BCh}{{Bh{BCd}}}}}}{{{d{fCDh}}BCh}BCd}{{{d{f{CE`{ce}}}}BCh}BCd{{BGd{AOd}{{Bh{BBb}}}}}{{BGd{BCh}{{Bh{BCd}}}}}}{{{d{AMh}}}AMh}{{{d{fCCn}}BIl}{{Dh{AMdc}}}{}}{{{d{CCj}}BA`}AMd}{{{d{fCD`}}BIl}{{Dh{AMdCEb}}}}{{{d{f{CDb{ec}}}}BIl}{{Dh{AMdc}}}{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}`{dc{}}{{}{{Dh{c}}}{}}00000000{{{d{f}}{d{{BHf{c}}}}}{{Dh{{BHf{c}}}}}BJn}0{{{d{f{CDd{c}}}}{d{{BHf{e}}}}}{{Dh{{BHf{e}}}}}CCnBJn}1{{{d{f}}{d{BAh}}}{{Dh{BAh}}}}00{{{d{f}}{d{BBd}}}{{Dh{BBd}}}}0{{{d{f{CDd{c}}}}{d{BBd}}}{{Dh{BBd}}}CCn}1{{{d{f}}{d{BBb}}}{{Dh{BBb}}}}0{{{d{f{CDd{c}}}}{d{BBb}}}{{Dh{BBb}}}CCn}1{{{d{f}}{d{BCd}}}{{Dh{BCd}}}}0{{{d{f{CDd{c}}}}{d{BCd}}}{{Dh{BCd}}}CCn}1{{{d{f}}{d{AMd}}}{{Dh{AMd}}}}0{{{d{f{CDd{c}}}}{d{AMd}}}{{Dh{AMd}}}CCn}1{{{d{f}}{d{BFj}}}{{Dh{BFj}}}}0{{{d{f{CDd{c}}}}{d{BFj}}}{{Dh{BFj}}}CCn}1{{{d{f}}{d{AMh}}}{{Dh{AMh}}}}0{{{d{f{CDd{c}}}}{d{AMh}}}{{Dh{AMh}}}CCn}1{c{{Dh{e}}}{}{}}00000000{{}{{Dh{c}}}{}}00000000{{{d{fCCn}}BIl}{{Dh{AMhc}}}{}}{{{d{fCD`}}BIl}{{Dh{AMhCEb}}}}{{{d{f{CDb{ec}}}}BIl}{{Dh{AMhc}}}{}{{BGd{BIl}{{Bh{{Dh{AMdc}}}}}}}}{dEh}00000000{ce{}{}}00000000{{ce}c{}{}}00000000{{}c{}}00000000","D":"HDd","p":[[5,"Arena",10222],[1,"reference"],[0,"mut"],[1,"slice"],[17,"Item"],[10,"IntoIterator",10223],[5,"Arena",10224],[6,"MaybeExternId",0],[5,"DefId",10225],[6,"Option",10226],[6,"ResolvedDefId",0],[10,"PlaceExt",0],[5,"GlobalEnv",3388],[8,"LocalDecls",10227],[1,"bool"],[8,"QueryResult",3894],[10,"Clone",10228],[1,"unit"],[10,"Iterator",10229],[17,"Output"],[10,"FnOnce",10230],[5,"String",10231],[5,"Specs",0],[5,"ResolverOutput",0],[1,"usize"],[5,"PlaceTy",0],[5,"FieldIdx",10232],[5,"Ty",10233],[1,"str"],[5,"DataRequest",10234],[1,"fn"],[5,"RequestFilterDataProvider",10235],[5,"Formatter",10236],[8,"Result",10236],[10,"Debug",10236],[6,"Result",10237],[5,"CycleError",10238],[5,"ErrorGuaranteed",10239],[5,"OwnerId",10240],[5,"LocalDefId",10225],[6,"ExternSpecMappingErr",0],[6,"PlaceElem",10227],[10,"Into",10241],[5,"TypeId",10242],[10,"Any",10242],[5,"BigInt",242],[6,"Sign",242],[6,"Ordering",10243],[10,"SpanDecoder",10239],[10,"SpanEncoder",10239],[1,"u128"],[1,"i32"],[1,"i128"],[10,"Hasher",10244],[1,"u32"],[10,"CrateStore",348],[5,"AdtDef",4093],[8,"OptResult",348],[5,"AdtSortDef",4093],[5,"Symbol",3388,10245],[1,"tuple"],[5,"Lambda",8448],[5,"EarlyBinder",7820],[5,"AssocRefinements",4093],[8,"PolyFnSig",4093],[5,"Generics",4093],[8,"Clauses",4093],[5,"GenericPredicates",4093],[5,"RefinementGenerics",4093],[5,"FuncSort",4093],[8,"TyCtor",4093],[8,"PolyVariants",4093],[6,"Opaqueness",4093],[5,"ItemLocalId",366],[5,"ParamId",366],[5,"Ty",366],[5,"Path",366],[5,"BaseTy",366],[5,"PartialRes",366],[6,"Res",366],[6,"BinOp",366,10246],[6,"UnOp",366,10246],[6,"Ignored",366],[6,"Trusted",366],[5,"Generics",366],[5,"GenericParam",366],[6,"GenericParamKind",366],[6,"Node",366],[5,"SortDecl",366],[5,"WhereBoundPredicate",366],[6,"GenericBound",366],[5,"PolyTraitRef",366],[6,"TraitBoundModifier",366],[5,"TraitAssocReft",366],[5,"ImplAssocReft",366],[5,"StructDef",366],[6,"StructKind",366],[5,"FieldDef",366],[5,"VariantDef",366],[5,"VariantRet",366],[5,"FnDecl",366],[5,"Requires",366],[5,"FnSig",366],[5,"FnOutput",366],[6,"Ensures",366],[6,"TyKind",366],[5,"MutTy",366],[6,"Lifetime",366],[6,"FluxLocalDefId",366],[6,"FluxOwnerId",366],[5,"FhirId",366],[5,"RefineArg",366],[6,"RefineArgKind",366],[6,"BaseTyKind",366],[6,"QPath",366],[5,"PathSegment",366],[5,"AssocItemConstraint",366],[6,"AssocItemConstraintKind",366],[6,"GenericArg",366],[5,"ConstArg",366],[6,"ConstArgKind",366],[5,"RefineParam",366],[6,"ParamKind",366],[6,"InferMode",366],[6,"PrimSort",366],[6,"SortRes",366],[6,"Sort",366],[5,"SortPath",366],[5,"FuncSort",366],[5,"PolyFuncSort",366],[5,"AliasReft",366],[5,"Expr",366],[6,"ExprKind",366],[6,"Lit",366],[6,"ExprRes",366],[5,"PathExpr",366],[5,"RefinedBy",366],[6,"SpecFuncKind",366],[10,"Decoder",10247],[10,"TyDecoder",10248],[5,"FluxItems",366],[10,"Encoder",10247],[10,"TyEncoder",10248],[5,"Item",366],[5,"EnumDef",366],[5,"Impl",366],[5,"OpaqueTy",366],[5,"Trait",366],[5,"TyAlias",366],[6,"FingerprintStyle",10249],[5,"BareFnTy",366],[5,"Error",10236],[5,"Qualifier",366],[6,"ItemKind",366],[5,"TraitItem",366],[6,"TraitItemKind",366],[5,"ImplItem",366],[6,"ImplItemKind",366],[6,"FluxItem",366],[5,"SpecFunc",366],[10,"TypeFolder",9571],[1,"u16"],[6,"DiagArgValue",10250],[5,"TyCtxt",10251],[8,"FxIndexMap",10252],[8,"FxIndexSet",10252],[5,"DepNode",10253],[5,"Span",10254],[5,"InternStorage",10255],[5,"Fingerprint",10256],[10,"FallibleTypeFolder",9571],[6,"Res",10257],[6,"ControlFlow",10258],[10,"TypeVisitor",9571],[5,"LiftCtxt",3216],[10,"Diagnostic",10250],[6,"ArrayLen",10259],[5,"AssocItemConstraint",10259],[5,"BareFnTy",10259],[5,"ConstArg",10259],[5,"Variant",10259],[5,"FieldDef",10259],[5,"FnDecl",10259],[5,"FnHeader",10259],[6,"FnRetTy",10259],[6,"GenericArg",10259],[6,"GenericBound",10259],[5,"GenericParam",10259],[5,"Generics",10259],[5,"Lifetime",10259],[5,"MutTy",10259],[5,"Path",10259],[5,"PathSegment",10259],[5,"PolyTraitRef",10259],[6,"QPath",10259],[5,"Ty",10259],[6,"WherePredicate",10259],[5,"IndexGen",10260],[5,"UnordMap",10261],[5,"UnsupportedHir",3282],[5,"DiagCtxtHandle",10262],[6,"Level",10262],[5,"Diag",10250],[10,"EmissionGuarantee",10250],[10,"Visitor",3308],[10,"IntoQueryParam",10263],[10,"Copy",10264],[5,"WfckResults",4093],[5,"Rc",10265],[5,"Map",3388],[5,"CrateConfig",10266],[8,"CrateStoreDyn",348],[6,"DefKind",10257],[5,"FluxSession",10267],[5,"Box",10268],[8,"Arena",366],[5,"Providers",3894],[5,"Ident",3388,10245],[5,"SpecFuncDecl",4093],[5,"TypeFlags",10269],[5,"DebruijnIndex",4093,10270],[5,"Map",10271],[5,"TraitRef",4093],[5,"Clause",4093],[8,"List",4093,10255],[8,"PolyFnSig",10233],[5,"EarlyBinder",10233],[5,"Generics",10233],[6,"BoundVariableKind",10233],[5,"GenericPredicates",10233],[5,"Ty",10272],[5,"Body",10227],[5,"AliasTy",4093],[6,"Sort",4093],[5,"Qualifier",4093],[5,"Ty",4093],[5,"SpecFuncDefns",9653],[10,"Fn",10230],[6,"Variance",10270],[5,"VariantIdx",4093,10232],[8,"PolyVariant",4093],[5,"BoundVarName",3644],[6,"KVarArgs",3644],[5,"PrettyCx",3644],[5,"Env",3644],[10,"Pretty",3644],[5,"WithCx",3644],[5,"Join",3644],[5,"Parens",3644],[5,"BoundReft",8448],[6,"BoundVariableKind",7820],[6,"Value",10273],[10,"FromOpt",3644],[5,"BoundVar",4093,10270],[17,"IntoIter"],[5,"Queries",3894],[6,"QueryErr",3894],[5,"QueryErrAt",3894],[10,"ToString",10231],[5,"RefCell",10274],[10,"Hash",10244],[10,"Eq",10243],[5,"UnsupportedErr",10275],[5,"ParamSort",4093],[5,"SortVid",4093],[5,"NumVid",4093],[5,"BvSizeVid",4093],[6,"BaseTy",4093],[8,"GenericArgs",4093],[6,"AliasKind",4093,10233],[6,"SortCtor",4093],[5,"Invariant",4093],[5,"Expr",8448],[5,"Const",4093,10233],[8,"SubsetTyCtor",4093],[10,"Deref",10276],[5,"LocalTableInContext",4093],[5,"LocalTableInContextMut",4093],[10,"GenericArgsExt",4093],[5,"OutlivesPredicate",4093,10233],[6,"ConstKind",4093,10233],[6,"Region",4093,10233],[5,"LateParamRegion",4093,10233],[5,"BoundRegion",4093,10233],[5,"RefineParam",4093],[5,"GenericParamDef",4093],[6,"GenericParamDefKind",4093],[6,"ClauseKind",4093],[5,"TraitPredicate",4093],[6,"ExistentialPredicate",4093],[5,"ExistentialTraitRef",4093],[5,"ExistentialProjection",4093],[5,"ProjectionPredicate",4093],[5,"FnTraitPredicate",4093],[5,"CoroutineObligPredicate",4093],[5,"AssocRefinement",4093],[6,"NumVarValue",4093],[6,"SortInfer",4093],[6,"BvSize",4093],[6,"SortParamKind",4093],[5,"PolyFuncSort",4093],[6,"SortArg",4093],[5,"VariantSig",4093],[5,"FnSig",4093],[5,"FnOutput",4093],[6,"Ensures",4093],[6,"TyKind",4093],[6,"PtrKind",4093],[5,"SubsetTy",4093],[6,"GenericArg",4093],[6,"Coercion",4093],[8,"GenericArgs",10233],[5,"Vec",10277],[10,"FnMut",10230],[10,"FromIterator",10223],[5,"ParamConst",4093,10278],[5,"AdtSortDefData",4093],[5,"AdtDefData",4093],[10,"Decodable",10247],[8,"PolyTraitRef",4093],[8,"PolyExistentialTraitRef",4093],[5,"Place",10227],[5,"Binder",7820],[10,"Encodable",10247],[10,"PartialEq",10243],[6,"FieldProj",8448],[6,"FloatTy",4093,10279],[5,"ClosureOblig",4093],[6,"BoundRegionKind",4093,10280],[6,"ClosureKind",4093,10270],[5,"TyVid",4093,10279],[6,"IntTy",4093,10279],[6,"Mutability",4093,10281],[5,"ParamTy",4093,10278],[5,"AdtDef",10233],[6,"Safety",10259],[6,"Abi",10282],[8,"RefineArgs",4093],[10,"ExactSizeIterator",10283],[5,"Path",8448],[6,"CanonicalTy",8026],[8,"GenericArgsRef",10284],[10,"TypeFoldable",9571],[6,"UintTy",4093,10279],[5,"VariantDef",10233],[5,"IndexSlice",10285],[10,"TypeVisitable",9571],[8,"BoundVariableKinds",7820],[6,"BoundReftKind",7820],[17,"T"],[10,"TypeVisitable",10286],[10,"ToRustc",10287],[6,"BoundVariableKind",10278],[8,"List",10288],[5,"LocalHoister",8026],[5,"CanonicalConstrTy",8026],[5,"Hoister",8026],[10,"HoisterDelegate",8026],[5,"EVid",8158],[5,"EVar",8158],[5,"EVarCxId",8158],[5,"EVarGen",8158],[5,"EVarSol",8158],[5,"EVarCtxt",8158],[5,"UnsolvedEvar",8158],[6,"EVarState",8158],[5,"KVid",8448],[5,"Name",8448],[6,"AggregateKind",8448],[5,"AliasReft",8448],[6,"Constant",8448],[5,"ESpan",8448],[6,"BinOp",8448],[6,"UnOp",8448],[6,"ExprKind",8448],[6,"HoleKind",8448],[5,"KVar",8448],[5,"EarlyReftParam",8448],[6,"Var",8448],[6,"Loc",8448],[5,"Real",8448],[5,"Local",10289],[5,"ScalarInt",4093,10290],[6,"Precedence",9530],[8,"TraitRef",10291],[5,"BottomUpFolder",9571],[8,"FxHashSet",10292],[5,"InferCtxt",10293],[10,"TypeSuperFoldable",9571],[10,"TypeSuperVisitable",9571],[17,"Error"],[5,"Normalizer",9653],[5,"BaseSpanner",9653],[5,"SpecFunc",4093],[8,"FxHashMap",10292],[5,"Normalizer",9747],[6,"Candidate",9747],[5,"TVarSubst",9747],[5,"Generics",10294],[5,"EarlyParamRegion",4093,10280],[5,"ParamEnv",10272],[5,"Refiner",9853],[6,"TyOrBase",9853],[5,"AliasTy",10233],[5,"Binder",10233],[5,"Clause",10233],[8,"PolyExistentialPredicate",10233],[8,"PolyExistentialPredicate",4093],[5,"TraitRef",10233],[6,"GenericArg",10233],[6,"GenericParamDefKind",10233],[5,"RegionSubst",9931],[10,"SortSubstDelegate",9931],[5,"ConstGenericArgs",9931],[10,"GenericsSubstDelegate",9931],[5,"GenericArgsDelegate",9931],[5,"GenericsSubstForSort",9931],[5,"GenericsSubstFolder",9931],[5,"BoundVarReplacer",9931],[10,"BoundVarReplacerDelegate",9931],[5,"EVarSubstFolder",9931],[5,"SortSubst",9931],[5,"FnSig",10233],[5,"FnMutDelegate",9931],[1,"never"],[5,"TheoryFunc",0],[6,"PrimTy",366],[15,"Equality",3205],[15,"Type",3206],[15,"Const",3206],[15,"SelfTyAlias",3209],[15,"SelfTyParam",3209],[15,"SelfAlias",3212],[15,"User",3212],[15,"SelfParam",3212],[15,"Transparent",3215],[8,"Result",3216],[5,"GlobalEnvInner",3388],[15,"InvalidAssocReft",4084],[15,"Unsupported",4084],[15,"Ignored",4084],[15,"InvalidGenericArg",4084],[15,"Bug",4084],[5,"ConstVid",4093],[5,"RegionVid",4093],[5,"AdtFlags",4093],[8,"PolyTraitPredicate",4093],[15,"Tuple",9526],[15,"Adt",9526],[15,"Type",7817],[15,"Const",7817],[15,"User",7819]],"r":[[70,10287],[384,10246],[488,10281],[521,10259],[589,10246],[594,10232],[3390,10245],[3392,10245],[4101,10295],[4105,8448],[4110,10233],[4111,8448],[4124,8448],[4126,7820],[4134,8448],[4135,7820],[4136,10233],[4137,10280],[4138,10270],[4139,7820],[4140,7820],[4154,10270],[4157,10233],[4163,10233],[4164,10296],[4165,8448],[4171,10270],[4176,8448],[4177,8158],[4179,8158],[4180,7820],[4182,10280],[4183,8448],[4191,8448],[4193,8448],[4198,10232],[4199,8448],[4203,10279],[4228,8448],[4234,10270],[4245,366],[4252,10279],[4256,8448],[4258,8448],[4259,8448],[4260,10233],[4264,10255],[4265,8448],[4285,10281],[4286,8448],[4300,10233],[4306,10278],[4308,10278],[4309,8448],[4336,8448],[4346,10233],[4348,10297],[4350,10290],[4364,9653],[4385,10279],[4398,10279],[4399,8448],[4406,8448],[4410,10232],[7826,10255]],"b":[[302,"impl-Display-for-BigInt"],[303,"impl-Debug-for-BigInt"],[304,"impl-FixpointFmt-for-BigInt"],[307,"impl-From%3Cu128%3E-for-BigInt"],[309,"impl-From%3Ci32%3E-for-BigInt"],[310,"impl-From%3Cusize%3E-for-BigInt"],[311,"impl-From%3Ci128%3E-for-BigInt"],[1983,"impl-From%3CLocalDefId%3E-for-FluxLocalDefId"],[1984,"impl-From%3CFluxOwnerId%3E-for-FluxLocalDefId"],[1993,"impl-From%3Cusize%3E-for-ItemLocalId"],[1994,"impl-From%3Cu32%3E-for-ItemLocalId"],[2054,"impl-From%3Cusize%3E-for-ParamId"],[2056,"impl-From%3Cu32%3E-for-ParamId"],[2177,"impl-ItemLocalId"],[2178,"impl-Idx-for-ItemLocalId"],[2179,"impl-Idx-for-ParamId"],[2180,"impl-ParamId"],[3743,"impl-Debug-for-Join%3C\'_,+I%3E"],[3744,"impl-Pretty-for-Join%3C\'_,+I%3E"],[3762,"impl-From%3Cu32%3E-for-BoundVarName"],[3763,"impl-From%3Cusize%3E-for-BoundVarName"],[3790,"impl-BoundVarName"],[3791,"impl-Idx-for-BoundVarName"],[6076,"impl-Debug-for-AliasKind"],[6077,"impl-Pretty-for-AliasKind"],[6078,"impl-Debug-for-Const"],[6079,"impl-Pretty-for-Const"],[6080,"impl-Pretty-for-Region"],[6081,"impl-Debug-for-Region"],[6093,"impl-Pretty-for-ClauseKind"],[6094,"impl-Debug-for-ClauseKind"],[6097,"impl-Pretty-for-ExistentialPredicate"],[6098,"impl-Debug-for-ExistentialPredicate"],[6099,"impl-Debug-for-ExistentialTraitRef"],[6100,"impl-Pretty-for-ExistentialTraitRef"],[6101,"impl-Debug-for-ExistentialProjection"],[6102,"impl-Pretty-for-ExistentialProjection"],[6108,"impl-Pretty-for-SortCtor"],[6109,"impl-Debug-for-SortCtor"],[6116,"impl-Pretty-for-Sort"],[6117,"impl-Debug-for-Sort"],[6118,"impl-Debug-for-BvSize"],[6119,"impl-Pretty-for-BvSize"],[6120,"impl-Debug-for-FuncSort"],[6121,"impl-Pretty-for-FuncSort"],[6123,"impl-Debug-for-PolyFuncSort"],[6124,"impl-Pretty-for-PolyFuncSort"],[6125,"impl-Debug-for-SortArg"],[6126,"impl-Pretty-for-SortArg"],[6131,"impl-Pretty-for-VariantSig"],[6132,"impl-Debug-for-VariantSig"],[6133,"impl-Debug-for-FnSig"],[6134,"impl-Pretty-for-FnSig"],[6135,"impl-Pretty-for-FnOutput"],[6136,"impl-Debug-for-FnOutput"],[6137,"impl-Debug-for-Ensures"],[6138,"impl-Pretty-for-Ensures"],[6142,"impl-Pretty-for-Ty"],[6143,"impl-Debug-for-Ty"],[6145,"impl-Pretty-for-PtrKind"],[6146,"impl-Debug-for-PtrKind"],[6147,"impl-Debug-for-BaseTy"],[6148,"impl-Pretty-for-BaseTy"],[6151,"impl-Debug-for-SubsetTy"],[6152,"impl-Pretty-for-SubsetTy"],[6153,"impl-Pretty-for-GenericArg"],[6154,"impl-Debug-for-GenericArg"],[6237,"impl-From%3Cusize%3E-for-ParamSort"],[6238,"impl-From%3Cu32%3E-for-ParamSort"],[6240,"impl-From%3Cusize%3E-for-SortVid"],[6241,"impl-From%3Cu32%3E-for-SortVid"],[6244,"impl-From%3Cusize%3E-for-NumVid"],[6246,"impl-From%3Cu32%3E-for-NumVid"],[6253,"impl-From%3Cusize%3E-for-BvSizeVid"],[6254,"impl-From%3Cu32%3E-for-BvSizeVid"],[6513,"impl-ParamSort"],[6514,"impl-Idx-for-ParamSort"],[6515,"impl-Idx-for-SortVid"],[6516,"impl-UnifyKey-for-SortVid"],[6517,"impl-SortVid"],[6518,"impl-Idx-for-NumVid"],[6519,"impl-UnifyKey-for-NumVid"],[6520,"impl-NumVid"],[6521,"impl-UnifyKey-for-BvSizeVid"],[6522,"impl-BvSizeVid"],[6523,"impl-Idx-for-BvSizeVid"],[7875,"impl-Binder%3CTraitRef%3E"],[7876,"impl-Binder%3CExistentialTraitRef%3E"],[7922,"impl-Pretty-for-Binder%3CFnOutput%3E"],[7923,"impl-Debug-for-Binder%3CT%3E"],[7924,"impl-Pretty-for-Binder%3CT%3E"],[7987,"impl-Binder%3CTy%3E"],[7988,"impl-Binder%3CSubsetTy%3E"],[8065,"impl-Debug-for-CanonicalConstrTy"],[8066,"impl-Pretty-for-CanonicalConstrTy"],[8067,"impl-Debug-for-CanonicalTy"],[8068,"impl-Pretty-for-CanonicalTy"],[8306,"impl-Pretty-for-EVar"],[8307,"impl-Debug-for-EVar"],[8328,"impl-From%3Cu32%3E-for-EVid"],[8330,"impl-From%3Cusize%3E-for-EVid"],[8350,"impl-EVid"],[8351,"impl-Idx-for-EVid"],[8529,"impl-Add%3CRhs%3E-for-%26Expr"],[8530,"impl-Add%3CRhs%3E-for-Expr"],[8828,"impl-Div%3CRhs%3E-for-Expr"],[8829,"impl-Div%3CRhs%3E-for-%26Expr"],[8873,"impl-PartialEq-for-Expr"],[8874,"impl-Expr"],[8891,"impl-Constant"],[8892,"impl-PartialEq-for-Constant"],[9042,"impl-Debug-for-Lambda"],[9043,"impl-Pretty-for-Lambda"],[9044,"impl-Pretty-for-AliasReft"],[9045,"impl-Debug-for-AliasReft"],[9046,"impl-Debug-for-Expr"],[9047,"impl-Pretty-for-Expr"],[9054,"impl-Pretty-for-KVar"],[9055,"impl-Debug-for-KVar"],[9057,"impl-Pretty-for-Var"],[9058,"impl-Debug-for-Var"],[9059,"impl-Pretty-for-Path"],[9060,"impl-Debug-for-Path"],[9061,"impl-Pretty-for-Loc"],[9062,"impl-Debug-for-Loc"],[9065,"impl-Debug-for-Real"],[9066,"impl-FixpointFmt-for-Real"],[9067,"impl-Pretty-for-Constant"],[9068,"impl-Debug-for-Constant"],[9078,"impl-From%3CPath%3E-for-Expr"],[9079,"impl-From%3CVar%3E-for-Expr"],[9080,"impl-From%3Ci32%3E-for-Expr"],[9082,"impl-From%3CName%3E-for-Expr"],[9083,"impl-From%3C%26Expr%3E-for-Expr"],[9109,"impl-From%3CName%3E-for-Loc"],[9110,"impl-From%3CLocal%3E-for-Loc"],[9114,"impl-From%3Cusize%3E-for-KVid"],[9116,"impl-From%3Cu32%3E-for-KVid"],[9118,"impl-From%3Cu32%3E-for-Name"],[9119,"impl-From%3Cusize%3E-for-Name"],[9124,"impl-From%3Ci128%3E-for-Constant"],[9125,"impl-From%3CSymbol%3E-for-Constant"],[9126,"impl-From%3Cbool%3E-for-Constant"],[9127,"impl-From%3Cu128%3E-for-Constant"],[9129,"impl-From%3Ci32%3E-for-Constant"],[9130,"impl-From%3Cusize%3E-for-Constant"],[9195,"impl-KVid"],[9196,"impl-Idx-for-KVid"],[9197,"impl-Idx-for-Name"],[9198,"impl-Name"],[9282,"impl-Mul%3CRhs%3E-for-%26Expr"],[9283,"impl-Mul%3CRhs%3E-for-Expr"],[9325,"impl-Sub%3CRhs%3E-for-%26Expr"],[9326,"impl-Sub%3CRhs%3E-for-Expr"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMwjqAELAAEADgAvAEUAGQBgAAMAZQANAHUAAAB3AAEAewABAH4AAACAAAoAjAAJAJ0ABwCnAAMArAAEALMANgDrAAcA9AACAPgAFgARASMANgECADoBBgBFAQ8AVgEIAGABAABiAQ4AcgEAAHQBBQB7AQIAgAECAIQBAwCJAQUAkAEAAJIBAQCVAQUAnAEAAJ4BAwCjAQEApgEBAKkBAACrAQYAswEJAL4BAQDBAQkAzQEFANUBAADXAQQA3gEAAOMBGQD/AQYACAIAAAsCCwAZAgAAGwIAAB0CAAAgAgYAKQIKADUCCQBAAgQARgICAEoCAQBNAgIAUQIBAFQCAwBaAhsBegNzAUAFgQHDBp8AZAcBAGgHAgBtBwIAcgcAAHQHAAB2BwAAeAcBAHwHAQCABwEAgwcAAIYHAQCJBwAAjAcAAI4HAQCSBwAAlAcBAJgHAQCcBwAAngcBAKEHAACkBwAApgcBAKkHAACsBwEAsAcBALQHAAC2BwEAugcAALwHAAC+BwAAwAcCAMQHAQDHBwEAygcBAM0HAADPBwAA0QcAANMHAQDXBwAA2QcBANwHAADeBwAA4AcAAOIHAADkBwAA5wcBAOsHAADtBwAA7wcAAPEHAADzBwIA9wcAAPkHAAD7BwAA/QcAAP8HAAACCAAABAgAAAYIAQAJCAIADggBABEIUwBtCBQAgwgBAIYIUwAtCWkAnAkiAMAJHwDhCasCjgwAAJAMAACSDAAAlAwCAJgMBgCgDAQApgwvANcMBADdDAIA4QxfAEINBABIDSkAdw02ALANAACyDQAAtA0BALcNDgDHDQYA0w0FANoNBADgDRAA8g0KAP4NGAAZDiQAPw4EAEYOBABMDgkAWA4UAHQOMgCoDgEArA4AAK4OAQCxDgAAsw4BALYOCQDEDgoA0A4HAN8OVwA4DwEAOw8CAD8PAQBDDx0AZQ8TAHoPEQCNDwAAjw8BAJIPAQCVDwwApg9XAP8PBwAIEAsAFRAZADMQAQA2EAQAPBAIAEYQBQBOEBIAYhAEAGgQAQBrEBgAhhAMAJUQCwCiEAEApRALALkQDADHEAAAyRABAMwQAwDREAIA1RAFANwQAwDhEBsA/hAAAAARBAAGEQAACxEHABURDAAjERcAPBEBAEIRigDOEUwAJBKqANESywDuExkACRQ2AEEUDgNRFwcAWhe2ABIYAgAWGAAAGRgAABsYAQAeGAAAIRgAACMYAAAlGAAAJxgAACkYAAArGAEALxgBADIYAAA1GAAANxgBADsYAAA9GAEAQRgCAEYYAQBJGAAASxgAAE4YAQBRGAAAVBgBAFgYAABaGAAAXBgAAF4YBQBlGAAAZxgCAGsYAABuGAIAchgAAHQYAQB3GAAAehgAAHwYAQCAGAAAghgAAIQYAQCHGAAAiRgAAIwYAQCQGAEAkxgAAJUYAACXGAAAmhgAAJwYAQCfGAAAohgBAKUYAACoGAEArBgAAK4YAACwGAAAshgBALYYAQC5GAAAvBgAAL4YVQAgGQAAJRlLAHMZAgB3GQEAehkAAHwZYQAuGlcAiBoFAI8aBACVGmUA/BoAAP4aBQAFGwEACBsjAC4bBwA4GwAAOhsBAD0bBQBGG+0ANhyDAr4eOwD8HgIAAB8AAAIfCwAPHwAAFB8DABkfHAA3HyQAYB8KAG8fGACJHwAAix8BAI8fGACsHx8AzR8RAOAfAQDjHwEA6B8DAO0fDwD/HxwAJCAIAC4gHwBPIBYAZyASAHwgAAB/IAAAgSAAAIMgAQCGIAAAiCABAIsgAACNIAgAmiAEAKAgCACxICwA3yAhAAIhBwALIQ8AHCEHACYhAwArIQEALiEEADchCQBCIQsAUCE+AJAhFACpIQMAriFuADEiQQF1IwAAdyMFAH4jAACAIwAAgiMAAIQjAACGIwEAiSMAAIsjAACOIwAAkCMAAJIjAQCVIwMAmiMBAJ0jAACfIwMApCMEAKojGADLIyAA7SMBAPAjFQAHJAAACSQAAB4kFAA0JAEAOSQnAGIkAwBoJAAAaiSAAOwkWgBIJQwAViUCAFolDQBpJQcAciUSAIYlAACIJQEAiyUBAI4lAQCRJSMAtiUKAMQlEwDaJQAA3CUHAOclBgDvJTYAKSYVAEAmAQBEJgsAUyY0AIomCACUJgEAlyYGAKAmKwDNJgEA0CYBANMmAADWJhkA+SY/ADonAAA9JwEAQCcAAEInAABFJwEASCcAAEonGQBtJwoAeScNAIgnAwCNJ2EA"}],\ ["flux_refineck",{"t":"FJHHOCCHCCCCHHHOCFFPGFPKTPPPFIFFHNNNNOOOHHNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNONNNNNNNMNNNNNNNNNNNNHNOONNNNNNNNNNNNNNNNNNNNNNNMNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOHONNNNNNNHHHHNNNNNNNNNNNNNNNNONOONONNNOHNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHNNNNNNNNNNNNNNONNNNNNNGFPPPKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNMMFFFFFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPIPPGFIGPFPPNHNNNNNNOOONNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNOCNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPFFPFPFKITPGGPPPHNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONMNNNNNNNNNNNNNNNNNNNNNNNOONNNOMNNNOMNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNFFTTTTFPFFGFIFTPFTTNNHNNNNNNNNONNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOONNONNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNHHCFNNNNNNNNNNNNNNONNNNNNNJJFJJFIFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNHHHHHHHHHHHHHHHHHHHOOOOONNNNNNNNNNNNNNNNNNNNNFFNONNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNFFFPPPPGIPFNNNOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNCCNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPIFPRGPKKFFPFFFPFNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNHNHHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNNNNNNNNNONNNNNNNNNNNNNNNNNNONONNOMOONNNONNNONNNNOOCMONNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["CheckerConfig","DEFAULT_LOCALE_RESOURCE","call_error","check_fn","check_overflow","checker","errors","force_conv","ghost_statements","invariants","primops","queue","report_errors","report_expected_neg","ret_error","scrape_quals","type_env","Checker","CheckerConfig","Err","Guard","Inherited","Match","Mode","NAME","None","Ok","Pred","RefineMode","Result","ShapeMode","ShapeResult","all_predicates_of","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","bb_envs","bb_envs","body","bool_int_cast","bool_uint_cast","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_assert","check_assign_ty","check_basic_block","check_binary_op","check_call","check_cast","check_closure_clauses","check_constant","check_ghost_statement","check_ghost_statements_at","check_goto","check_goto_join_point","check_goto_join_point","check_goto_join_point","check_if","check_len","check_match","check_mk_array","check_nullary_op","check_oblig_fn_def","check_oblig_fn_trait_pred","check_oblig_generator_pred","check_operand","check_operands","check_overflow","check_overflow","check_ret","check_rvalue","check_statement","check_successors","check_terminator","check_unary_op","check_unsize_cast","clear","clear","clear","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_params_in_clauses","config","config","def_id","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","discr_to_int_cast","dominators","drop","drop","drop","drop","drop","drop","drop","enter_basic_block","enter_basic_block","enter_basic_block","errors","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","generics","genv","ghost_stmts","ghost_stmts","infer_under_mut_ref_hack","inherited","init","init","init","init","init","init","init","instantiate_args_for_constructor","instantiate_args_for_fun_call","int_bit_width","int_int_cast","into","into","into","into","into","into","into","into_bb_envs","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_exit_block","mode","new","output","queue","reborrow","resume_ty","run","run_in_refine_mode","run_in_shape_mode","scrape_quals","snapshot_at_dominator","snapshot_at_dominator","snapshots","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint_bit_width","uint_int_cast","uint_uint_cast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","visited","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CheckerErrKind","CheckerError","Inference","OpaqueStruct","Query","ResultExt","at","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diag","into_query_param","into_query_param","kind","opaque_struct","span","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","with_span","with_src_info","AssertError","AssignError","CallSpanNote","ConditionSpanNote","DivError","ExpectedNeg","FoldError","GotoError","OverflowError","RefineError","RemError","UnknownError","add_to_diag_with","add_to_diag_with","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","call","call_span_note","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cond","def_descr","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_diag","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","msg","new","ret","span","span","span","span","span","span","span","span","span","span","span","span","span_note","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BeforeLocation","Edge","EdgeMap","Fold","FunEntry","GhostStatement","GhostStatements","LocationMap","Point","PtrToRef","StatementsAt","Unblock","Unfold","add_unblocks","all_nested_bodies","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","as_any","at","at_edge","at_location","at_start","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compute_ghost_statements","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","extend_at","filterable","filterable","filterable","filterable","fmt","fmt","fold_unfold","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","hash","init","init","init","init","insert","insert_at","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","new","point","points_to","statements_at","stmts","to_owned","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","vzip","write_mir","Closure","Deref","Downcast","Elaboration","Env","Fold","FoldUnfoldAnalysis","Generator","Infer","Mode","Modified","NAME","None","PlaceNode","ProjResult","Tuple","Ty","Unfold","add_ghost_statements","basic_block","bb_envs","body","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_fold_unfolds","collect_fold_unfolds_at_goto","collect_folds_at_ret","collect_folds_at_ret","collect_unfolds","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","discriminants","downcast","downcast","downcast","downcast_struct","drop","drop","drop","drop","drop","drop","ensure_folded","ensure_unfolded","field","fields","filterable","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","genv","goto","goto_join_point","goto_join_point","goto_join_point","init","init","init","init","init","init","insert_at","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","join","map","mode","new","new","operand","point","projection","projection","projection","projection","queue","ret","ret","ret","run","statement","stmts","terminator","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","visited","vzip","vzip","vzip","vzip","vzip","vzip","Children","CollectPointerToBorrows","MAX","MAX","MAX_AS_U32","MAX_AS_U32","Map","Place","PlaceIndex","PlaceInfo","PlaceOrValue","PointsToAnalysis","Results","State","TOP","Value","ValueIndex","ZERO","ZERO","add","add","add_ghost_statements","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","analysis","apply","apply_call_return_effect","apply_statement_effect","apply_switch_int_edge_effects","apply_terminator_effect","as_any","as_any","as_any","as_u32","as_u32","as_usize","as_usize","assign","before_state","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","bottom_value","cache_preorder_invoke","children","clone","clone","clone","clone_from","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","debug_with_context","debug_with_context_rec","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","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","equals","equals","equals","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","excluded_locals","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","find","first_child","flood","flood_with","fmt","fmt","fmt","fmt","fmt","fmt_diff_with","fmt_with","fn_sig","for_each_aliasing_place","for_each_tracked_place","for_each_tracked_place_rec","for_each_value_inside","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_u16","from_u16","from_u32","from_u32","from_u32_unchecked","from_u32_unchecked","from_usize","from_usize","get","get_idx","get_tracked_idx","handle_assign","handle_call_return","handle_operand","handle_ref","handle_statement","handle_terminator","hash","hash","index","index","index","index","init","init","init","init","init","init","init","init","init","initialize_start_block","inner_values","inner_values_buffer","insert_idx","insert_place_idx","insert_value_idx","into","into","into","into","into","into","into","into","into","into_iter","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","locals","map","map","map","new","new","new","new","new","new","new","next","next","next_sibling","places","private_use_as_methods_instead","private_use_as_methods_instead","proj_elem","projections","register","register_children","stmts","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","tracked_places","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","value_count","value_index","values","visit_block_start","visit_statement_after_primary_effect","visit_terminator_after_primary_effect","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","check_invariant","check_invariants","errors","Invalid","borrow","borrow_mut","collect_and_apply","deref","deref_mut","drop","filterable","from","from","from_cycle_error","init","into","into_diag","into_query_param","span","to_result","try_from","try_into","type_id","upcast","upcast_from","vzip","DEFAULT_BIN_OPS","DEFAULT_UN_OPS","MatchedRule","OVERFLOW_BIN_OPS","OVERFLOW_UN_OPS","Pre","RuleMatcher","RuleTable","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","collect_and_apply","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","filterable","filterable","filterable","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_query_param","into_query_param","into_query_param","match_bin_op","match_inputs","match_un_op","mk_add_rules","mk_bit_and_rules","mk_bit_or_rules","mk_bit_xor_rules","mk_div_rules","mk_eq_rules","mk_ge_rules","mk_gt_rules","mk_le_rules","mk_lt_rules","mk_mul_rules","mk_ne_rules","mk_neg_rules","mk_not_rules","mk_rem_rules","mk_shl_rules","mk_shr_rules","mk_sub_rules","output_type","precondition","pred","reason","rules","to_result","to_result","to_result","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","Item","WorkQueue","as_any","bb","borrow","borrow","borrow_mut","borrow_mut","cmp","collect_and_apply","collect_and_apply","compare","compare","deref","deref","deref_mut","deref_mut","dominators","dominators","drop","drop","empty","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","filterable","filterable","from","from","from","from","from_cycle_error","from_cycle_error","heap","init","init","insert","into","into","into_query_param","into_query_param","partial_cmp","pop","set","to_result","to_result","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","BasicBlockEnv","BasicBlockEnvData","BasicBlockEnvShape","Err","Identity","Infer","Ok","PtrToRefBound","Result","Ty","TypeEnv","alloc","alloc_with_ty","assign","bindings","bindings","bindings","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_goto","clone","clone_into","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","constrs","data","default","default_cx","default_cx","default_cx","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","drop","drop","drop","drop","drop","enter","enter","filterable","filterable","filterable","filterable","filterable","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fold","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","get","init","init","init","init","init","into","into","into","into","into","into_bb_env","into_infer","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","join","join_bty","join_generic_arg","join_idx","join_ty","local_decls","lookup_place","lookup_rust_ty","move_place","new","new","pack_bty","pack_generic_arg","pack_ty","place_ty","pretty","ptr_to_ref","ptr_to_ref_at_place","replace_evars","scope","scope","scope","to_owned","to_result","to_result","to_result","to_result","to_result","try_fold_with","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","unblock","unfold","unpack","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","update","update_path","visit_with","vzip","vzip","vzip","vzip","vzip","Binding","Box","CheckerResult","Cursor","Err","Error","LocKind","Local","LookupKey","LookupMode","LookupResult","NoUnfold","Ok","PlacesTree","Unfold","Unfolder","Universal","Updater","as_any","bindings","block_with","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","change_root","change_root","checker_conf","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","cursor","cursor","cursor","cursor_for","default","default_cx","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","downcast","downcast","downcast_enum","downcast_struct","downcast_struct","downcast_struct","downcast_struct","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","equals","equivalent","equivalent","equivalent","equivalent","equivalent","field","field","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","flatten","fmap_mut","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold","fold_field_at","fold_ty","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","get","get_loc","get_loc_mut","has_work","in_ref","index","infcx","init","init","init","init","init","init","init","init","init","insert","insertions","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_constant_index","is_exhausted","is_strg","iter","iter_flatten","kind","loc","loc","loc_to_place","lookup","lookup_inner","lookup_unfolding","map","new","new","new","new_ty","next","path","path_to_place","paths","place","pos","pretty","proj","proj","remove","reset","run","should_continue","struct_variant","to_owned","to_owned","to_owned","to_path","to_place","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","try_fmap_mut","try_fold_ty","try_fold_with","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","ty","ty","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unblock","unfold","unfold","unfold_box","unfold_strg_ref","unpack","unpack","unpack","unpack","unpack_for_downcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","update","update","visit_with","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"flux_refineck"],[17,"flux_refineck::checker"],[263,"flux_refineck::checker::errors"],[319,"flux_refineck::errors"],[603,"flux_refineck::ghost_statements"],[732,"flux_refineck::ghost_statements::fold_unfold"],[927,"flux_refineck::ghost_statements::points_to"],[1272,"flux_refineck::invariants"],[1275,"flux_refineck::invariants::errors"],[1298,"flux_refineck::primops"],[1392,"flux_refineck::queue"],[1454,"flux_refineck::type_env"],[1626,"flux_refineck::type_env::place_ty"],[1938,"flux_middle::global_env"],[1939,"rustc_span::span_encoding"],[1940,"flux_middle::rty::expr"],[1941,"core::option"],[1942,"rustc_span"],[1943,"flux_common::cache"],[1944,"flux_middle"],[1945,"core::result"],[1946,"flux_middle::queries"],[1947,"flux_infer::infer"],[1948,"alloc::vec"],[1949,"rustc_span::def_id"],[1950,"rustc_middle::ty::context"],[1951,"rustc_middle::ty::predicate"],[1952,"core::iter::traits::iterator"],[1953,"rustc_middle::arena"],[1954,"core::iter::traits::collect"],[1955,"rustc_hir"],[1956,"rustc_type_ir::ty_kind"],[1957,"flux_middle::rty"],[1958,"flux_rustc_bridge::mir"],[1959,"rustc_middle::mir"],[1960,"flux_middle::rty::binder"],[1961,"flux_rustc_bridge::ty"],[1962,"flux_infer::refine_tree"],[1963,"rustc_middle::mir::syntax"],[1964,"core::ops::function"],[1965,"rustc_hash"],[1966,"rustc_data_structures::graph::dominators"],[1967,"icu_provider::request"],[1968,"icu_provider_adapters::filter"],[1969,"core::fmt"],[1970,"rustc_query_system::query::plumbing"],[1971,"flux_infer::fixpoint_encoding"],[1972,"rustc_data_structures::unord"],[1973,"rustc_index::vec"],[1974,"core::any"],[1975,"rustc_errors"],[1976,"rustc_errors::diagnostic"],[1977,"core::hash"],[1978,"std::io::error"],[1979,"std::io"],[1980,"rustc_target::abi"],[1981,"rustc_middle::mir::terminator"],[1982,"rustc_middle::mir::statement"],[1983,"rustc_mir_dataflow::framework"],[1984,"rustc_index::slice"],[1985,"core::cmp"],[1986,"rustc_index::bit_set"],[1987,"rustc_mir_dataflow::framework::lattice"],[1988,"rustc_middle::ty"],[1989,"alloc::collections::vec_deque"],[1990,"rustc_mir_dataflow::framework::engine"],[1991,"flux_middle::fhir"],[1992,"rustc_ast_ir"],[1993,"flux_middle::pretty"],[1994,"flux_middle::rty::evars"],[1995,"flux_middle::rty::fold"],[1996,"core::ops::control_flow"],[1997,"flux_arc_interner"],[1998,"core::iter::traits::double_ended"]],"i":[0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,10,0,0,0,207,0,0,37,0,39,37,207,37,0,0,0,0,0,10,10,10,10,54,55,31,0,0,31,88,54,55,83,10,37,31,88,54,55,83,10,37,31,31,31,31,31,31,31,31,31,31,31,39,54,55,31,31,31,31,31,31,31,31,31,31,31,10,31,31,31,31,31,31,31,39,54,55,10,10,10,31,88,54,55,83,10,37,0,31,88,31,31,88,54,55,83,10,37,31,88,54,55,83,10,37,31,31,31,88,54,55,83,10,37,39,54,55,0,31,88,54,55,83,10,37,10,37,31,31,88,88,54,54,55,55,83,83,10,10,37,37,31,88,54,55,83,10,37,31,31,31,88,0,31,31,88,54,55,83,10,37,0,0,0,0,31,88,54,55,83,10,37,83,31,88,54,55,83,10,37,31,88,88,31,31,88,31,31,31,31,10,0,31,31,10,31,88,54,55,83,10,37,31,88,54,55,83,10,37,31,88,54,55,83,10,37,31,88,54,55,83,10,37,0,0,0,31,88,54,55,83,10,37,31,88,54,55,83,10,37,31,31,88,54,55,83,10,37,0,0,93,93,93,0,93,38,93,38,93,38,93,38,93,38,93,38,93,38,93,93,38,38,93,93,93,93,38,93,38,93,38,93,38,38,93,38,38,38,38,93,38,93,38,93,38,93,38,93,38,93,38,93,99,99,0,0,0,0,0,0,0,0,0,0,0,0,100,103,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,104,104,105,106,100,103,104,107,108,109,110,111,112,113,104,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,105,106,106,100,100,103,103,104,104,107,107,108,108,109,109,110,110,111,111,112,112,113,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,109,104,104,105,106,100,103,104,107,108,109,110,111,112,113,104,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,105,106,100,103,104,107,108,109,110,111,112,113,53,53,0,52,53,0,0,0,0,52,0,52,52,78,0,53,53,53,53,53,78,78,78,78,52,78,115,53,52,78,115,53,53,53,53,52,78,115,53,0,52,78,115,53,52,78,115,53,52,78,115,53,53,53,53,53,53,53,53,78,52,78,115,53,52,53,0,52,52,78,78,115,115,53,53,52,78,115,53,53,52,78,115,53,115,78,52,78,115,53,52,78,115,53,78,115,0,78,115,53,52,78,115,53,52,78,115,53,52,78,115,53,52,78,115,53,52,78,115,53,52,78,115,53,52,78,115,53,78,122,122,122,0,0,127,0,122,0,0,0,121,127,0,0,122,122,127,0,119,119,119,119,128,129,120,127,122,119,128,129,120,127,122,120,122,120,122,120,122,119,128,129,120,127,122,122,120,120,122,122,119,128,129,120,127,122,122,119,128,129,120,127,122,119,0,120,122,0,119,128,129,120,127,122,122,120,122,122,119,128,129,120,127,122,120,127,122,119,119,128,128,129,129,120,120,127,127,122,122,119,128,129,120,127,122,119,119,121,128,129,119,128,129,120,127,122,129,119,128,129,120,127,122,119,128,129,120,127,122,120,122,120,119,119,120,119,119,121,128,129,120,119,121,128,129,119,119,129,119,120,122,119,128,129,120,127,122,119,128,129,120,127,122,119,128,129,120,127,122,119,128,129,120,127,122,119,128,129,120,127,122,119,128,129,120,127,122,119,119,128,129,120,127,122,0,0,130,131,130,131,0,145,0,0,0,0,0,0,145,145,0,130,131,130,131,0,130,130,131,131,130,130,131,131,208,133,134,134,134,134,130,131,143,130,131,130,131,143,158,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,134,133,133,130,131,143,143,130,131,143,130,131,143,134,158,159,145,133,153,130,131,143,0,0,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,130,131,143,130,131,143,130,130,130,130,130,131,131,131,131,131,143,143,143,143,143,0,134,158,159,145,133,153,130,131,143,133,153,143,143,133,153,130,131,143,143,143,134,133,133,133,133,134,134,158,158,159,159,145,145,133,133,153,153,130,130,130,130,131,131,131,131,143,143,134,158,159,145,133,153,130,131,143,130,131,130,131,130,131,130,131,143,143,143,134,134,134,134,134,134,130,131,130,130,131,131,134,158,159,145,133,153,130,131,143,134,133,133,143,143,143,134,158,159,145,133,153,130,131,143,159,134,158,159,145,133,153,130,131,143,143,133,134,158,159,134,158,159,133,153,130,131,159,159,153,133,130,131,153,133,133,133,158,130,131,143,134,158,159,145,133,153,130,131,143,158,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,134,158,159,145,133,153,130,131,143,133,153,143,158,158,158,134,158,159,145,133,153,130,131,143,0,0,0,0,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,0,0,0,0,0,0,0,0,166,209,167,166,209,167,166,209,167,166,209,167,166,209,167,166,209,167,166,209,167,166,166,209,209,167,167,166,209,167,166,209,167,166,209,167,166,209,167,0,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,166,209,209,167,166,209,167,166,209,167,166,209,167,166,209,167,166,209,167,166,209,167,166,209,167,0,0,170,170,170,172,170,172,170,170,172,170,170,170,172,170,172,170,172,170,172,172,170,170,170,170,170,170,170,170,172,170,170,172,172,170,172,172,170,172,172,170,172,170,172,170,172,172,170,172,170,172,170,172,170,172,170,172,170,172,170,172,0,0,0,210,185,185,210,0,0,185,0,33,33,33,177,33,179,177,85,185,33,33,179,177,85,185,33,179,33,33,33,33,177,85,185,33,179,179,85,33,177,85,33,177,85,185,33,179,177,85,185,33,179,33,177,85,185,33,179,177,85,177,85,185,33,179,177,177,85,85,33,33,179,33,177,177,85,85,185,185,33,33,179,179,177,85,185,33,179,33,177,85,185,33,179,177,85,185,33,179,177,33,177,85,185,33,179,177,177,177,177,177,33,33,33,33,177,33,177,177,177,0,0,33,33,33,85,177,85,33,177,85,185,33,179,179,177,85,185,33,179,177,85,185,33,179,177,85,185,33,179,33,33,33,177,85,185,33,179,177,85,185,33,179,177,33,179,177,85,185,33,179,0,195,0,0,211,198,0,195,0,0,0,0,211,0,0,0,195,0,195,190,190,190,199,200,191,197,192,193,194,195,190,199,200,191,197,192,193,194,195,191,192,191,193,194,195,193,194,195,193,194,195,190,199,200,191,197,192,193,194,195,190,191,197,193,193,193,190,199,200,191,191,197,197,192,193,194,195,190,199,200,191,197,192,193,194,195,0,191,0,0,198,199,200,190,199,200,191,197,192,193,194,195,195,195,195,195,195,195,195,191,197,190,199,200,191,197,192,193,194,195,193,193,192,193,193,194,195,195,0,190,197,197,190,190,199,199,200,200,191,191,197,197,192,192,193,193,194,194,195,195,190,199,200,191,197,192,193,194,195,193,193,193,191,191,191,191,190,199,200,191,197,192,193,194,195,193,191,190,199,200,191,197,192,193,194,195,190,199,200,191,197,192,193,194,195,190,192,190,193,193,194,196,192,193,193,193,193,193,191,197,192,197,192,190,193,193,192,192,0,196,192,193,192,191,191,0,193,194,195,192,192,190,199,200,191,197,192,193,194,195,193,191,193,190,199,200,191,197,192,193,194,195,190,199,200,191,197,192,193,194,195,190,194,190,199,200,191,197,192,193,194,195,190,191,193,191,191,198,199,200,191,191,190,199,200,191,197,192,193,194,195,190,199,200,191,197,192,193,194,195,190,197,193,190,199,200,191,197,192,193,194,195],"f":"``{{bd{h{f}}}j}{{b{A`{ln}}AbAd}{{Ah{Afj}}}}```{{bAb}Aj}````{{b{An{Al}}}{{Ah{Afj}}}}{{bB`}{{Ah{Afj}}}}4`````````````````{{BbBd}{{`{{Bl{}{{Bf{{A`{{Bj{Bhd}}}}}}}}}}}}{{{A`{Bn}}e}{{A`{l{C`{c}}}}}{}{{Cb{}{{Bf{c}}}}}}{{{A`{Cd}}e}{{A`{l{C`{c}}}}}{}{{Cb{}{{Bf{c}}}}}}{{{A`{Bn}}}{{A`{lc}}}{}}{{{A`{Cd}}}{{A`{lc}}}{}}```{{{A`{Cf}}Ch}Cj}{{{A`{Cf}}Cl}Cj}{A`{{A`{c}}}{}}000000{{{A`{l}}}{{A`{lc}}}{}}000000{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{Dd}}Df{A`{Dh}}}{{Ah{DjDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}{A`{E`}}CjEb}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}D`DbEd}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}dEf{A`{Dd}}{A`{Dd}}}{{Ah{CjDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}dBd{Ej{Eh}}{A`{{C`{El}}}}{A`{{C`{Cj}}}}}{{Ah{CjDl}}}Dn}{{{A`{{Cn{c}}}}{A`{lD`}}{A`{lDb}}dEn{A`{Cj}}{A`{F`}}}{{Ah{CjDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}Fb{A`{{C`{Fd}}}}d}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{Ff}}}{{Ah{CjDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}{A`{Fh}}d}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}Fjd}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}D`DbdEd}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{Dn}}}}D`DbdEd}{{Ah{DfDl}}}}{{{A`{l{Cn{Fl}}}}D`DbdEd}{{Ah{DfDl}}}}{{{A`{l{Cn{Fn}}}}D`DbdEd}{{Ah{DfDl}}}}{{{A`{Cj}}{A`{G`}}}{{An{{Bj{EdDj}}}}}}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{E`}}}{{Ah{CjDl}}}Dn}1{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{{C`{Cj}}}}Cj}{{Ah{CjDl}}}Dn}{{{A`{{Cn{c}}}}Gb{A`{F`}}}CjDn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{Bd}}{A`{{C`{El}}}}Ehd}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{Fb}}Gdd}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{Fb}}Gf}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{Dd}}}{{Ah{CjDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{{C`{Dd}}}}}{{Ah{{An{Cj}}Dl}}}Dn}{{{A`{{Cn{c}}}}}DfDn}`{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{Gh}}}{{Ah{CjDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}{A`{Gj}}}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}D`DbEdd{An{{Bj{EdDj}}}}}{{Ah{AfDl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}{A`{Gl}}{h{d}}}{{Ah{{An{{Bj{EdDj}}}}Dl}}}Dn}{{{A`{l{Cn{c}}}}{A`{lD`}}{A`{lDb}}dGn{A`{Dd}}}{{Ah{CjDl}}}Dn}{{{A`{{Cn{c}}}}{A`{lD`}}{A`{lDb}}d{A`{Cj}}{A`{F`}}}{{Ah{CjDl}}}Dn}{{{A`{l{Cn{Dn}}}}Ed}Af}{{{A`{l{Cn{Fl}}}}Ed}Af}{{{A`{l{Cn{Fn}}}}Ed}Af}{{{A`{Ad}}}Ad}{{A`{A`{lc}}}Af{}}{A`Af}{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}000000{{bBd}{{Hf{Hd}}}}{{{A`{{Cn{c}}}}}AdDn}``{Hd{{A`{c}}}{}}000000{Hd{{A`{lc}}}{}}000000{{{A`{Hh}}Hj}Cj}{{{A`{{Cn{c}}}}}{{A`{{Hl{Ed}}}}}Dn}{HdAf}000000{{{A`{l{Cn{Dn}}}}{A`{lD`}}Ed}Db}{{{A`{l{Cn{Fl}}}}{A`{lD`}}Ed}Db}{{{A`{l{Cn{Fn}}}}{A`{lD`}}Ed}Db}`{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}000000{{{A`{Ad}}{A`{lIf}}}Ih}{{{A`{Dj}}{A`{lIf}}}Ih}{cc{}}{{{Ah{c}}}c{}}100101100110{{c{A`{Ij}}j}e{}{}}000000``{{{A`{{Cn{c}}}}}{{A`{Il}}}Dn}`{{{A`{lIn}}{A`{{C`{Cj}}}}{Ej{{A`{Eh}}}}}{{An{Cj}}}}`{{}Hd}000000{{b{A`{J`}}Bd{A`{Jb}}}{{Aj{{An{El}}}}}}0{ChJd}{{{A`{Cf}}ChCh}Cj}{{}c{}}000000{{Jf{A`{lJh}}}{{Jl{B`{Jl{EdJj}}}}}}1111111{{{A`{{Cn{c}}}}Ed}DfDn}`{{{A`{lc}}{A`{{Jn{B`Il}}}}Ad}{{Ah{{K`{c}}Dl}}}Dn}``{{{A`{l{K`{c}}}}}{{K`{c}}}Dn}`{{D`B`{K`{c}}Eh}{{Ah{AfDl}}}Dn}{{bB`{A`{{Jn{B`Il}}}}JfAd}{{Ah{{Bj{KbJh}}Dl}}}}{{bB`{A`{{Jn{B`Il}}}}Ad}{{Ah{JfDl}}}}`{{{A`{Kd}}{A`{{Kf{Ed{h{Fb}}}}}}Ed}{{A`{Fb}}}}{{{A`{{Cn{c}}}}Ed}{{A`{Fb}}}Dn}`{A`c{}}{{}{{Ah{c}}}{}}000000{c{{Ah{e}}}{}{}}0000001111111{A`Kh}000000{ClJd}{{{A`{Cf}}ClCh}Cj}{{{A`{Cf}}ClCl}Cj}{ce{}{}}000000{{ce}c{}{}}000000`{{}c{}}000000``````{{Kjd}Dl}{A`{{A`{c}}}{}}0{{{A`{l}}}{{A`{lc}}}{}}0{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}0{Hd{{A`{c}}}{}}0{Hd{{A`{lc}}}{}}0{HdAf}0{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}0{{{A`{Kj}}{A`{lIf}}}Ih}{{{Ah{c}}}c{}}{cc{}}0{KlKj}{KnKj}3{{c{A`{Ij}}j}e{}{}}0{{}Hd}0??{{DlL`Lb}{{Ld{j}}}}{{}c{}}0`{{Bdd}Dl}`{{}{{Ah{c}}}{}}0{c{{Ah{e}}}{}{}}011{A`Kh}0{ce{}{}}0{{ce}c{}{}}066{{Lfd}{{Ah{cDl}}}{}}{{LfEb}{{Ah{cDl}}}{}}````````````{{Lh{A`{l{Ld{c}}}}{A`{e}}}AfLj{{Ll{c}}}}{{Ln{A`{l{Ld{c}}}}{A`{e}}}AfLj{{Ll{c}}}}{A`{{A`{c}}}{}}00000000000{{{A`{l}}}{{A`{lc}}}{}}00000000000{{d{h{f}}}M`}`{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}00000000000``{Hd{{A`{c}}}{}}00000000000{Hd{{A`{lc}}}{}}00000000000{HdAf}00000000000{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}00000000000{{{Ah{c}}}c{}}{cc{}}0101100110101010100101{{c{A`{Ij}}j}e{}{}}00000000000{{}Hd}00000000000{{}c{}}00000000000{{MbL`Lb}{{Ld{c}}}Lj}{{MdL`Lb}{{Ld{c}}}Lj}{{M`L`Lb}{{Ld{c}}}Lj}{{MfL`Lb}{{Ld{c}}}Lj}{{MhL`Lb}{{Ld{c}}}Lj}{{MjL`Lb}{{Ld{c}}}Lj}{{MlL`Lb}{{Ld{c}}}Lj}{{MnL`Lb}{{Ld{c}}}Lj}{{N`L`Lb}{{Ld{c}}}Lj}{{NbL`Lb}{{Ld{c}}}Lj}::::::::::::`{{{A`{Hn}}d{h{f}}}M`}{{d{h{f}}}M`}`````````````{{}{{Ah{c}}}{}}00000000000{c{{Ah{e}}}{}{}}00000000000111111111111{A`Kh}00000000000{ce{}{}}00000000000{{ce}c{}{}}00000000000{{}c{}}00000000000`````````````{{{A`{lIl}}Bb{A`{Kd}}}Af}{{BbB`}{{`{{Bl{}{{Bf{B`}}}}}}}}{{{A`{Cd}}e}{{A`{l{C`{c}}}}}{}{{Cb{}{{Bf{c}}}}}}{{{A`{Bn}}e}{{A`{l{C`{c}}}}}{}{{Cb{}{{Bf{c}}}}}}{{{A`{Cd}}}{{A`{lc}}}{}}{{{A`{Bn}}}{{A`{lc}}}{}}{A`{{A`{Nd}}}}{{{A`{lIl}}Fj}Nf}```{A`{{A`{c}}}{}}000{{{A`{l}}}{{A`{lc}}}{}}000{{{A`{Fj}}}Fj}{{A`{A`{lc}}}Af{}}{A`Af}{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}000{{bB`}{{Aj{{Jn{B`Il}}}}}}{Hd{{A`{c}}}{}}000{Hd{{A`{lc}}}{}}000{HdAf}000{{{A`{Fj}}{A`{Fj}}}Df}{{A`{A`{Nd}}}Df}{{A`{A`{c}}}Df{}}0000{{{A`{lIl}}Fjc}Af{{Cb{}{{Bf{Fh}}}}}}{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}000{{{A`{Fh}}{A`{lIf}}}Ih}{{{A`{Fj}}{A`{lIf}}}Ih}`{cc{}}{{{Ah{c}}}c{}}101010{{c{A`{Ij}}j}e{}{}}000{{{A`{Fj}}{A`{lc}}}AfNh}{{}Hd}000{{{A`{lNf}}Fh}Af}{{{A`{lIl}}FjFh}Af}{{}c{}}0000000{{bB`}{{Aj{Il}}}}``{{{A`{Il}}Fj}{{`{{Bl{}{{Bf{{A`{Fh}}}}}}}}}}`{A`c{}}{{}{{Ah{c}}}{}}000{c{{Ah{e}}}{}{}}0001111{A`Kh}000{ce{}{}}000{{ce}c{}{}}0008888{{{A`{Il}}Bb{A`{Kd}}{A`{lc}}}{{Nj{Af}}}Nl}``````````````````{{{A`{lIl}}b{A`{Kd}}{h{{A`{{Ej{Eh}}}}}}}Aj}{{{A`{l{Nn{c}}}}EdO`}AjOb}``{A`{{A`{c}}}{}}00000{{{A`{l}}}{{A`{lc}}}{}}00000{{{A`{O`}}}O`}{{{A`{Od}}}Od}{{A`{A`{lc}}}Af{}}0{A`Af}0{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}00000{{{A`{Od}}{A`{Od}}{A`{lE`}}{A`{lNf}}}Af}{{{A`{O`}}{A`{O`}}{A`{lNf}}}Af}{{{A`{O`}}{A`{Kd}}{A`{lNf}}}Af}{{{A`{Od}}{A`{lE`}}{A`{lNf}}}Af}{{{A`{Od}}{A`{lE`}}{A`{lNf}}}Df}{Hd{{A`{c}}}{}}0000{{{A`{lOd}}}{{Bj{{A`{lOd}}Df}}}}1{Hd{{A`{lc}}}{}}00000`{{b{A`{Of}}{A`{Jb}}Oh}{{Aj{{An{Od}}}}}}{{{A`{lO`}}b{A`{E`}}Oh}Aj}{{{A`{lOd}}bOh}{{Aj{{Bj{{A`{lOd}}Df}}}}}}{{b{A`{Of}}{A`{Jb}}}{{Aj{{An{Od}}}}}}{HdAf}00000{{{A`{lOd}}}Df}{{{A`{lO`}}b{A`{E`}}}{{Aj{{Bj{{A`{lOd}}OjDf}}}}}}{{{A`{lOd}}bOl}{{Aj{{Bj{{A`{lOd}}Df}}}}}}{{{A`{lOd}}b}{{Aj{{Bj{{A`{l{An{Od}}}}Df}}}}}}{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}00000{{{A`{O`}}{A`{lIf}}}Ih}{{{A`{On}}{A`{lIf}}}Ih}{{{A`{Od}}{A`{lIf}}}Ih}{cc{}}{{{Ah{c}}}c{}}1010011010{{c{A`{Ij}}j}e{}{}}00000`{{{A`{l{Nn{c}}}}EdO`}AjOb}{{{A`{l{Nn{Ob}}}}EdO`}{{Aj{Df}}}}{{{A`{l{Nn{A@`}}}}EdO`}{{Aj{Df}}}}{{{A`{l{Nn{A@b}}}}EdO`}{{Aj{Df}}}}{{}Hd}00000{{{A`{lA@b}}FjFh}Af}{{}c{}}00000000000{{{A`{lO`}}bO`}{{Aj{Df}}}}{{{A`{lOd}}b{A`{lOd}}Df}{{Aj{{Bj{DfDf}}}}}}``{{b{A`{Kd}}{A`{l{Jl{EdO`}}}}c}{{Nn{c}}}{}}{{{A`{Kd}}}O`}{{{A`{l{Nn{c}}}}{A`{Dd}}{A`{lO`}}}AjOb}`{{{A`{l{Nn{Ob}}}}{A`{lO`}}{A`{E`}}}Aj}{{{A`{l{Nn{A@`}}}}{A`{lO`}}{A`{E`}}}Aj}{{{A`{l{Nn{A@b}}}}{A`{lO`}}{A`{E`}}}Aj}{{{A`{lO`}}b{A`{E`}}}{{Aj{On}}}}`{{{A`{l{Nn{Ob}}}}{A`{O`}}}Af}{{{A`{l{Nn{A@`}}}}{A`{O`}}}Af}{{{A`{l{Nn{A@b}}}}{A`{O`}}}Af}{{{Nn{c}}{h{{A`{{Ej{Eh}}}}}}}AjOb}{{{A`{l{Nn{c}}}}{A`{Gj}}{A`{lO`}}}AjOb}`{{{A`{l{Nn{c}}}}{A`{Gl}}O`}{{Aj{{An{{Bj{O`Ed}}}}}}}Ob}{A`c{}}0{{}{{Ah{c}}}{}}00000{c{{Ah{e}}}{}{}}00000111111{A`Kh}00000{ce{}{}}00000{{ce}c{}{}}00000`{{}c{}}00000```````````````````{{A@dHd}A@d}{{A@fHd}A@f}{{{A`{lIl}}b{A`{A@h}}{h{{A`{{Ej{Eh}}}}}}}Aj}{{{A`{Bn}}e}{{A`{l{C`{c}}}}}{}{{Cb{}{{Bf{c}}}}}}{{{A`{Cd}}e}{{A`{l{C`{c}}}}}{}{{Cb{}{{Bf{c}}}}}}10{{{A`{Bn}}}{{A`{lc}}}{}}{{{A`{Cd}}}{{A`{lc}}}{}}01`{{{A`{A@j}}A@dOl}{{h{A@d}}}}{{{A`{lA@l}}{A`{lc}}EdA@n}Af{}}{{{A`{lA@l}}{A`{lc}}{A`{AA`}}AAb}Af{}}{{{A`{lA@l}}Ed{A`{AAd}}{A`{le}}}Af{}{{AAf{c}}}}{{{A`{lA@l}}{A`{lc}}{A`{AAh}}AAb}AAj{}}{A`{{A`{Nd}}}}00{A@dAAl}{A@fAAl}{A@dHd}{A@fHd}{{{A`{lAAn}}AB`ABb{A`{A@j}}}Af}`{A`{{A`{c}}}{}}00000000{{{A`{l}}}{{A`{lc}}}{}}00000000{{{A`{A@l}}{A`{A@h}}}c{}}{{{A`{lA@j}}A@d}Af}{{{A`{A@j}}A@d}{{`{{Bl{}{{Bf{A@d}}}}}}}}{{{A`{A@d}}}A@d}{{{A`{A@f}}}A@f}{{{A`{AAn}}}AAn}{{{A`{lAAn}}{A`{AAn}}}Af}{{A`{A`{lc}}}Af{}}00{A`Af}00{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}00000000{{{A`{{ABd{A@fc}}}}{h{{A`{{ABd{A@fc}}}}}}{A`{A@j}}{A`{lIf}}}Ih{ABfABh}}{{A@d{A`{Hn}}{A`{{ABd{A@fc}}}}{h{{A`{{ABd{A@fc}}}}}}{A`{A@j}}{A`{lIf}}}Ih{ABfABh}}{Hd{{A`{c}}}{}}00000000{Hd{{A`{lc}}}{}}00000000{HdAf}00000000{{{A`{A@d}}{A`{A@d}}}Df}{{{A`{A@f}}{A`{A@f}}}Df}{{{A`{AAn}}{A`{AAn}}}Df}{{A`{A`{Nd}}}Df}00{{A`{A`{c}}}Df{}}00000000000000{{{A`{A@h}}}{{ABl{ABj}}}}{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}00000000{{{A`{A@j}}AB`}{{h{A@d}}}}`{{{A`{lAAn}}AB`{A`{A@j}}}Af}{{{A`{lAAn}}AB`{A`{A@j}}{AC`{ABn}}}Af}{{{A`{A@j}}{A`{lIf}}}Ih}{{{A`{ACb}}{A`{lIf}}}Ih}{{{A`{A@d}}{A`{lIf}}}Ih}{{{A`{A@f}}{A`{lIf}}}Ih}{{{A`{AAn}}{A`{lIf}}}Ih}{{{A`{AAn}}{A`{AAn}}{A`{A@l}}{A`{lIf}}}Ih}{{{A`{AAn}}{A`{A@l}}{A`{lIf}}}Ih}`{{{A`{A@j}}AB`{A`{lc}}}Af{{ACd{A@f}}}}{{{A`{A@j}}c}Af{{ACd{A@dABj{A`{{C`{Ol}}}}}}}}{{{A`{A@j}}A@d{A`{l{An{Ol}}}}{A`{lc}}}Af{{ACd{A@d{A`{{C`{Ol}}}}}}}}{{{A`{A@j}}A@d{A`{lc}}}Af{{ACd{A@f}}}}{{{Ah{c}}}c{}}{cc{}}10100101101{AAlA@d}1{HdA@d}3{AAlA@f}3{HdA@f}45{{c{A`{Ij}}j}e{}{}}00000000{ACfA@d}{ACfA@f}646453{{{A`{AAn}}AB`{A`{A@j}}}{{AC`{ABn}}}}{{{A`{AAn}}A@d{A`{A@j}}}{{AC`{ABn}}}}{{{A`{AAn}}A@d{A`{A@j}}}{{h{{AC`{ABn}}}}}}{{{A`{A@l}}ACh{A`{ACj}}{A`{lAAn}}}Af}{{{A`{A@l}}A@n{A`{lAAn}}}Af}{{{A`{A@l}}{A`{AAd}}}{{h{A@d}}}}{{{A`{A@l}}{A`{ACh}}{A`{AAn}}}{{AC`{ABn}}}}{{{A`{A@l}}{A`{AA`}}{A`{lAAn}}}Af}{{{A`{A@l}}{A`{AAh}}{A`{lAAn}}}AAj}{{{A`{A@d}}{A`{lc}}}AfNh}{{{A`{A@f}}{A`{lc}}}AfNh}{A@dHd}0{A@fHd}0{{}Hd}00000000{{{A`{A@l}}{A`{A@h}}{A`{lc}}}Af{}}``{{{A`{lAAn}}A@dABb{A`{A@j}}}Af}{{{A`{lAAn}}A@dA@d{A`{A@j}}}Af}{{{A`{lAAn}}A@d{AC`{ABn}}{A`{A@j}}}Af}{{}c{}}000000000000000000{{{A`{lAAn}}{A`{AAn}}}Df}````{{{A`{A@j}}{h{{A`{{Ej{Eh}}}}}}}A@l}{{{A`{A@j}}{A`{lIl}}}ACl}{{{A`{A@j}}A@d}ACn}{{{A`{A@h}}}A@j}{{{h{Ol}}}ACb}{HdA@d}{HdA@f}{{{A`{lACn}}}{{h{c}}}{}}```````{{{A`{lA@j}}{A`{A@h}}{ABl{ABj}}}Af}{{{A`{lA@j}}A@dAD`{A`{l{ADb{{Bj{A@dOlAD`}}}}}}}Af}`{A`c{}}00{{}{{Ah{c}}}{}}00000000`{c{{Ah{e}}}{}{}}00000000111111111{A`Kh}00000000{ce{}{}}00000000{{ce}c{}{}}00000000```{{{A`{lACl}}{A`{c}}}Af{}}{{{A`{lACl}}{A`{l{ADd{A@l}}}}{A`{c}}{A`{AA`}}AAb}Af{}}{{{A`{lACl}}{A`{l{ADd{A@l}}}}{A`{c}}{A`{AAh}}AAb}Af{}}{{}c{}}00000000{{b{A`{ln}}Ab{A`{Hh}}d{A`{ADf}}Ad}{{Ah{Afj}}}}{{b{A`{ln}}Ab{A`{{C`{ADh}}}}{A`{Hh}}Ad}{{Ah{Afj}}}}``{A`{{A`{c}}}{}}{{{A`{l}}}{{A`{lc}}}{}}{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}{Hd{{A`{c}}}{}}{Hd{{A`{lc}}}{}}{HdAf}{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}{cc{}}{{{Ah{c}}}c{}}{{c{A`{Ij}}j}e{}{}}{{}Hd}={{ADjL`Lb}{{Ld{c}}}Lj}>`{{}{{Ah{c}}}{}}{c{{Ah{e}}}{}{}}1{A`Kh}{ce{}{}}{{ce}c{}{}}{{}c{}}````````{A`{{A`{c}}}{}}00{{{A`{l}}}{{A`{lc}}}{}}00{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}00{Hd{{A`{c}}}{}}00{Hd{{A`{lc}}}{}}00{HdAf}00{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}00{{{Ah{c}}}c{}}{cc{}}0101{{c{A`{Ij}}j}e{}{}}00{{}Hd}00;;;;;;{{Ef{A`{Hj}}{A`{Cf}}{A`{Hj}}{A`{Cf}}Df}ADl}{{{A`{{ADn{c}}}}{A`{c}}{AE`{{Bj{HjCf}}}}}ADl{ABhAEb}}{{Gn{A`{Hj}}{A`{Cf}}Df}ADl}{Df{{Ib{{A`{{AE`{{Bj{HjCf}}}}}}}{{H`{{h{ADl}}}}}}}}{{}{{Ib{{A`{{AE`{{Bj{HjCf}}}}}}}{{H`{{h{ADl}}}}}}}}0000000010100001`````{{}{{Ah{c}}}{}}00{c{{Ah{e}}}{}{}}00111{A`Kh}00{ce{}{}}00{{ce}c{}{}}00{{}c{}}00``{A`{{A`{Nd}}}}`{A`{{A`{c}}}{}}0{{{A`{l}}}{{A`{lc}}}{}}0{{{A`{AEd}}{A`{AEd}}}AEf}{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}0{{A`{A`{c}}}AEf{}}0{Hd{{A`{c}}}{}}0{Hd{{A`{lc}}}{}}0``{HdAf}0{{Hd{A`{{Hl{Ed}}}}}AEh}{{{A`{AEd}}{A`{AEd}}}Df}{{A`{A`{Nd}}}Df}{{A`{A`{c}}}Df{}}0000{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}0{cc{}}{{{Ah{c}}}c{}}01{{c{A`{Ij}}j}e{}{}}0`{{}Hd}0{{{A`{lAEh}}Ed}Df}{{}c{}}000{{{A`{AEd}}{A`{AEd}}}{{h{AEf}}}}{{{A`{lAEh}}}{{h{Ed}}}}`{{}{{Ah{c}}}{}}0{c{{Ah{e}}}{}{}}011{A`Kh}0{ce{}{}}0{{ce}c{}{}}077```````````{{{A`{lDb}}ABj}Af}{{{A`{lDb}}ABjCj}Af}{{{A`{lDb}}{A`{lAEj}}{A`{E`}}Cj}{{Ah{AfKj}}}}```{A`{{A`{c}}}{}}00{{{A`{lDb}}{A`{lAEj}}AElAEn{A`{E`}}}{{Ah{CjKj}}}}11{{{A`{l}}}{{A`{lc}}}{}}0000{{Db{A`{lAEj}}{A`{Jj}}Ed}{{Ah{AfKj}}}}{{{A`{Db}}}Db}{{A`{A`{lc}}}Af{}}{A`Af}{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}0000``{{}Db}{BbAF`}00{Hd{{A`{c}}}{}}0000{Hd{{A`{lc}}}{}}0000{{{A`{lDb}}{A`{lAEj}}{A`{E`}}OhAd}{{Ah{AfKj}}}}{HdAf}0000{{{A`{AFb}}{A`{AFd}}}Db}{{{A`{Jj}}{A`{lIn}}{A`{AFd}}}Db}{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}0000{{{A`{AFb}}{A`{AF`}}{A`{lIf}}}Ih}{{{A`{AFb}}{A`{lIf}}}Ih}{{{A`{Jj}}{A`{AF`}}{A`{lIf}}}Ih}{{{A`{Jj}}{A`{lIf}}}Ih}{{{A`{Db}}{A`{lIf}}}Ih}{{{A`{Db}}{A`{AF`}}{A`{lIf}}}Ih}{{{A`{AFf}}{A`{lIf}}}Ih}{{{A`{lDb}}{A`{lAEj}}{A`{E`}}}{{Ah{AfKj}}}}{{{Ah{c}}}c{}}{cc{}}10101010{{c{A`{Ij}}j}e{}{}}0000{{{A`{Db}}{A`{AFh}}}Cj}{{}Hd}0000{{}c{}}0000{{AFb{A`{lJh}}}Jj}{{DbAFj}{{Ah{AFbKj}}}}22222{{{A`{lAFb}}Db}{{Ah{DfKj}}}}{{{A`{AFb}}{A`{Hj}}{A`{Hj}}}Hj}{{{A`{AFb}}{A`{El}}{A`{El}}}El}{{{A`{AFb}}{A`{Cf}}{A`{Cf}}{A`{AFl}}{A`{l{An{AFl}}}}}Cf}{{{A`{AFb}}{A`{Cj}}{A`{Cj}}}Cj}`{{{A`{lDb}}{A`{lAEj}}{A`{E`}}}{{Ah{CjKj}}}}{{{A`{Db}}b{A`{E`}}}{{Aj{F`}}}}1{{AFjDb}{{Ah{AFbKj}}}}{{{A`{lD`}}{A`{Kd}}{A`{AFn}}Df}Db}{{{A`{AFj}}{A`{Hj}}}Hj}{{{A`{AFj}}{A`{El}}}El}{{{A`{AFj}}{A`{Cj}}}Cj}``{{{A`{lDb}}{A`{lAEj}}AG`AEl{A`{AFh}}AGb}{{Ah{CjKj}}}}{{{A`{lDb}}{A`{lAEj}}{A`{E`}}}{{Ah{AfKj}}}}{{{A`{lDb}}{A`{AGd}}}Af}{{{A`{Jj}}}{{A`{AFj}}}}``{A`c{}}{{}{{Ah{c}}}{}}0000{{{A`{AFf}}{A`{lc}}}{{Ah{AFf}}}AGf}{c{{Ah{e}}}{}{}}000022222{A`Kh}0000{{{A`{lDb}}{A`{lIn}}{A`{E`}}Df}Af}{{{A`{lDb}}{A`{lD`}}{A`{E`}}Ad}{{Ah{AfKj}}}}{{{A`{lDb}}{A`{lD`}}Df}Af}{ce{}{}}0000{{ce}c{}{}}0000{{{A`{lAFb}}{A`{AFh}}Cj}Af}{{{A`{lDb}}{A`{AFh}}Cj}Af}{{{A`{AFf}}{A`{lc}}}AGhAGj}{{}c{}}0000``````````````````{A`{{A`{Nd}}}}`{{AGlCj}Cj}{A`{{A`{c}}}{}}00000000{{{A`{l}}}{{A`{lc}}}{}}00000000{{{A`{lAGn}}{A`{AFh}}}Af}{{{A`{lAH`}}{A`{AFh}}}Af}`{{{A`{AHb}}}AHb}{{{A`{AHd}}}AHd}{{{A`{AHf}}}AHf}{{A`{A`{lc}}}Af{}}00{A`Af}00{{ei}g{}{{Bl{}{{Bf{c}}}}}{}{{Hb{{A`{{C`{c}}}}}{{H`{g}}}}}}00000000```{{{A`{AHb}}{A`{c}}}AH`AHh}{{}AHb}{BbAF`}{Hd{{A`{c}}}{}}000{{{A`{lAGn}}{A`{Cj}}}{{Ah{CjKj}}}}{{{AHj{c}}{A`{Cj}}}Cj{{Hb{AH`{A`{Cj}}}{{H`{Cj}}}}}}22222{Hd{{A`{lc}}}{}}00000000{{{A`{lD`}}{A`{Hh}}{A`{{C`{El}}}}Oh{A`{Cf}}}{{Ah{{An{Cj}}Kj}}}}{{{A`{lAGn}}{A`{Cj}}Oh}{{Ah{CjKj}}}}{{{A`{lD`}}{A`{Hh}}Oh{A`{{C`{El}}}}{A`{Cf}}}{{Ah{{An{Cj}}Kj}}}}{{{A`{D`}}{A`{Hh}}{A`{{C`{El}}}}{A`{Cf}}}{{Ah{{An{Cj}}Kj}}}}{{{A`{lAHl}}{A`{Hh}}{A`{{C`{El}}}}{A`{Cf}}}{{Ah{{An{Cj}}c}}}{}}{{{A`{lAHn}}{A`{Hh}}{A`{{C`{El}}}}{A`{Cf}}}{{Ah{{An{Cj}}c}}}{}}{{{A`{lAI`}}{A`{Hh}}{A`{{C`{El}}}}{A`{Cf}}}{{Ah{{An{Cj}}AIb}}}}{HdAf}00000000{{{A`{AHf}}{A`{AHf}}}Df}{{A`{A`{Nd}}}Df}{{A`{A`{c}}}Df{}}0000{{{A`{lAGn}}{A`{Cj}}Ol}{{Ah{CjKj}}}}{{{AHj{c}}{A`{Cj}}Ol}Cj{{Hb{AH`{A`{Cj}}}{{H`{Cj}}}}}}{{{A`{Hn}}}{{Id{c{Ib{I`}{{H`{Df}}}}}}}{}}00000000{AHb{{An{{Bj{AFhAHfCj}}}}}}{{{A`{lAHb}}c}Af{{ACd{{A`{Cj}}}{{H`{Cj}}}}}}{{{A`{AH`}}{A`{lIf}}}Ih}{{{A`{AHb}}{A`{AF`}}{A`{lIf}}}Ih}{{{A`{AHb}}{A`{lIf}}}Ih}{{{A`{AHd}}{A`{lIf}}}Ih}{{{A`{AHf}}{A`{AF`}}{A`{lIf}}}Ih}{{{A`{AHf}}{A`{lIf}}}Ih}{{{A`{lAHb}}{A`{lAEj}}{A`{Cj}}Df}{{Ah{CjKj}}}}{{AGl{A`{lAEj}}}{{Ah{CjKj}}}}{{{AHj{c}}{A`{{C`{Cj}}}}Ol}{{AId{Cj}}}{{Hb{AH`{A`{Cj}}}{{H`{Cj}}}}}}{{{AHj{c}}{A`{Cj}}}Cj{{Hb{AH`{A`{Cj}}}{{H`{Cj}}}}}}{cc{}}{{{Ah{c}}}c{}}1010010101011001{{c{A`{Ij}}j}e{}{}}00000000{{{A`{AHb}}{A`{AFh}}}Cj}{{{A`{AHb}}{A`{ABn}}}{{A`{AHd}}}}{{{A`{lAHb}}{A`{ABn}}}{{A`{lAHd}}}}``{{{A`{lAGn}}{A`{Cj}}}{{Ah{AfKj}}}}`{{}Hd}00000000{{{A`{lAHb}}ABnE`AHfCj}Af}`{{}c{}}00000000000000000`{{{A`{AH`}}}Df}`{{{A`{AHb}}}{{`{{Bl{}{{Bf{{Bj{{A`{ABn}}{A`{AHd}}}}}}}}}}}}{{{A`{AHb}}c}Af{{ACd{AFh{A`{AHf}}{A`{Cj}}}}}}`{{{A`{AHh}}}ABn}``{{{A`{lAHb}}{A`{c}}}AGlAHh}{{{A`{lAHb}}{A`{c}}e}{{Ah{AGl}}}AHhAHl}{{{A`{lAHb}}{A`{lD`}}{A`{c}}}{{Ah{AGlKj}}}AHh}`{{{A`{lD`}}AH`Ad}AGn}{{AH`c}{{AHj{c}}}{{Hb{AH`{A`{Cj}}}{{H`{Cj}}}}}}{{{A`{c}}E`}AH`AHh}`{{{A`{lAH`}}}{{h{AIf}}}}{{{A`{AGl}}}AFh}{{{A`{AHb}}{A`{AFh}}}E`}{{{A`{AHb}}}{{An{AFh}}}}```{{{A`{AHh}}}{{`{{AIh{}{{Bf{AIf}}}}}}}}`{{{A`{lAHb}}{A`{ABn}}}AHd}{{{A`{lAH`}}}Af}{{AGn{A`{lAHb}}}{{Ah{AfKj}}}}{{{A`{lAGn}}}Df}{{bBd}{{Ah{{Ej{{AIl{AIj}}}}Kj}}}}{A`c{}}00{{{A`{AH`}}}AFh}{{{A`{AH`}}}E`}{{}{{Ah{c}}}{}}00000000{{{A`{lAHb}}e}{{Ah{Afc}}}{}{{ACd{{A`{Cj}}}{{H`{{Ah{Cjc}}}}}}}}{{{A`{lAGn}}{A`{Cj}}}{{Ah{CjKj}}}}{{{A`{AHb}}{A`{lc}}}{{Ah{AHb}}}AGf}{c{{Ah{e}}}{}{}}00000000444444444``{A`Kh}00000000{{AGl{A`{lIn}}Df}Af}4{{{A`{lAHb}}{A`{lD`}}{A`{c}}Ad}{{Ah{AfKj}}}AHh}{{{A`{lAGn}}{A`{Cj}}{A`{Cj}}}ABn}{{{A`{lAGn}}{A`{AFh}}{A`{Cj}}}Af}{{{A`{lAHl}}{A`{Cj}}}Cj}{{{A`{lAHn}}{A`{Cj}}}Cj}{{{A`{lAI`}}{A`{Cj}}}Cj}{{{A`{lAGn}}{A`{Cj}}}Cj}0{ce{}{}}00000000{{ce}c{}{}}00000000{{AGlCj}Cj}{{{A`{lAHb}}AH`c}Af{{Hb{AH`{A`{Cj}}}{{H`{Cj}}}}}}{{{A`{AHb}}{A`{lc}}}AGhAGj}{{}c{}}00000000","D":"BCb","p":[[5,"GlobalEnv",1938],[5,"Span",1939],[5,"ESpan",1940],[6,"Option",1941],[5,"ErrorGuaranteed",1942],[0,"mut"],[5,"QueryCache",1943],[1,"reference"],[6,"MaybeExternId",1944],[5,"CheckerConfig",17],[1,"unit"],[6,"Result",1945],[8,"QueryResult",1946],[5,"Tag",1947],[5,"Vec",1948],[5,"LocalDefId",1949],[5,"TyCtxt",1950],[5,"DefId",1949],[17,"Item"],[5,"Clause",1951],[1,"tuple"],[10,"Iterator",1952],[5,"Arena",1953],[1,"slice"],[10,"IntoIterator",1954],[5,"Arena",1955],[5,"Expr",1940],[6,"IntTy",1956],[5,"Ty",1957],[6,"UintTy",1956],[5,"Checker",17],[5,"InferCtxt",1947],[5,"TypeEnv",1454],[6,"Operand",1958],[1,"bool"],[6,"AssertKind",1958],[6,"Guard",17],[5,"CheckerError",263],[10,"Mode",17],[5,"Place",1958],[5,"SourceInfo",1959],[5,"BasicBlock",1959],[6,"BinOp",1958],[8,"PolyFnSig",1957],[5,"EarlyBinder",1960],[6,"GenericArg",1957],[6,"CastKind",1958],[5,"Ty",1961],[5,"Snapshot",1962],[5,"Clause",1957],[6,"Constant",1958],[6,"GhostStatement",603],[6,"Point",603],[5,"ShapeMode",17],[5,"RefineMode",17],[5,"SwitchTargets",1963],[6,"NullOp",1958],[5,"FnTraitPredicate",1957],[5,"CoroutineObligPredicate",1957],[6,"Rvalue",1958],[5,"Statement",1958],[5,"Terminator",1958],[6,"UnOp",1963],[17,"Output"],[10,"FnOnce",1964],[1,"usize"],[8,"FxHashSet",1965],[5,"AdtDef",1957],[6,"BaseTy",1957],[5,"Dominators",1966],[1,"str"],[5,"DataRequest",1967],[1,"fn"],[5,"RequestFilterDataProvider",1968],[5,"Formatter",1969],[8,"Result",1969],[5,"CycleError",1970],[5,"GhostStatements",603],[5,"RefineCtxt",1962],[5,"Generics",1957],[8,"GenericArgs",1961],[1,"u64"],[5,"ShapeResult",17],[5,"KVarGen",1971],[5,"BasicBlockEnv",1454],[8,"FxHashMap",1965],[5,"UnordMap",1972],[5,"Inherited",17],[5,"RefineTree",1962],[5,"Body",1958],[5,"IndexVec",1973],[5,"TypeId",1974],[6,"CheckerErrKind",263],[6,"InferErr",1947],[6,"QueryErr",1946],[5,"DiagCtxtHandle",1975],[6,"Level",1975],[5,"Diag",1976],[10,"ResultExt",263],[5,"ConditionSpanNote",319],[10,"EmissionGuarantee",1976],[25,"SubdiagMessageOp",1976],[5,"CallSpanNote",319],[5,"RefineError",319],[5,"GotoError",319],[5,"AssignError",319],[5,"DivError",319],[5,"RemError",319],[5,"AssertError",319],[5,"FoldError",319],[5,"OverflowError",319],[5,"UnknownError",319],[5,"ExpectedNeg",319],[10,"Any",1974],[5,"StatementsAt",603],[10,"Hasher",1977],[8,"Result",1978],[10,"Write",1979],[5,"FoldUnfoldAnalysis",732],[5,"Env",732],[10,"Mode",732],[6,"PlaceNode",732],[5,"AdtDef",1961],[5,"VariantIdx",1980],[5,"PlaceRef",1958],[5,"FieldIdx",1980],[6,"ProjResult",732],[5,"Infer",732],[5,"Elaboration",732],[5,"PlaceIndex",927],[5,"ValueIndex",927],[5,"Body",1959],[5,"Map",927],[5,"PointsToAnalysis",927],[6,"CallReturnPlaces",1981],[5,"Statement",1982],[5,"Location",1959],[6,"Operand",1963],[10,"SwitchIntEdgeEffects",1983],[5,"Terminator",1981],[6,"TerminatorEdges",1981],[1,"u32"],[5,"State",927],[5,"PlaceRef",1982],[6,"PlaceOrValue",927],[5,"IndexSlice",1984],[10,"Debug",1969],[10,"Eq",1985],[5,"Local",1959],[5,"BitSet",1986],[6,"Loc",1940],[6,"FlatSet",1987],[5,"PlaceInfo",927],[10,"FnMut",1964],[1,"u16"],[5,"Place",1963],[6,"Rvalue",1963],[5,"CollectPointerToBorrows",927],[5,"Children",927],[5,"Ty",1988],[5,"VecDeque",1989],[5,"Results",1990],[5,"Invariant",1957],[5,"Expr",1991],[5,"Invalid",1275],[5,"MatchedRule",1298],[5,"RuleTable",1298],[1,"array"],[10,"Hash",1977],[5,"Item",1392],[6,"Ordering",1985],[5,"WorkQueue",1392],[5,"InferCtxtAt",1947],[6,"Region",1961],[6,"Mutability",1992],[5,"PrettyCx",1993],[5,"BasicBlockEnvShape",1454],[8,"LocalDecls",1958],[5,"BasicBlockEnvData",1454],[5,"Path",1940],[5,"Scope",1962],[6,"Sort",1957],[5,"FnSig",1957],[6,"ConstrReason",1947],[6,"PtrToRefBound",1454],[5,"EVarSol",1994],[10,"FallibleTypeFolder",1995],[6,"ControlFlow",1996],[10,"TypeVisitor",1995],[5,"LookupResult",1626],[5,"Unfolder",1626],[5,"Cursor",1626],[5,"PlacesTree",1626],[5,"Binding",1626],[6,"LocKind",1626],[10,"LookupKey",1626],[5,"Updater",1626],[10,"LookupMode",1626],[5,"Unfold",1626],[5,"NoUnfold",1626],[1,"never"],[8,"List",1997],[6,"PlaceElem",1958],[10,"DoubleEndedIterator",1998],[5,"VariantSig",1957],[5,"Binder",1960],[8,"Result",17],[8,"Results",927],[5,"Pre",1298],[8,"Result",1454],[8,"CheckerResult",1626]],"r":[[0,17]],"b":[[288,"impl-From%3CInferErr%3E-for-CheckerErrKind"],[289,"impl-From%3CQueryErr%3E-for-CheckerErrKind"],[1101,"impl-From%3Cu32%3E-for-PlaceIndex"],[1103,"impl-From%3Cusize%3E-for-PlaceIndex"],[1105,"impl-From%3Cu32%3E-for-ValueIndex"],[1107,"impl-From%3Cusize%3E-for-ValueIndex"],[1138,"impl-PlaceIndex"],[1139,"impl-Idx-for-PlaceIndex"],[1140,"impl-ValueIndex"],[1141,"impl-Idx-for-ValueIndex"],[1520,"impl-Pretty-for-BasicBlockEnvShape"],[1521,"impl-Debug-for-BasicBlockEnvShape"],[1522,"impl-Pretty-for-BasicBlockEnv"],[1523,"impl-Debug-for-BasicBlockEnv"],[1524,"impl-Debug-for-TypeEnv%3C\'_%3E"],[1525,"impl-Pretty-for-TypeEnv%3C\'_%3E"],[1749,"impl-Pretty-for-PlacesTree"],[1750,"impl-Debug-for-PlacesTree"],[1752,"impl-Pretty-for-LocKind"],[1753,"impl-Debug-for-LocKind"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHkGdwABAAAAAwAFAAoACQAYAAEAHQACACEAKgBNAAkAWAAHAGcAAgBrACMAkAAAAJIAAQCVAAAAmAABAJwABwClAAEAqQALALwADQDLAAUA0gBAABUBCQAhAQYAKgE9AHQBMgCpAQAAqwEBAK8BAQCyAQAAtAEAALYBAAC4AQAAuwEAAL0BGADiAXkAXgIBAGECAgBlAhkAgwIbAKACAACiAgAApAIAAKYCCwC2AgUAvQJHAAsDKQA2AwAAOAMAADoDAQA+AwAAQAMSAFkDSACnAwAArAMAAK4DAQCzAwsAwAMGAMwDEwDiAwkA9QMxACgECAAzBAkAPgQBAEEEAABDBAAARQQAAEgEAABKBAEATQQBAFAEAgBUBAAAVgQJAGsEBABxBAEAdAQAAHYEDACPBBEAogQEAKgEAgCsBAAArwQ7AOwEEgAABQMABQUCAAkFFwAkBQwAMwUAADUFBgA/BQUAVwUiAHwFEwCRBQEAlAUFAJwFFQCzBQEAtgUFAL0FBQDEBQoA1AUlAPsFAAD9BQAA/wUAAAEGAAADBgoAEwYGABsGDgArBjMAYAYGAGgGJQCXBhsAtQYpAOAGAADiBgAA5AYBAOcGAADpBgAA6wYAAO4GAQDxBhoAFQd9AA=="}],\ ["flux_rs",{"t":"XXCXQXQXXXXXXXXXXHHHHHHHHQHHHHHHH","n":["alias","assoc","attr_dummy","constant","defs","extern_spec","flux","generics","ignore","invariant","opaque","qualifiers","refined_by","should_fail","sig","spec","trusted","alias","assoc","constant","defs","extern_spec","generics","ignore","invariant","no_op","opaque","qualifiers","refined_by","should_fail","sig","spec","trusted"],"q":[[0,"flux_rs"],[17,"flux_rs::attr_dummy"],[33,"proc_macro"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":"`````````````````{{bb}b}00{bb}1111`1111111","D":"`","p":[[5,"TokenStream",33]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACEAAQAAACEA"}],\ ["flux_rustc_bridge",{"t":"JRKCHCCMCHHHHHKFRFFNNNNNNNNNNNNNNNNNNNNNNOONNNNCNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNHNNNNNNONHHONOOOONNNNNHNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONNNNNNNNONNNNNNNNPPPGPPPPPGPPFFGPPPPPFPFGPPFPGPPPGPPPPPPPPPPPPPPPPSPGPGPPPFPPPPPPPPPPPFPPPPPPPFFIGFPPPPPPPGPPGPPGPPFGPFPGPPPPTSPPPPPPPGSPPPPPPPFFGPPPFPPFGPPGPPPPPGPPFGFPONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNOOONOOONONNNNNNNNNNHNNHOOOOOOOOONNNNNNNNNNNNNOHONOOOONOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPFFPGFPPFPFGFGPPPPPFGPFFFPPPGFPFFPFPFFPGFFPPPPSFFPGPPFPGIKFGFFPPPPPPGPGPFPPPIPGPPPFPPFIIIPPPFPPPPPPPPGPFFPPPPFFPFPGFPPIPPPPPPGPFPGPPFFONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNONONOOONOOOOOOOONNNNNNNNNNNNNNHNOOOONNONNNNNNNNNNNNNNCNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOKM","n":["DEFAULT_LOCALE_RESOURCE","T","ToRustc","const_eval","def_id_to_string","lowering","mir","to_rustc","ty","scalar_to_bits","scalar_to_int","scalar_to_uint","size_of_int_ty","size_of_uint_ty","Lower","MirLoweringCtxt","R","UnsupportedErr","UnsupportedReason","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","decode","deref","deref","deref","deref_mut","deref_mut","deref_mut","descr","descr","drop","drop","drop","encode","errors","filterable","filterable","filterable","fmt","fmt","from","from","from","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","init","init","init","into","into","into","into_diag_arg","into_err","into_query_param","into_query_param","into_query_param","lower","lower_aggregate_kind","lower_assert_msg","lower_basic_block_data","lower_bin_op","lower_cast_kind","lower_constant","lower_local_decl","lower_mir_body","lower_null_op","lower_operand","lower_place","lower_pointer_coercion","lower_rvalue","lower_statement","lower_terminator","new","new","param_env","resolve_call","resolve_call_query","resolve_trait_ref_impl_id","rustc_mir","scalar_int_to_constant","selcx","sess","span","tcx","to_owned","to_owned","to_result","to_result","to_result","trait_ref_impl_id","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","vzip","vzip","vzip","with_span","UnsupportedLocalDecl","UnsupportedMir","borrow","borrow","borrow_mut","borrow_mut","collect_and_apply","collect_and_apply","deref","deref","deref_mut","deref_mut","drop","drop","filterable","filterable","from","from","from","from","from","from","from_cycle_error","from_cycle_error","init","init","into","into","into_diag","into_diag","into_query_param","into_query_param","kind","new","new","reason","span","span","statement","terminator","to_result","to_result","try_from","try_from","try_into","try_into","ty","type_id","type_id","upcast","upcast","upcast_from","upcast_from","vzip","vzip","Add","Adt","Aggregate","AggregateKind","AlignOf","Arg","Array","AscribeUserType","Assert","AssertKind","Assign","Assume","BasicBlock","BasicBlockData","BinOp","BinaryOp","BitAnd","BitOr","BitXor","Bivariant","Body","Bool","BorrowData","BorrowKind","BoundsCheck","Call","CallArgs","Cast","CastKind","Char","Cleanup","Closure","Constant","Constant","ConstantIndex","Continue","Contravariant","Copy","Coroutine","CoroutineDrop","Covariant","Deep","Deref","Discriminant","Div","DivisionByZero","Downcast","Drop","Eq","FIRST_VARIANT","Fake","FakeBorrowKind","FakeRead","FakeReadCause","FalseEdge","FalseUnwind","Field","FieldIdx","Float","FloatToInt","ForGuardBinding","ForIndex","ForLet","ForMatchGuard","ForMatchedPlace","Ge","Goto","Gt","Index","Instance","Int","IntToFloat","IntToInt","Intrinsic","Invariant","Le","Len","Local","LocalDecl","LocalDecls","LocalKind","Location","Lt","Move","Mul","Mut","MutToConstPointer","Ne","Neg","NonDivergingIntrinsic","Nop","Not","NullOp","NullaryOp","Opaque","Operand","Overflow","Param","Place","PlaceElem","PlaceMention","PlaceRef","Pointer","PointerCast","PointerExposeProvenance","PointerWithExposedProvenance","PtrMetadata","PtrToPtr","RETURN","RETURN_PLACE","RawPtr","Ref","Rem","RemainderByZero","Repeat","Return","ReturnPointer","Rvalue","START_BLOCK","SetDiscriminant","Shallow","ShallowInitBox","Shared","Shl","Shr","SizeOf","SourceInfo","Statement","StatementKind","Str","Sub","SwitchInt","SwitchTargets","Temp","Terminate","Terminator","TerminatorKind","Tuple","Uint","UnOp","UnaryOp","Unit","Unreachable","Unreachable","Unsize","UnwindAction","UnwindResume","Use","UserTypeAnnotationIndex","Variance","VariantIdx","Yield","activation_location","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args_iter","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_ref","assigned_place","basic_blocks","block","body_with_facts","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_data","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrowed_place","calculate_borrows_out_of_scope_at_location","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","decode","decode","def_id","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","dominators","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","fake_predecessors","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","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_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","hash","hash","hash","hash","impl_f","infcx","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inner","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_cleanup","is_join_point","is_nop","is_return","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","kind","kind","kind","last_projection","local","local","local_decls","local_kind","lowered","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","mk_fake_predecessors","new","new","opt_bb_to_str","orig","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","projection","projection","raw","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","region","replicate_infer_ctxt","reserve_location","rustc_body","scope","source_info","source_info","source_info","span","span","statement_index","statements","targets","terminator","terminator_loc","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_place","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_string","truncate","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","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","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","values","vars_and_temps_iter","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","kind","from_end","min_length","offset","args","cond","destination","discr","drop","expected","func","generic_args","imaginary_target","msg","place","real_target","real_target","resolved_call","resume","resume_arg","target","target","target","target","targets","unwind","unwind","unwind","value","Adt","AdtDef","AdtDefData","Alias","AliasKind","AliasTy","Array","AutoTrait","Binder","Bool","BoundRegion","BoundRegionKind","BoundVar","BoundVariableKind","BrAnon","BrEnv","BrNamed","Branch","Char","Clause","ClauseKind","Closure","ClosureArgs","ClosureArgsParts","Const","Const","Const","ConstArgHasType","ConstKind","ConstVid","Coroutine","CoroutineArgs","CoroutineArgsParts","CoroutineWitness","DebruijnIndex","Dynamic","EarlyBinder","EarlyParamRegion","EffectVar","ExistentialPredicate","ExistentialProjection","ExistentialTraitRef","F128","F16","F32","F64","FIRST_VARIANT","FieldDef","FieldIdx","Float","FloatTy","FnDef","FnPtr","FnSig","Fresh","GenericArg","GenericArgs","GenericArgsExt","GenericParamDef","GenericParamDefKind","GenericPredicates","Generics","I128","I16","I32","I64","I8","Infer","InferConst","Int","IntTy","Isize","LateParamRegion","Leaf","Lifetime","Lifetime","List","Mut","Mutability","Never","Not","Opaque","OutlivesPredicate","Param","Param","ParamTy","PolyExistentialPredicate","PolyFnSig","PolyTraitRef","Projection","Projection","Projection","ProjectionPredicate","RawPtr","ReBound","ReEarlyParam","ReErased","ReLateParam","ReStatic","ReVar","Ref","Region","Region","RegionVid","ScalarInt","Slice","Str","Trait","Trait","TraitPredicate","TraitRef","Tuple","Ty","Ty","TyKind","TyS","Type","TypeOutlives","TypeOutlivesPredicate","U128","U16","U32","U64","U8","Uint","UintTy","Unevaluated","UnevaluatedConst","Usize","ValTree","Value","Var","VariantDef","VariantIdx","abi","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_from_iter","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","allocate_on","args","args","args","args","args","args","args","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_closure","as_closure","as_coroutine","as_coroutine","as_ref","bind_with_vars","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","bound_region","box_args","box_args","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_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","closure_kind_ty","closure_sig_as_fn_ptr_ty","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","collect_and_apply","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","compare","data","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","decode","def","def_id","def_id","def_id","def_id","def_id","def_id","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","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","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","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","did","did","did","discriminants","discrs","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","encode","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","equals","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","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","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","error_reported","expect_adt","expect_const","expect_lifetime","expect_type","fields","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","filterable","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","fingerprint_style","flags","flags","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","from","from","from","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_cycle_error","from_usize","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_type_flags","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","has_vars_bound_at_or_above","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","index","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","inputs","inputs_and_output","instantiate_identity","intern","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","into_query_param","is_box","is_box","is_enum","is_host_effect","is_mut_ref","is_struct","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_suggestable","is_union","kind","kind","kind","kind","kind","kind","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","make_suggestable","mk_adt","mk_alias","mk_array","mk_bool","mk_char","mk_closure","mk_coroutine","mk_dynamic","mk_float","mk_fn_def","mk_fn_ptr","mk_generator_witness","mk_int","mk_never","mk_param","mk_raw_ptr","mk_ref","mk_slice","mk_str","mk_tuple","mk_uint","name","name","name","name","name","new","new","new","non_enum_variant","orig","output","params","parent","parent","parent_args","parent_args","parent_count","predicates","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","private_use_as_methods_instead","projection_ty","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","recover","region_to_string","resume_ty","resume_ty","return_ty","safety","scope","self_ty","self_ty","size","skip_binder","skip_binder","skip_binder_ref","split","split","storage","storage","storage","storage","storage","storage","storage","storage","storage","subst","subst","subst","subst","subst","subst","subst","subst","subst","subst","subst","subst","subst","term","term","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_debug_str","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_fingerprint","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_result","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_rustc","to_string","to_string","trait_ref","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_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","tuple_fields","tupled_upvars_ty","tupled_upvars_ty","tupled_upvars_ty","tupled_upvars_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","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upcast_from","upvar_tys","upvar_tys","var","variant","variants","variants","vars","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness","yield_ty","has_default","has_default","is_host_effect","Subst","subst"],"q":[[0,"flux_rustc_bridge"],[9,"flux_rustc_bridge::const_eval"],[14,"flux_rustc_bridge::lowering"],[126,"flux_rustc_bridge::lowering::errors"],[181,"flux_rustc_bridge::mir"],[1528,"flux_rustc_bridge::mir::BorrowKind"],[1529,"flux_rustc_bridge::mir::PlaceElem"],[1532,"flux_rustc_bridge::mir::TerminatorKind"],[1557,"flux_rustc_bridge::ty"],[3721,"flux_rustc_bridge::ty::GenericParamDefKind"],[3724,"flux_rustc_bridge::ty::subst"],[3726,"rustc_span::def_id"],[3727,"alloc::string"],[3728,"rustc_middle::ty::context"],[3729,"rustc_middle::ty::consts::int"],[3730,"rustc_middle::ty"],[3731,"core::option"],[3732,"rustc_type_ir::ty_kind"],[3733,"rustc_abi"],[3734,"core::iter::traits::iterator"],[3735,"core::ops::function"],[3736,"rustc_span"],[3737,"icu_provider::request"],[3738,"icu_provider_adapters::filter"],[3739,"core::fmt"],[3740,"core::result"],[3741,"rustc_query_system::query::plumbing"],[3742,"rustc_errors::diagnostic"],[3743,"rustc_middle::mir::syntax"],[3744,"rustc_middle::mir"],[3745,"flux_errors"],[3746,"rustc_borrowck::consumers"],[3747,"rustc_middle::ty::adjustment"],[3748,"rustc_middle::mir::statement"],[3749,"rustc_middle::mir::terminator"],[3750,"rustc_middle::ty::generic_args"],[3751,"rustc_trait_selection::traits::select"],[3752,"rustc_middle::ty::predicate"],[3753,"core::any"],[3754,"rustc_span::span_encoding"],[3755,"rustc_errors"],[3756,"rustc_hir"],[3757,"core::iter::traits::collect"],[3758,"rustc_middle::arena"],[3759,"core::iter::traits::exact_size"],[3760,"rustc_borrowck::dataflow"],[3761,"rustc_borrowck::borrow_set"],[3762,"alloc::vec"],[3763,"rustc_data_structures::fx"],[3764,"core::cmp"],[3765,"rustc_type_ir::codec"],[3766,"rustc_data_structures::graph::dominators"],[3767,"rustc_query_system::dep_graph"],[3768,"rustc_type_ir::flags"],[3769,"rustc_type_ir"],[3770,"core::hash"],[3771,"rustc_index::vec"],[3772,"rustc_infer::infer"],[3773,"rustc_query_system::dep_graph::dep_node"],[3774,"rustc_data_structures::fingerprint"],[3775,"flux_arc_interner"],[3776,"core::convert"],[3777,"core::clone"],[3778,"rustc_serialize::serialize"],[3779,"rustc_target::abi"],[3780,"rustc_middle::ty::adt"],[3781,"rustc_middle::ty::sty"],[3782,"rustc_ast_ir"],[3783,"rustc_type_ir::visit"],[3784,"rustc_middle::ty::list"],[3785,"rustc_index::slice"],[3786,"rustc_middle::ty::typeck_results"],[3787,"rustc_middle::ty::region"],[3788,"rustc_type_ir::const_kind"],[3789,"rustc_type_ir::region_kind"]],"i":[0,4,0,0,0,0,0,4,0,0,0,0,0,0,0,0,39,0,0,40,16,17,40,16,17,16,17,16,17,16,17,40,16,17,17,40,16,17,40,16,17,16,17,40,16,17,17,0,40,16,17,16,17,40,40,16,16,17,17,40,16,17,40,16,17,40,16,17,16,16,40,16,17,39,40,40,40,40,40,40,40,40,40,40,0,40,40,40,40,16,17,40,40,0,0,40,40,40,40,17,40,16,17,40,16,17,0,40,16,17,40,16,17,40,16,17,40,16,17,40,16,17,40,16,17,17,0,0,82,81,82,81,82,81,82,81,82,81,82,81,82,81,82,82,81,81,81,81,82,81,82,81,82,81,82,81,82,81,81,82,81,81,82,81,81,81,82,81,82,81,82,81,82,82,81,82,81,82,81,82,81,48,42,67,0,59,114,42,109,107,0,109,108,0,0,0,67,48,48,48,180,0,52,0,0,44,107,0,67,0,52,181,42,0,61,99,181,180,61,42,107,180,182,99,67,48,44,99,107,48,0,183,0,109,0,107,107,99,0,52,50,184,184,184,184,184,48,107,48,99,0,52,50,50,109,180,48,67,0,0,0,0,0,48,61,48,183,65,48,185,0,109,185,0,67,52,0,44,52,0,0,109,0,50,0,50,50,185,50,63,0,67,67,48,44,67,107,114,0,0,109,182,67,183,48,48,59,0,0,0,52,48,107,0,114,181,0,0,42,52,0,67,52,107,181,65,0,107,67,0,0,0,107,95,50,50,65,65,48,48,59,59,99,99,93,93,180,180,183,183,182,182,184,184,181,181,185,185,186,186,90,90,114,114,102,102,96,96,187,187,50,50,65,65,48,48,59,59,99,99,93,93,180,180,183,183,182,182,184,184,181,181,185,185,186,186,90,90,114,114,102,102,96,96,187,187,106,57,48,59,63,99,93,180,183,182,184,188,181,185,186,90,114,102,96,187,63,95,57,96,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,95,57,54,50,65,48,59,63,99,93,54,50,65,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,54,50,65,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,183,183,182,182,185,185,90,90,102,102,96,96,63,99,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,63,99,48,59,63,99,93,48,59,63,99,93,180,183,182,184,188,181,185,186,90,114,102,96,187,48,48,48,48,48,59,59,59,59,59,63,63,63,63,63,99,99,99,99,99,93,93,93,93,93,180,180,180,180,180,183,183,183,183,183,182,182,182,182,182,181,181,181,181,181,185,185,185,185,185,186,186,186,186,186,90,90,90,90,90,114,114,114,114,114,102,102,102,102,102,96,96,96,96,96,187,187,187,187,187,180,183,184,188,181,185,186,90,102,187,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,57,57,71,71,69,69,67,67,61,61,52,52,46,46,54,54,74,74,106,106,107,107,44,44,108,108,109,109,50,50,65,65,42,42,48,48,59,59,63,63,99,99,93,93,95,95,180,180,183,183,182,182,184,184,188,188,181,181,185,185,186,186,90,90,114,114,102,102,96,96,187,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,180,183,184,188,181,185,186,90,102,187,180,183,184,188,181,185,186,90,102,187,48,59,63,99,106,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,46,57,69,71,180,183,184,188,181,185,186,90,102,187,71,69,95,93,63,93,57,57,74,180,183,184,188,181,185,186,90,102,187,0,57,63,0,74,189,157,90,102,187,63,93,190,180,183,182,184,188,181,185,186,90,114,102,96,187,95,0,95,57,186,71,69,54,57,186,96,46,188,46,57,180,183,182,184,188,181,185,186,90,114,102,96,187,180,183,182,184,188,181,185,186,90,114,102,96,187,54,50,65,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,93,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,95,93,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,54,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,188,57,57,71,69,67,61,52,46,54,74,106,107,44,108,109,50,65,42,48,59,63,99,93,95,180,183,182,184,188,181,185,186,90,114,102,96,187,191,192,192,192,193,194,193,195,196,194,193,193,197,194,198,197,199,193,196,196,193,200,198,194,195,193,198,199,196,151,0,0,151,0,0,151,152,0,151,0,0,0,0,201,201,201,139,151,0,0,151,0,0,0,131,156,161,0,0,151,0,0,151,0,151,0,0,202,0,0,0,168,168,168,168,0,0,0,151,0,151,151,0,202,0,0,0,0,0,0,0,11,11,11,11,11,140,0,151,0,11,0,139,131,156,0,171,0,151,171,136,0,151,140,0,0,0,0,161,152,136,0,151,141,141,141,141,141,141,151,0,124,0,0,151,151,161,152,0,0,151,0,156,0,0,131,161,0,13,13,13,13,13,151,0,140,0,13,0,140,202,0,0,134,171,171,124,124,131,131,136,136,141,141,142,142,143,143,189,189,157,157,203,203,202,202,204,204,11,11,13,13,168,168,111,111,205,205,7,7,206,206,201,201,170,170,171,171,124,124,131,131,136,136,141,141,142,142,143,143,189,189,157,157,203,203,202,202,204,204,11,11,13,13,168,168,111,111,205,205,7,7,206,206,201,201,170,170,122,120,146,153,154,155,138,171,123,124,145,131,160,161,133,162,146,163,134,127,135,147,149,150,151,152,153,154,155,136,137,138,139,140,156,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,119,121,119,121,123,123,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,142,119,121,128,129,123,124,131,132,133,134,127,135,136,137,138,139,140,141,142,143,171,128,129,123,124,131,132,133,134,127,135,136,137,138,139,140,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,128,129,123,124,131,132,133,134,127,135,136,137,138,139,140,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,173,173,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,171,189,189,157,157,203,203,202,202,204,204,11,11,13,13,168,168,111,111,205,205,170,170,7,123,124,145,131,133,146,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,141,142,143,138,145,146,148,153,154,155,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,135,147,149,135,147,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,123,123,124,145,131,133,146,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,141,142,143,123,124,145,131,160,161,133,162,146,163,134,127,135,147,149,150,151,152,153,154,155,136,137,138,139,140,156,141,142,143,171,123,124,145,131,160,161,133,162,146,163,134,127,135,147,149,150,151,152,153,154,155,136,137,138,139,140,156,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,171,171,171,171,123,123,123,123,123,124,124,124,124,124,145,145,145,145,145,131,131,131,131,131,160,160,160,160,160,161,161,161,161,161,133,133,133,133,133,162,162,162,162,162,146,146,146,146,146,163,163,163,163,163,134,134,134,134,134,127,127,127,127,127,135,135,135,135,135,147,147,147,147,147,149,149,149,149,149,150,150,150,150,150,151,151,151,151,151,152,152,152,152,152,153,153,153,153,153,154,154,154,154,154,155,155,155,155,155,136,136,136,136,136,137,137,137,137,137,138,138,138,138,138,139,139,139,139,139,140,140,140,140,140,156,156,156,156,156,141,141,141,141,141,142,142,142,142,142,143,143,143,143,143,189,189,189,189,189,157,157,157,157,157,203,203,203,203,203,202,202,202,202,202,204,204,204,204,204,11,11,11,11,11,13,13,13,13,13,168,168,168,168,168,111,111,111,111,111,205,205,205,205,205,7,7,7,7,7,206,206,206,206,206,201,201,201,201,201,170,170,170,170,170,171,189,157,202,204,168,111,205,201,170,127,156,156,156,148,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,189,157,202,204,11,13,168,111,205,7,206,201,170,135,147,128,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,156,166,141,143,171,171,122,122,120,120,173,173,128,128,129,129,123,123,124,124,145,145,131,131,132,132,160,160,161,161,133,133,162,162,146,146,163,163,134,134,127,127,135,135,147,147,148,148,149,149,150,150,151,151,152,152,153,153,154,154,155,155,136,136,137,137,138,138,139,139,140,140,156,156,166,166,141,141,142,142,143,143,189,189,157,157,203,203,202,202,204,204,11,11,13,13,168,168,111,111,205,205,7,7,206,206,201,201,170,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,137,171,189,157,202,204,168,111,205,201,170,171,189,157,202,204,168,111,205,201,170,123,124,145,131,160,161,133,162,146,163,134,127,135,147,149,150,151,152,153,154,155,136,137,138,139,140,156,141,142,143,145,206,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,134,134,129,151,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,127,135,135,145,127,135,171,189,157,202,204,168,111,205,201,170,135,127,145,160,150,137,143,171,189,157,202,204,168,111,205,201,170,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,145,148,149,206,170,160,135,147,135,128,134,128,128,132,173,166,128,132,189,157,203,204,111,205,163,171,189,157,202,204,11,13,168,111,205,7,206,201,170,0,122,166,166,134,142,146,155,7,129,123,123,122,120,123,124,145,160,127,147,150,139,156,0,125,129,123,146,134,127,152,153,154,137,156,141,163,154,171,189,157,202,204,11,13,168,111,205,7,206,201,170,171,189,157,202,204,11,13,168,111,205,7,206,201,170,171,128,129,123,124,131,132,133,134,127,135,136,137,138,139,140,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,121,123,124,134,127,135,152,155,136,137,138,139,156,141,143,7,170,162,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,127,122,120,173,166,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,122,120,143,135,135,147,123,171,122,120,173,128,129,123,124,145,131,132,160,161,133,162,146,163,134,127,135,147,148,149,150,151,152,153,154,155,136,137,138,139,140,156,166,141,142,143,189,157,203,202,204,11,13,168,111,205,7,206,201,170,166,166,207,208,208,0,175],"f":"````{bd}``{{{j{{h{}{{f{c}}}}}}l}c{}}`{{lnA`}{{Ad{Ab}}}}{{lnAf}Ah}{{lnAj}Ab}{{lAf}Al}{{lAj}Al}`````{j{{j{c}}}{}}00{{{j{An}}}{{j{Anc}}}{}}00{{{j{B`}}}B`}{{{j{Bb}}}Bb}{{j{j{Anc}}}Bd{}}0{jBd}0{{ei}g{}{{Bh{}{{Bf{c}}}}}{}{{Bn{{j{{Bj{c}}}}}{{Bl{g}}}}}}00{{{j{Anc}}}BbC`}{Cb{{j{c}}}{}}00{Cb{{j{Anc}}}{}}00``{CbBd}00{{{j{Bb}}{j{Anc}}}BdCd}`{{{j{Cf}}}{{Cn{c{Cl{Ch}{{Bl{Cj}}}}}}}{}}00{{{j{B`}}{j{AnD`}}}Db}{{{j{Bb}}{j{AnD`}}}Db}{cc{}}{{{Dd{c}}}c{}}0110{{c{j{Df}}Dh}e{}{}}00{{}Cb}00{{}c{}}00{B`Dj}{B`Bb}222{{{Dn{}{{Dl{c}}}}l}c{}}{{{j{E`}}{j{Eb}}}{{Dd{EdB`}}}}{{{j{E`}}{j{Ef}}}{{Ad{Eh}}}}{{{j{AnE`}}{j{Ej}}}{{Dd{ElDh}}}}{{{j{E`}}En}{{Dd{F`B`}}}}{{{j{E`}}Fb}{{Ad{Fd}}}}{{{j{E`}}{j{Ff}}}{{Dd{FhB`}}}}{{{j{E`}}{j{Fj}}}{{Dd{FlDh}}}}{{l{j{Fn}}G`}{{Dd{GbDh}}}}{{{j{E`}}Gd}{{Dd{GfB`}}}}{{{j{E`}}{j{Gh}}}{{Dd{GjB`}}}}{{l{j{Gl}}}{{Dd{GnB`}}}}{{{j{E`}}H`}{{Ad{Hb}}}}{{{j{E`}}{j{Hd}}}{{Dd{HfB`}}}}{{{j{E`}}{j{Hh}}}{{Dd{HjDh}}}}{{{j{AnE`}}{j{Hl}}}{{Dd{HnDh}}}}{cB`I`}{B`Bb}`{{{j{AnE`}}bIb}{{Dd{{If{bId}}B`}}}}{{l{j{AnIh}}IjbIb}{{Ad{{If{bIb}}}}}}{{lbIl}{{Ad{{If{bIb}}}}}}`{{{j{E`}}nA`}{{Ad{Fh}}}}````{jc{}}0{{}{{Dd{c}}}{}}00{{l{j{AnIh}}IjIl}{{Ad{{If{bIb}}}}}}{c{{Dd{e}}}{}{}}00222{jIn}00{ce{}{}}00{{ce}c{}{}}00{{}c{}}00{{BbJ`}Bb}``{j{{j{c}}}{}}0{{{j{An}}}{{j{Anc}}}{}}0{{ei}g{}{{Bh{}{{Bf{c}}}}}{}{{Bn{{j{{Bj{c}}}}}{{Bl{g}}}}}}0{Cb{{j{c}}}{}}0{Cb{{j{Anc}}}{}}0{CbBd}0{{{j{Cf}}}{{Cn{c{Cl{Ch}{{Bl{Cj}}}}}}}{}}0{{{Dd{c}}}c{}}{cc{}}1{{{j{Hl}}}Jb}1{{{j{Hh}}}Jb}{{c{j{Df}}Dh}e{}{}}0{{}Cb}0>>{{JdJfJh}{{Jj{c}}}Jl}{{JbJfJh}{{Jj{c}}}Jl}{{}c{}}0`{{{j{Fj}}B`}Jd}{{J`{j{Cf}}B`}Jb}```{{J`B`}Jb}0{{}{{Dd{c}}}{}}0{c{{Dd{e}}}{}{}}011`{jIn}0{ce{}{}}0{{ce}c{}{}}088`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{{j{Jn}}e}{{j{An{Bj{c}}}}}{}{{K`{}{{Bf{c}}}}}}{{{j{Kb}}e}{{j{An{Bj{c}}}}}{}{{K`{}{{Bf{c}}}}}}0101101010011010011001010101100110{{{j{Jn}}}{{j{Anc}}}{}}{{{j{Kb}}}{{j{Anc}}}{}}1001100110100110011010101001101010`{{{j{Gb}}}{{`{{Kf{}{{Bf{Kd}}}}}}}}{j{{j{Kh}}}}00000000000000000{{{j{Gn}}}Kj}````{j{{j{c}}}{}}00000000000000000000000000000000000{{{j{Gb}}Kl}{{j{Kn}}}}{{{j{An}}}{{j{Anc}}}{}}00000000000000000000000000000000000`{{{j{Gb}}}{{Ld{L`{Lb{Kl}}}}}}{{{j{Fl}}}Fl}{{{j{Fd}}}Fd}{{{j{Hb}}}Hb}{{{j{F`}}}F`}{{{j{Gf}}}Gf}{{{j{Gn}}}Gn}{{{j{Lf}}}Lf}{{{j{Kj}}}Kj}{{j{j{Anc}}}Bd{}}000000000000000000000{jBd}000000000000000000000{{ei}g{}{{Bh{}{{Bf{c}}}}}{}{{Bn{{j{{Bj{c}}}}}{{Bl{g}}}}}}00000000000000000000000000000000000{{j{j{c}}}Lh{}}00000000000{{{j{Anc}}}GnLj}{{{j{Anc}}}LfLj}{{{j{Gb}}}b}{Cb{{j{c}}}{}}00000000000000000000000000000000000{Cb{{j{Anc}}}{}}00000000000000000000000000000000000{{{j{Gb}}}{{j{{Ln{Ll}}}}}}{CbBd}00000000000000000000000000000000000{{{j{Gn}}{j{Anc}}}BdM`}{{{j{Lf}}{j{Anc}}}BdM`}{{{j{F`}}{j{F`}}}Cj}{{{j{Gf}}{j{Gf}}}Cj}{{{j{Gn}}{j{Gn}}}Cj}{{{j{Lf}}{j{Lf}}}Cj}{{{j{Kj}}{j{Kj}}}Cj}{{j{j{Kh}}}Cj}00000000000000000{{j{j{c}}}Cj{}}0000000000000000000000000000000000000000000000000000000000000000000000000000000{j{{Dd{Bd}}}}000000000`{{{j{Cf}}}{{Cn{c{Cl{Ch}{{Bl{Cj}}}}}}}{}}00000000000000000000000000000000000{{}Mb}000000000000{{{j{Gb}}{j{AnD`}}}Db}{{{j{Hn}}{j{AnD`}}}Db}{{{j{Hj}}{j{AnD`}}}Db}{{{j{Hf}}{j{AnD`}}}Db}{{{j{Gj}}{j{AnD`}}}Db}{{{j{Fh}}{j{AnD`}}}Db}{{{j{El}}{j{AnD`}}}Db}{{{j{Fl}}{j{AnD`}}}Db}{{{j{Id}}{j{AnD`}}}Db}{{{j{Md}}{j{AnD`}}}Db}{{{j{Mf}}{j{AnD`}}}Db}{{{j{Eh}}{j{AnD`}}}Db}{{{j{Mh}}{j{AnD`}}}Db}{{{j{Mj}}{j{AnD`}}}Db}{{{j{Fd}}{j{AnD`}}}Db}{{{j{Hb}}{j{AnD`}}}Db}{{{j{Ed}}{j{AnD`}}}Db}{{{j{F`}}{j{AnD`}}}Db}{{{j{Gf}}{j{AnD`}}}Db}{{{j{Gn}}{j{AnD`}}}Db}{{{j{Lf}}{j{AnD`}}}Db}{{{j{Kj}}{j{AnD`}}}Db}{cc{}}{{{Dd{c}}}c{}}0110011010010110011010100110101001011010100110101010101001101001101010{{c{j{Df}}Dh}e{}{}}00000000000000000000000000000000000{{jMl}Cj}000000000{{jMn}Cj}000000000{{{j{F`}}{j{Anc}}}BdN`}{{{j{Gf}}{j{Anc}}}BdN`}{{{j{Gn}}{j{Anc}}}BdN`}{{{j{Lf}}{j{Anc}}}BdN`}``{{}Cb}00000000000000000000000000000000000{{{j{Gb}}}{{j{Nb}}}}{{}c{}}00000000000000000000000000000000000000000000000000000000000000000000000`{{{j{Gb}}Ll}Cj}{{{j{Hj}}}Cj}{{{j{Hn}}}Cj}{{lCj}Cj}000000000```{Kj{{Ad{{If{KjLf}}}}}}```{{{j{Gb}}Kd}Nd}`{{lCj{Ad{A`}}}{{Ad{c}}}{}}000000000{{{j{{Nf{LlEl}}}}}{{Nf{LlCb}}}}{{{Nf{LlEl}}{Nf{KdFl}}G`Nh}Gb}{{Kd{Lb{Lf}}}Gn}{{{Ad{Ll}}}d}`````````{{c{j{Nj}}}{{Ad{e}}}{}{}}000000000000`{{l{j{G`}}}Nh}`>````{{{j{Gb}}}J`}`````{{{j{Gb}}Ll}L`}{{jc}d{}}000000000000{{jc}Nl{}}000000000000{jc{}}000000000000000000000{KjGn}{{}{{Dd{c}}}{}}00000000000000000000000000000000000{jd}{{KjCb}Kj}{c{{Dd{e}}}{}{}}00000000000000000000000000000000000333333333333333333333333333333333333`{jIn}00000000000000000000000000000000000{ce{}{}}00000000000000000000000000000000000{{ce}c{}{}}00000000000000000000000000000000000`{{{j{Gb}}}{{`{{Kf{}{{Bf{Kd}}}}}}}}{{}c{}}00000000000000000000000000000000000````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{{j{Kb}}e}{{j{An{Bj{c}}}}}{}{{K`{}{{Bf{c}}}}}}{{{j{Jn}}e}{{j{An{Bj{c}}}}}{}{{K`{}{{Bf{c}}}}}}1010100101010101101001100110101010010110{{{j{Kb}}}{{j{Anc}}}{}}{{{j{Jn}}}{{j{Anc}}}{}}1010101010101010011010101010101001011010```````{j{{j{Kh}}}}00000000000000000000000000000000000000000000{{{j{Nn}}}O`}{{{j{Ob}}}O`}{{{j{Nn}}}Od}{{{j{Ob}}}Od}{{{j{{Of{c}}}}}{{Of{{j{c}}}}}{}}{{ce}{{Of{c}}}{}{{Ol{{Oj{Oh}}}}}}{j{{j{c}}}{}}0000000000000000000000000000000000000000000000000000{{{j{An}}}{{j{Anc}}}{}}0000000000000000000000000000000000000000000000000000`{{{j{Nn}}}{{If{{j{On}}{j{On}}}}}}{{{j{Ob}}}{{If{{j{On}}{j{On}}}}}}{{{j{A@`}}}A@`}{{{j{{A@b{c}}}}}{{A@b{c}}}A@d}{{{j{{Of{c}}}}}{{Of{c}}}A@d}{{{j{Oh}}}Oh}{{{j{A@f}}}A@f}{{{j{A@h}}}A@h}{{{j{{A@j{c}}}}}{{A@j{c}}}A@d}{{{j{A@l}}}A@l}{{{j{On}}}On}{{{j{A@n}}}A@n}{{{j{AA`}}}AA`}{{{j{AAb}}}AAb}{{{j{AAd}}}AAd}{{{j{AAf}}}AAf}{{{j{AAh}}}AAh}{{{j{AAj}}}AAj}{{{j{AAl}}}AAl}{{{j{AAn}}}AAn}{{j{j{Anc}}}Bd{}}00000000000000000000000000000000{jBd}00000000000000000000000000000000``{{ei}g{}{{Bh{}{{Bf{c}}}}}{}{{Bn{{j{{Bj{c}}}}}{{Bl{g}}}}}}0000000000000000000000000000000000000000000000000000{{j{j{c}}}Lh{}}00000000000000000000000`{{{j{Anc}}}{{Of{e}}}Lj{{AB`{c}}}}{{{j{Anc}}}OhLj}{{{j{Anc}}}ABbLj}{{{j{Anc}}}A@fLj}{{{j{Anc}}}{{A@j{e}}}Lj{{AB`{c}}}}{{{j{Anc}}}ABdLj}{{{j{Anc}}}A@lLj}{{{j{Anc}}}OnLj}{{{j{Anc}}}A@nLj}{{{j{Anc}}}ABfLj}{{{j{Anc}}}ABhLj}{{{j{Anc}}}ABjLj}{{{j{Anc}}}ABlLj}{{{j{Anc}}}ABnLj}{{{j{Anc}}}AC`Lj}{{{j{Anc}}}ACbLj}{{{j{Anc}}}ACdLj}{{{j{Anc}}}ACfLj}{{{j{Anc}}}AA`Lj}{{{j{Anc}}}AAbLj}{{{j{Anc}}}AAdLj}{{{j{Anc}}}AAfLj}{{{j{Anc}}}AAhLj}{{{j{Anc}}}AChLj}{{{j{Anc}}}AAjLj}{{{j{Anc}}}AAlLj}{{{j{Anc}}}AAnLj}```````{Cb{{j{c}}}{}}00000000000000000{{{j{On}}}On}11111111111111111111111111111111111{Cb{{j{Anc}}}{}}0000000000000000000000000000000000000000000000000000{{{j{A@n}}}b}``{{{j{A@n}}}{{`{{Bh{}{{Bf{{If{ACjAb}}}}}}}}}}`{CbBd}0000000000000000000000000000000000000000000000000000{c{{Of{c}}}{}}{{{j{{Of{e}}}}{j{Anc}}}BdM`{{ACl{c}}}}{{{j{Oh}}{j{Anc}}}BdM`}{{{j{ABb}}{j{Anc}}}BdM`}{{{j{A@f}}{j{Anc}}}BdM`}{{{j{{A@j{e}}}}{j{Anc}}}BdM`{{ACl{c}}}}{{{j{ABd}}{j{Anc}}}BdM`}{{{j{A@l}}{j{Anc}}}BdM`}{{{j{On}}{j{Anc}}}BdM`}{{{j{A@n}}{j{Anc}}}BdM`}{{{j{ABf}}{j{Anc}}}BdM`}{{{j{ABh}}{j{Anc}}}BdM`}{{{j{ABj}}{j{Anc}}}BdM`}{{{j{ABl}}{j{Anc}}}BdM`}{{{j{ABn}}{j{Anc}}}BdM`}{{{j{AC`}}{j{Anc}}}BdM`}{{{j{ACb}}{j{Anc}}}BdM`}{{{j{ACd}}{j{Anc}}}BdM`}{{{j{ACf}}{j{Anc}}}BdM`}{{{j{AA`}}{j{Anc}}}BdM`}{{{j{AAb}}{j{Anc}}}BdM`}{{{j{AAd}}{j{Anc}}}BdM`}{{{j{AAf}}{j{Anc}}}BdM`}{{{j{AAh}}{j{Anc}}}BdM`}{{{j{ACh}}{j{Anc}}}BdM`}{{{j{AAj}}{j{Anc}}}BdM`}{{{j{AAl}}{j{Anc}}}BdM`}{{{j{AAn}}{j{Anc}}}BdM`}{{{j{{Of{c}}}}{j{{Of{c}}}}}CjACn}{{{j{Oh}}{j{Oh}}}Cj}{{{j{ABb}}{j{ABb}}}Cj}{{{j{A@f}}{j{A@f}}}Cj}{{{j{AD`}}{j{AD`}}}Cj}{{{j{ADb}}{j{ADb}}}Cj}{{{j{{A@j{c}}}}{j{{A@j{c}}}}}CjACn}{{{j{ADd}}{j{ADd}}}Cj}{{{j{ABd}}{j{ABd}}}Cj}{{{j{ADf}}{j{ADf}}}Cj}{{{j{A@l}}{j{A@l}}}Cj}{{{j{On}}{j{On}}}Cj}{{{j{A@n}}{j{A@n}}}Cj}{{{j{ABf}}{j{ABf}}}Cj}{{{j{ABj}}{j{ABj}}}Cj}{{{j{ABl}}{j{ABl}}}Cj}{{{j{ABn}}{j{ABn}}}Cj}{{{j{AC`}}{j{AC`}}}Cj}{{{j{ACb}}{j{ACb}}}Cj}{{{j{ACd}}{j{ACd}}}Cj}{{{j{ACf}}{j{ACf}}}Cj}{{{j{AA`}}{j{AA`}}}Cj}{{{j{AAb}}{j{AAb}}}Cj}{{{j{AAd}}{j{AAd}}}Cj}{{{j{AAf}}{j{AAf}}}Cj}{{{j{AAh}}{j{AAh}}}Cj}{{{j{ACh}}{j{ACh}}}Cj}{{{j{AAj}}{j{AAj}}}Cj}{{{j{AAl}}{j{AAl}}}Cj}{{{j{AAn}}{j{AAn}}}Cj}{{j{j{Kh}}}Cj}00000000000000000000000000000000000000000000{{j{j{c}}}Cj{}}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{j{{Dd{Bd}}}}000000000{{{j{On}}}{{If{{j{A@n}}{j{Ob}}}}}}{{{j{ACh}}}{{j{AAb}}}}{{{j{ACh}}}AAj}{{{j{ACh}}}{{j{On}}}}`{{{j{Cf}}}{{Cn{c{Cl{Ch}{{Bl{Cj}}}}}}}{}}0000000000000000000000000000000000000000000000000000{{}Mb}0000000000000{{{j{A@n}}}ADh}`{{{j{A@`}}{j{AnD`}}}Db}{{{j{{Of{c}}}}{j{AnD`}}}DbADj}{{{j{Oh}}{j{AnD`}}}Db}{{{j{ABb}}{j{AnD`}}}Db}{{{j{A@f}}{j{AnD`}}}Db}{{{j{A@h}}{j{AnD`}}}Db}{{{j{AD`}}{j{AnD`}}}Db}{{{j{ADb}}{j{AnD`}}}Db}{{{j{{A@j{c}}}}{j{AnD`}}}DbADj}{{{j{ADd}}{j{AnD`}}}Db}{{{j{ABd}}{j{AnD`}}}Db}{{{j{ADf}}{j{AnD`}}}Db}{{{j{A@l}}{j{AnD`}}}Db}{{{j{On}}{j{AnD`}}}Db}{{{j{A@n}}{j{AnD`}}}Db}{{{j{ABf}}{j{AnD`}}}Db}{{{j{ABh}}{j{AnD`}}}Db}{{{j{ABj}}{j{AnD`}}}Db}{{{j{ABl}}{j{AnD`}}}Db}{{{j{ABn}}{j{AnD`}}}Db}{{{j{AC`}}{j{AnD`}}}Db}{{{j{ACb}}{j{AnD`}}}Db}{{{j{ACd}}{j{AnD`}}}Db}{{{j{ACf}}{j{AnD`}}}Db}{{{j{AA`}}{j{AnD`}}}Db}{{{j{AAb}}{j{AnD`}}}Db}{{{j{AAd}}{j{AnD`}}}Db}{{{j{AAf}}{j{AnD`}}}Db}{{{j{ACh}}{j{AnD`}}}Db}{{{j{ADl}}{j{AnD`}}}Db}{{{j{AAj}}{j{AnD`}}}Db}{{{j{AAn}}{j{AnD`}}}Db}{{{Dd{c}}}c{}}{cc{}}01100110011010101001100110100110011001101010100110011001100101101001101001011001100101101010010101101001{{c{j{Df}}Dh}e{}{}}0000000000000000000000000000000000000000000000000000{{lCb}AAb}{{jMl}Cj}000000000{{jMn}Cj}000000000{{{j{{Of{c}}}}{j{Ane}}}BdADnN`}{{{j{Oh}}{j{Anc}}}BdN`}{{{j{ABb}}{j{Anc}}}BdN`}{{{j{A@f}}{j{Anc}}}BdN`}{{{j{AD`}}{j{Anc}}}BdN`}{{{j{ADb}}{j{Anc}}}BdN`}{{{j{{A@j{c}}}}{j{Ane}}}BdADnN`}{{{j{ADd}}{j{Anc}}}BdN`}{{{j{ABd}}{j{Anc}}}BdN`}{{{j{ADf}}{j{Anc}}}BdN`}{{{j{A@l}}{j{Anc}}}BdN`}{{{j{On}}{j{Anc}}}BdN`}{{{j{A@n}}{j{Anc}}}BdN`}{{{j{ABf}}{j{Anc}}}BdN`}{{{j{ABj}}{j{Anc}}}BdN`}{{{j{ABl}}{j{Anc}}}BdN`}{{{j{ABn}}{j{Anc}}}BdN`}{{{j{AC`}}{j{Anc}}}BdN`}{{{j{ACb}}{j{Anc}}}BdN`}{{{j{ACd}}{j{Anc}}}BdN`}{{{j{ACf}}{j{Anc}}}BdN`}{{{j{AA`}}{j{Anc}}}BdN`}{{{j{AAb}}{j{Anc}}}BdN`}{{{j{AAd}}{j{Anc}}}BdN`}{{{j{AAf}}{j{Anc}}}BdN`}{{{j{AAh}}{j{Anc}}}BdN`}{{{j{ACh}}{j{Anc}}}BdN`}{{{j{AAj}}{j{Anc}}}BdN`}{{{j{AAl}}{j{Anc}}}BdN`}{{{j{AAn}}{j{Anc}}}BdN`}```{{}Cb}0000000000000000000000000000000000000000000000000000{{{j{A@l}}}{{j{{Bj{On}}}}}}`{{{A@b{c}}}c{}}{ABnOn}{{}c{}}000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{{{j{On}}}Cj}{{{j{A@n}}}Cj}0{{{j{ABb}}}Cj}21{{lCj}Cj}0000000002{{{j{On}}}{{j{ABn}}}}`````{{lCj{Ad{A`}}}{{Ad{c}}}{}}000000000{{A@nc}On{{Ol{Ob}}}}{{AA`bc}On{{Ol{Ob}}}}{{OnAAb}On}{{}On}0{{bc}On{{Ol{Ob}}}}0{{cAAj}On{{Ol{{Oj{{Of{AC`}}}}}}}}{AE`On}2{AEbOn}{{bOb}On}{AfOn}6{AEdOn}{{OnAEf}On}{{AAjOnAEf}On}{OnOn}:{cOn{{Ol{{Oj{On}}}}}}{AjOn}`````{{{Of{ADb}}}AD`}{ABfA@n}{{lAEh{Nf{ACjABh}}}ABf}{{{j{A@n}}}{{j{ABh}}}}`{{{j{A@l}}}{{j{On}}}}`{{{j{A@`}}}{{Ad{b}}}}```{{{j{A@`}}}Cb}````````{{c{j{Nj}}}{{Ad{e}}}{}{}}0000000000000{AAjd}{{{j{Od}}}{{j{On}}}}````{{{j{ABd}}}{{j{On}}}}{{{j{ACf}}}{{j{On}}}}`{{{A@b{c}}}c{}}{{{Of{c}}}c{}}{{{j{{Of{c}}}}}{{j{c}}}{}}{{{j{Od}}}ADl}{{{j{O`}}}{{AEj{ACh}}}}{{}{{j{{AEl{{Bj{{Of{AC`}}}}}}}}}}{{}{{j{{AEl{{Bj{Oh}}}}}}}}{{}{{j{{AEl{{Bj{ABb}}}}}}}}{{}{{j{{AEl{{Bj{AD`}}}}}}}}{{}{{j{{AEl{{Bj{On}}}}}}}}{{}{{j{{AEl{ABf}}}}}}{{}{{j{{AEl{ABl}}}}}}{{}{{j{{AEl{{Bj{AAf}}}}}}}}{{}{{j{{AEl{{Bj{ACh}}}}}}}}`{{{j{{Oj{c}}}}{j{{Bj{ACh}}}}}{{Oj{c}}}AEn}{{{j{{A@b{On}}}}{j{{Bj{ACh}}}}}On}{{{j{{Of{c}}}}{j{{Bj{ACh}}}}}{{Of{c}}}AEn}{{{j{ABd}}{j{{Bj{ACh}}}}}ABd}{{{j{A@l}}{j{{Bj{ACh}}}}}A@l}{{{j{On}}{j{{Bj{ACh}}}}}On}{{{j{AC`}}{j{{Bj{ACh}}}}}AC`}{{{j{ACb}}{j{{Bj{ACh}}}}}ACb}{{{j{ACd}}{j{{Bj{ACh}}}}}ACd}{{{j{AAb}}{j{{Bj{ACh}}}}}AAb}{{{j{ACh}}{j{{Bj{ACh}}}}}ACh}{{{j{AAj}}{j{{Bj{ACh}}}}}AAj}``{{jc}d{}}0000000000000{{jc}Nl{}}0000000000000{jc{}}00000000000000000000000000000000{{}{{Dd{c}}}{}}0000000000000000000000000000000000000000000000000000{{{j{Ob}}l}c{}}{{{j{{Of{c}}}}l}e{{h{}{{f{{AF`{l}}}}}}}{}}{{{j{{Bj{Oh}}}}l}{{j{{AFd{AFb}}}}}}{{{j{A@l}}l}c{}}{{{j{On}}l}A`}{{{j{A@n}}l}c{}}{{{j{AC`}}l}c{}}{{{j{ACf}}l}c{}}{{{j{AA`}}l}c{}}{{{j{AAb}}l}c{}}{{{j{AAd}}l}c{}}{{{j{AAf}}l}c{}}{{{j{ACh}}l}c{}}{{{j{AAj}}l}c{}}{{{j{AAn}}l}c{}}{jd}0`{c{{Dd{e}}}{}{}}0000000000000000000000000000000000000000000000000000{{}{{Dd{c}}}{}}0000000000000000000000000000000000000000000000000000{{{j{On}}}{{j{{Oj{On}}}}}}{{{j{Od}}}{{j{On}}}}{{{j{O`}}}{{j{On}}}}``{jIn}0000000000000000000000000000000000000000000000000000{ce{}{}}0000000000000000000000000000000000000000000000000000{{ce}c{}{}}0000000000000000000000000000000000000000000000000000{{{j{Od}}}{{`{{Bh{}{{Bf{{j{On}}}}}}}}}}{{{j{O`}}}{{j{{Oj{On}}}}}}`{{{j{A@n}}ACj}{{j{ABh}}}}{{{j{A@n}}}{{j{{AFf{ACjABh}}}}}}`{{{j{{Of{c}}}}}{{j{{Oj{Oh}}}}}{}}{{}c{}}0000000000000000000000000000000000000000000000000000``````{{{j{AEn}}{j{{Bj{ACh}}}}}AEn}","D":"BKn","p":[[5,"DefId",3726],[5,"String",3727],[17,"T"],[10,"ToRustc",0],[1,"reference"],[5,"TyCtxt",3728],[5,"ScalarInt",1557,3729],[5,"Ty",3730],[1,"u128"],[6,"Option",3731],[6,"IntTy",1557,3732],[1,"i128"],[6,"UintTy",1557,3732],[5,"Size",3733],[0,"mut"],[5,"UnsupportedReason",14],[5,"UnsupportedErr",14],[1,"unit"],[17,"Item"],[10,"Iterator",3734],[1,"slice"],[17,"Output"],[10,"FnOnce",3735],[10,"SpanDecoder",3736],[1,"usize"],[10,"SpanEncoder",3736],[1,"str"],[5,"DataRequest",3737],[1,"bool"],[1,"fn"],[5,"RequestFilterDataProvider",3738],[5,"Formatter",3739],[8,"Result",3739],[6,"Result",3740],[5,"CycleError",3741],[5,"ErrorGuaranteed",3736],[6,"DiagArgValue",3742],[17,"R"],[10,"Lower",14],[5,"MirLoweringCtxt",14],[6,"AggregateKind",3743],[6,"AggregateKind",181],[8,"AssertMessage",3743],[6,"AssertKind",181],[5,"BasicBlockData",3744],[5,"BasicBlockData",181],[6,"BinOp",3743],[6,"BinOp",181],[6,"CastKind",3743],[6,"CastKind",181],[5,"ConstOperand",3743],[6,"Constant",181],[5,"LocalDecl",3744],[5,"LocalDecl",181],[5,"FluxSession",3745],[5,"BodyWithBorrowckFacts",3746],[5,"Body",181],[6,"NullOp",3743],[6,"NullOp",181],[6,"Operand",3743],[6,"Operand",181],[5,"Place",3743],[5,"Place",181],[6,"PointerCoercion",3747],[6,"PointerCast",181],[6,"Rvalue",3743],[6,"Rvalue",181],[5,"Statement",3748],[5,"Statement",181],[5,"Terminator",3749],[5,"Terminator",181],[10,"ToString",3727],[8,"GenericArgsRef",3750],[5,"CallArgs",181],[1,"tuple"],[5,"SelectionContext",3751],[5,"ParamEnv",3730],[8,"TraitRef",3752],[5,"TypeId",3753],[5,"Span",3754],[5,"UnsupportedMir",126],[5,"UnsupportedLocalDecl",126],[5,"DiagCtxtHandle",3755],[6,"Level",3755],[5,"Diag",3742],[10,"EmissionGuarantee",3742],[5,"Arena",3756],[10,"IntoIterator",3757],[5,"Arena",3758],[5,"Local",181,3744],[10,"ExactSizeIterator",3759],[10,"Any",3753],[5,"PlaceRef",181],[5,"BorrowIndex",3760],[5,"BorrowData",181,3761],[5,"Location",181,3744],[5,"Vec",3762],[8,"FxIndexMap",3763],[6,"PlaceElem",181],[6,"Ordering",3764],[10,"TyDecoder",3765],[5,"BasicBlock",181,3744],[5,"Dominators",3766],[10,"TyEncoder",3765],[6,"FingerprintStyle",3767],[5,"Instance",181],[6,"TerminatorKind",181],[6,"NonDivergingIntrinsic",181],[6,"StatementKind",181],[5,"TypeFlags",3768],[5,"DebruijnIndex",1557,3769],[10,"Hasher",3770],[5,"Body",3744],[6,"LocalKind",181,3744],[5,"IndexVec",3771],[5,"InferCtxt",3772],[5,"DepNode",3773],[5,"Fingerprint",3774],[10,"GenericArgsExt",1557],[5,"ClosureArgs",1557],[8,"GenericArgs",1557],[5,"CoroutineArgs",1557],[5,"Binder",1557],[6,"BoundVariableKind",1557],[8,"List",1557,3775],[10,"Into",3776],[5,"Ty",1557],[5,"Generics",1557],[5,"EarlyBinder",1557],[10,"Clone",3777],[6,"GenericParamDefKind",1557],[5,"GenericPredicates",1557],[5,"OutlivesPredicate",1557],[5,"FnSig",1557],[5,"AdtDef",1557],[6,"AliasKind",1557],[5,"Const",1557],[5,"UnevaluatedConst",1557],[6,"ValTree",1557],[6,"ConstKind",1557],[6,"Region",1557],[5,"LateParamRegion",1557],[5,"BoundRegion",1557],[10,"Decodable",3778],[5,"GenericParamDef",1557],[5,"TraitRef",1557],[5,"AdtDefData",1557],[5,"VariantDef",1557],[5,"FieldDef",1557],[5,"TyS",1557],[6,"TyKind",1557],[6,"ExistentialPredicate",1557],[5,"ExistentialTraitRef",1557],[5,"ExistentialProjection",1557],[5,"AliasTy",1557],[6,"GenericArg",1557],[5,"VariantIdx",1557,3779],[10,"Encodable",3778],[10,"PartialEq",3764],[5,"Clause",1557],[6,"ClauseKind",1557],[5,"TraitPredicate",1557],[5,"ProjectionPredicate",1557],[5,"AdtFlags",3780],[10,"Debug",3739],[5,"CoroutineArgsParts",1557],[10,"Hash",3770],[6,"FloatTy",1557,3732],[8,"PolyFnSig",1557],[5,"ParamTy",1557,3781],[6,"Mutability",1557,3782],[5,"AdtDef",3780],[5,"ClosureArgsParts",1557],[5,"InternStorage",3775],[10,"Subst",3724],[10,"TypeVisitable",3783],[6,"BoundVariableKind",3781],[8,"List",3784],[5,"IndexSlice",3785],[6,"Variance",181],[6,"UnwindAction",181],[6,"FakeBorrowKind",181],[6,"BorrowKind",181],[6,"FakeReadCause",181],[6,"UnOp",181],[5,"SourceInfo",181],[5,"UserTypeAnnotationIndex",181],[5,"SwitchTargets",181],[5,"FieldIdx",1557],[8,"LocalDecls",181],[15,"Mut",1528],[15,"ConstantIndex",1529],[15,"Call",1532],[15,"Assert",1532],[15,"SwitchInt",1532],[15,"Yield",1532],[15,"FalseEdge",1532],[15,"Drop",1532],[15,"FalseUnwind",1532],[15,"Goto",1532],[6,"BoundRegionKind",1557],[6,"InferConst",1557],[5,"ConstVid",1557],[5,"RegionVid",1557],[5,"BoundVar",1557],[5,"EarlyParamRegion",1557],[15,"Type",3721],[15,"Const",3721]],"r":[[193,3744],[203,3761],[204,3743],[230,3779],[232,3743],[234,3743],[238,3779],[258,3744],[261,3744],[262,3744],[290,3744],[299,3744],[307,3744],[313,3743],[320,3743],[326,3743],[329,3786],[330,3769],[331,3779],[1568,3787],[1569,3769],[1586,3788],[1591,3769],[1594,3787],[1603,3779],[1605,3779],[1607,3732],[1625,3788],[1627,3732],[1633,3775],[1635,3782],[1642,3781],[1660,3789],[1661,3729],[1682,3732],[1690,3779]],"b":[[145,"impl-From%3C%26Terminator%3C\'tcx%3E%3E-for-UnsupportedMir"],[147,"impl-From%3C%26Statement%3C\'tcx%3E%3E-for-UnsupportedMir"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC8NfwACAAQACAAAAAoAFQAjABIANwABADsABgBFAD8AhwAIAJEAAQCUAAQAmwAfALwABQDDAA8A1QADANoABADgAAYA6QABAOwAAgDwAAEA9wADAPwACQAIAQIADAEBAA8BAQASAQEAFQEKACEBCAArAQIALwEAADEBAgA1AQUAPQEHAEYBAABIAQMATQEAAE8BXACtAQAArwFJAPoBNABTAu4AQwNGAIsDAQCPAwEAkwMAAJUDAQCYAwAAmwMBAJ8DAAChAwAAowMBAKcDAACpAwAAqwMBAK4DAACxAwAAswMAALUDAQC5AwAAuwMAAL0DAAC/AwAAwQMAAMMDAQDHAwAAyQMBAM0DAADPAwAA0QM9ABAEJABZBDMAjgQAAJAEDQCfBAgAqQQOALsEAAC9BAMAwgQ3Af0FJgAnBgsANAYDADkGAgA9BgYARQYAAEcGBABNBgwAWwYhAH8GGQCaBgAAnAZRASMInALCCgEAxgoBAMoKAQDNCgAAzwoAANEKAADUCgEA2AoBANsKAADeCgEA4goBAOYKAQDpCgAA6woAAO0KAADwCgEA9AoBAPgKAQD8CgAA/goBAAELAAAECwEABwsAAAoLAAAMCwEAEAsBABQLAAAWCwEAGQsAABsLAAAeCwAAIAsAACILAQAlCwAAKAukAAIMmACcDPIB"}],\ diff --git a/doc/search.desc/flux_fhir_analysis/flux_fhir_analysis-desc-0-.js b/doc/search.desc/flux_fhir_analysis/flux_fhir_analysis-desc-0-.js index a91fe1c0e5..0ccfc6a680 100644 --- a/doc/search.desc/flux_fhir_analysis/flux_fhir_analysis-desc-0-.js +++ b/doc/search.desc/flux_fhir_analysis/flux_fhir_analysis-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("flux_fhir_analysis", 0, "Raw content of Fluent resource for this crate, generated …\nConversion from types in fhir to types in rty\nChecks type well-formedness\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether the list of parameters in a layer is converted …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nCode adapted from …\nConverts a T: Trait<T0, ..., A0 = S0, ...> bound\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the generics of the containing owner item\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether two refinemnt types/signatures are …\nConvert an rty::Ty into a rty::GenericArg::Base if …\nThe span of the variable that originated the lookup.\nThe number of regions bound in this layer. Since regions …\nThe index of the parameter in the layer.\nThe index of the parameter.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nInitializes the inference context with all parameters …\nCalls U::from(self).\nCode to check whether refinement parameters are used in …\nCheck that all params with fhir::Sort::Infer have a sort …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nContains the error value\nContains the success value\nChecks that refinement parameters of function sort are …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nKeeps track of all refinement parameters that are used as …\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nPush a layer of binders. We assume all names are fresh so …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether a value of sort1 can be automatically coerced to a …") \ No newline at end of file +searchState.loadedDescShard("flux_fhir_analysis", 0, "Raw content of Fluent resource for this crate, generated …\nConversion from types in fhir to types in rty\nChecks type well-formedness\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWe do conversion twice: once before sort checking when we …\nWhether to expand type aliases or to generate a weak …\nWhether the list of parameters in a layer is converted …\nAn interface to the information elaborated during sort …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nCode adapted from …\nConverts a T: Trait<T0, ..., A0 = S0, ...> bound\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the generics of the containing owner item\nCalled after converting an fhir::ExprKind::Alias with the …\nCalled after converting an indexed type b[e] with the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether two refinemnt types/signatures are …\nConvert an rty::Ty into a rty::GenericArg::Base if …\nThe span of the variable that originated the lookup.\nThe number of regions bound in this layer. Since regions …\nThe index of the parameter in the layer.\nThe index of the parameter.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nTo check for well-formedness we need to know the sort of …\nInitializes the inference context with all refinement …\nCalls U::from(self).\nCode to check whether refinement parameters are used in …\nCheck that all param sorts are fully resolved and save …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nContains the error value\nContains the success value\nChecks that refinement parameters of function sort are …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nKeeps track of all refinement parameters that are used as …\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nPush a layer of binders. We assume all names are fresh so …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether a value of sort1 can be automatically coerced to a …") \ No newline at end of file diff --git a/doc/search.desc/flux_middle/flux_middle-desc-0-.js b/doc/search.desc/flux_middle/flux_middle-desc-0-.js index d9d8f52f9a..273a4de98f 100644 --- a/doc/search.desc/flux_middle/flux_middle-desc-0-.js +++ b/doc/search.desc/flux_middle/flux_middle-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("flux_middle", 0, "This crate contains common type definitions that are used …\nRaw content of Fluent resource for this crate, generated …\nIndicates that there is an existing extern spec for the …\nA “dummy” local definition wrapping an external spec. …\nAn external definition with no corresponding (local) …\nA “dummy” local definition wrapping an extern spec. …\nRepresents errors that can occur when inserting a mapping …\nIndicates that the extern DefId being inserted is actually …\nAn id for a local spec.\nA local definition. Corresponds to MaybeExternId::Local.\nThis enum serves as a type-level reminder that local ids …\nNormally, a DefId is either local or external, and …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nSet of dummy items generated by the extern spec macro we …\nFlux High-Level Intermediate Representation\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nList of implicitly scoped params defined in a scope. The …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the maybe extern id is Extern.\nReturns true if the maybe extern id is Local.\nResolution of explicitly and implicitly scoped parameters. …\nReturns the DefId this id truly corresponds to, i.e, …\nDefines how flux represents refinement types internally. …\nDowncast to a particular variant of an enum or a …\nA signed integer in the range [-2^128, 2^128], represented …\nThis are in order so negative is less than non-negative.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nGiven the bit width of a signed integer type, produces the …\nGiven the bit width of a signed integer type, produces the …\nCalls U::from(self).\nCalls U::from(self).\nGiven the bit width of an unsigned integer type, produces …\nNo value.\nSome value of type T.\nThe sort of an adt (enum/struct) or type alias.\n<qself as path>::name\nAn implicitly scoped parameter declared with @a syntax\nThese are types of things that may be refined with indices …\nA type that parses as a BaseTy but was written without …\nA bit vector with the given width.\nAn implicitly scoped parameter declared with x: T syntax.\nConstrained types {T | p} are like existentials but …\nUser-defined functions with a body definition\nGenerate a fresh evar for the parameter and solve it via …\nA parameter introduced with x: T syntax that we know …\nA parameter declared in an explicit scope, e.g., …\nA unique identifier for a node in the AST. Like HirId it …\nAn item without a corresponding Rust definition, e.g., a …\nA map between rust definitions and flux annotations in …\nOwner version of FluxLocalDefId\nA polymorphic sort function.\nA lifetime hole created during desugaring.\nA boolean-like enum used to mark whether a piece of code …\nA sort that needs to be inferred.\nInference mode for a parameter.\nAn ItemLocalId uniquely identifies something within a …\nGenerate a fresh kvar and let fixpoint infer it. This mode …\nOur surface syntax doesn’t have lifetimes. To deal with …\nA location declared with x: &strg T syntax.\nThe sort of a location parameter introduced with the …\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nHow a parameter was declared in the surface syntax.\nSee rustc_hir::def::PartialRes\nAn implicitly scoped parameter declared with #a syntax\nA predicate that needs to hold on function exit\nA primitive sort.\nNot represented directly in the AST; referred to by name …\nInformation about the refinement parameters associated …\nA predicate required to hold before calling a function.\nA resolved lifetime created during lifting.\nAn item with a corresponding Rust definition, e.g., …\nThe sort of a Self type, as used somewhere other than …\nThe sort of the Self type, as used within a trait.\nA sort parameter inside a polymorphic function or data …\nSee flux_syntax::surface::SortPath\nTheory symbols “interpreted” by the SMT solver: Symbol …\nA boolean-like enum used to mark whether some code should …\nThe sort associated to a (generic) type parameter\nA type constraint on a location\nUser-defined uninterpreted functions with no definition\nA user declared sort.\nThe source-order index of a variant in a type.\nZero value of the index.\nZero value of the index.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nFields indexed by their name and in the same order they …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\ninputs and output in order\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\n“Lift” HIR types into FHIR types.\nWhether this alias was lifted from a hir alias\nWhether this field was lifted from a hir field\nWhether this variant was lifted from a hir variant\nWhether the sig was lifted from a hir signature\nAn (optional) list of universally quantified parameters\nTracks the mapping from bound var to generic def ids. e.g. …\nThe item introducing the Self type alias, e.g., an impl …\nThe trait this Self is a generic parameter for.\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nAn interned string.\nAllocates space to store cap elements of type T.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nTransitively follow the parent-chain of def_id to find the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether the item is a dummy item created by the extern …\nIterator over all local def ids that are not a extern spec\nReturn all the qualifiers that apply to an item, including …\nWhether the function is marked with #[flux::should_fail]\nTraverse the parent chain of def_id until the first node …\nTransitively follow the parent-chain of def_id to find the …\nName used during pretty printing to format anonymous bound …\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nZero value of the index.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nUsed to report bugs, typically this means executing an arm …\nContains the error value\nContains the success value\nAn error produced by a query.\nSee QueryErr\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nResolve the def_id and dispatch it to a provider (local, …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nLambda abstractions. They are purely syntactic and we don…\nFunction application. The syntax allows arbitrary …\nAn anonymous region parameter for a given fn (&T)\nAnonymous region for the implicit env pointer parameter to …\nNamed region parameters for functions (a in &’a T)\nThe size of a bit-vector\nA bit vector size vvariable id\nRepresents the various closure traits in the language. This\nA const variable ID.\nA De Bruijn index is a standard means of representing …\nThis is a bit of a hack. We use this type internally to …\nA hole used as a refinement argument or index. It will be …\nEquivalent to VariantIdx(0).\nA fixed size\nA hole is an expression that must be inferred either …\nThe position where a hole appears. This determines how it …\nA size that needs to be inferred. Used during sort …\nA type that needs to be inferred by matching the signature …\nIn theory a kvar is just an unknown predicate that can use …\nA lambda abstraction with an elaborated output sort. We …\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nA numeric sort variable.\nA numeric vvariable id\nOption-like enum to explicitly mark that we don’t have …\nA size that has been parameterized, e.g., bound under a …\nParamSort is used for polymorphic sorts (Set, Map etc.) …\nA polymorphic function sort parametric over sorts or …\nA hole in predicate position (e.g., the predicate in a …\nA region variable ID.\nThe raw bytes of a simple value.\nAn argument for a generic parameter in a Sort which can be …\nA placeholder for a sort that needs to be inferred\nSee PolyFuncSort\nA sort variable.\nA sort vvariable id\nA subset type is a simplified version of a type that has …\nA type constructor meant to be used as generic a argument …\nA type variable ID.\nThe source-order index of a variant in a type.\nZero value of the index.\nZero value of the index.\nZero value of the index.\nZero value of the index.\nThe list of all arguments with the self arguments at the …\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nThe span for the (base) call-site for def-expanded spans\nThe base type b in the subset type {b[e] | p}.\nA canonical type is a type where all existentials and …\nIterate and collect all parameters in this item including …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nDefId of the container, i.e., the impl block or trait.\nGiven a list of generic args, returns an iterator of the …\nThis modules follows the implementation of folding in …\nCreates a GenericArgs from the definition of generic …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nThe refinement index e in the subset type {b[e] | p}. This …\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the sort is Bool.\nWhether the type is a bool\nWhether the type is an int or a uint\nWhether the sort is a function with return sort bool\nThe list of parameters including sorts and bit vector sizes\nThe predicate p in the subset type {b[e] | p}.\nIf self is a primitive, return its Symbol.\nHolds the refinement-arguments for opaque-types; empty for …\nRefining is the process of generating a refined version of …\nThe number of arguments consider to be self arguments.\nThis method work only with associated type projections …\nHoist existentials and predicates inside the type stopping …\nreturns the same invariants as for usize which is the …\nThe top-level span information\nSee rustc_middle::ty::ExistentialPredicateStableCmpExt\nThis is the subset type version of …\nDummy type used for the Self of a TraitRef created when …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nSee subst::GenericsSubstForSort\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the bound variable kind is Refine.\nSee Expr::is_trivially_true\nThis is the subset type version of …\nA (shallowly) canonicalized type. This can be either of …\nA type of the form {T | p}\nA type of the form ∃v0,…,vn. {T | p}\nThe Hoister struct is responsible for hoisting …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGuaranteed to not have any (shallow) existential or …\nAn existential varriable is identified by a context and an …\nA generator of evars. Evars are associated with a context. …\nExistential variable id\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nZero value of the index.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the data associated with the context cxid\nEnters a new context generating a context id guaranteed to …\nExit the current context, putting it in the pending list.\nGenerates an evar guaranteed to be fresh in the provided …\nGenerates a fresh evar in the current (top of the stack) …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTry to solve evars in all pending contexts and then empty …\nLambda abstractions. They are purely syntactic and we don…\nFunction application. The syntax allows arbitrary …\nA hole used as a refinement argument or index. It will be …\nA hole is an expression that must be inferred either …\nThe position where a hole appears. This determines how it …\nIn theory a kvar is just an unknown predicate that can use …\nA lambda abstraction with an elaborated output sort. We …\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nA hole in predicate position (e.g., the predicate in a …\nZero value of the index.\nZero value of the index.\nThe list of all arguments with the self arguments at the …\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nThe span for the (base) call-site for def-expanded spans\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nSee BigInt::int_max\nSee BigInt::int_min\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAn expression is an atom if it is “self-delimiting”, …\nSimple syntactic check to see if the expression is a …\nWhether the expression is literally the constant true.\nWhether this is an aggregate expression with no fields.\nApplies a projection to an expression and optimistically …\nThe number of arguments consider to be self arguments.\nSimplify the expression by removing double negations, …\nThe top-level span information\nSee BigInt::uint_max\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nUsed for types that are Copy and which do not care arena …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the set of all free variables. For example, …\nCalls U::from(self).\nNormalize expressions by applying beta reductions for …\nReplaces all holes with the result of calling a closure. …\nRemove all refinements and turn each underlying BaseTy …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nSubstitution for late bound variables\nSubstitution for existential variables\nA substitution with an explicit list of generic arguments.\nSubstitution for generics, i.e., early bound types, …\nA substitution meant to be used only for sorts. It’ll …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSee flux_refineck::type_env::TypeEnv::assign\nReplace all regions with a ReVar assigning each a unique …\nImplementation of GenericsSubstDelegate::sort_for_param") \ No newline at end of file +searchState.loadedDescShard("flux_middle", 0, "This crate contains common type definitions that are used …\nRaw content of Fluent resource for this crate, generated …\nIndicates that there is an existing extern spec for the …\nA “dummy” local definition wrapping an external spec. …\nAn external definition with no corresponding (local) …\nA “dummy” local definition wrapping an extern spec. …\nRepresents errors that can occur when inserting a mapping …\nIndicates that the extern DefId being inserted is actually …\nAn id for a local spec.\nA local definition. Corresponds to MaybeExternId::Local.\nThis enum serves as a type-level reminder that local ids …\nNormally, a DefId is either local or external, and …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nSet of dummy items generated by the extern spec macro we …\nFlux High-Level Intermediate Representation\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nList of implicitly scoped params defined in a scope. The …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the maybe extern id is Extern.\nReturns true if the maybe extern id is Local.\nResolution of explicitly and implicitly scoped parameters. …\nReturns the DefId this id truly corresponds to, i.e, …\nDefines how flux represents refinement types internally. …\nDowncast to a particular variant of an enum or a …\nA signed integer in the range [-2^128, 2^128], represented …\nThis are in order so negative is less than non-negative.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nGiven the bit width of a signed integer type, produces the …\nGiven the bit width of a signed integer type, produces the …\nCalls U::from(self).\nCalls U::from(self).\nGiven the bit width of an unsigned integer type, produces …\nNo value.\nSome value of type T.\nThe sort of an adt (enum/struct) or type alias.\n<qself as path>::name\nAn implicitly scoped parameter declared with @a syntax\nThese are types of things that may be refined with indices …\nA type that parses as a BaseTy but was written without …\nA bit vector with the given width.\nAn implicitly scoped parameter declared with x: T syntax.\nConstrained types {T | p} are like existentials but …\nUser-defined functions with a body definition\nGenerate a fresh evar for the parameter and solve it via …\nA parameter introduced with x: T syntax that we know …\nA parameter declared in an explicit scope, e.g., …\nA unique identifier for a node in the AST. Like HirId it …\nAn item without a corresponding Rust definition, e.g., a …\nA map between rust definitions and flux annotations in …\nOwner version of FluxLocalDefId\nA polymorphic sort function.\nA lifetime hole created during desugaring.\nA boolean-like enum used to mark whether a piece of code …\nA sort that needs to be inferred.\nInference mode for a parameter.\nAn ItemLocalId uniquely identifies something within a …\nGenerate a fresh kvar and let fixpoint infer it. This mode …\nOur surface syntax doesn’t have lifetimes. To deal with …\nA location declared with x: &strg T syntax.\nThe sort of a location parameter introduced with the …\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nHow a parameter was declared in the surface syntax.\nSee rustc_hir::def::PartialRes\nAn implicitly scoped parameter declared with #a syntax\nA predicate that needs to hold on function exit\nA primitive sort.\nNot represented directly in the AST; referred to by name …\nInformation about the refinement parameters associated …\nA predicate required to hold before calling a function.\nA resolved lifetime created during lifting.\nAn item with a corresponding Rust definition, e.g., …\nThe sort of a Self type, as used somewhere other than …\nThe sort of the Self type, as used within a trait.\nA sort parameter inside a polymorphic function or data …\nSee flux_syntax::surface::SortPath\nTheory symbols “interpreted” by the SMT solver: Symbol …\nA boolean-like enum used to mark whether some code should …\nThe sort associated to a (generic) type parameter\nA type constraint on a location\nUser-defined uninterpreted functions with no definition\nA user declared sort.\nThe source-order index of a variant in a type.\nZero value of the index.\nZero value of the index.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nFields indexed by their name and in the same order they …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\ninputs and output in order\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\n“Lift” HIR types into FHIR types.\nWhether this alias was lifted from a hir alias\nWhether this field was lifted from a hir field\nWhether this variant was lifted from a hir variant\nWhether the sig was lifted from a hir signature\nAn (optional) list of universally quantified parameters\nWhen a #[flux::refined_by(..)] annotation mentions generic …\nThe item introducing the Self type alias, e.g., an impl …\nThe trait this Self is a generic parameter for.\nContains the error value\nContains the success value\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nAn interned string.\nAllocates space to store cap elements of type T.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nTransitively follow the parent-chain of def_id to find the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether the item is a dummy item created by the extern …\nIterator over all local def ids that are not a extern spec\nReturn all the qualifiers that apply to an item, including …\nWhether the function is marked with #[flux::should_fail]\nTraverse the parent chain of def_id until the first node …\nTransitively follow the parent-chain of def_id to find the …\nName used during pretty printing to format anonymous bound …\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nZero value of the index.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nUsed to report bugs, typically this means executing an arm …\nContains the error value\nContains the success value\nAn error produced by a query.\nSee QueryErr\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nResolve the def_id and dispatch it to a provider (local, …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nLambda abstractions. They are purely syntactic and we don…\nThe definition of the data sort automatically generated …\nFunction application. The syntax allows arbitrary …\nAn anonymous region parameter for a given fn (&T)\nAnonymous region for the implicit env pointer parameter to …\nNamed region parameters for functions (a in &’a T)\nThe size of a bit-vector\nA bit vector size vvariable id\nRepresents the various closure traits in the language. This\nA const variable ID.\nA De Bruijn index is a standard means of representing …\nThis is a bit of a hack. We use this type internally to …\nA hole used as a refinement argument or index. It will be …\nEquivalent to VariantIdx(0).\nA fixed size\nA hole is an expression that must be inferred either …\nThe position where a hole appears. This determines how it …\nA size that needs to be inferred. Used during sort …\nA type that needs to be inferred by matching the signature …\nIn theory a kvar is just an unknown predicate that can use …\nA lambda abstraction with an elaborated output sort. We …\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nA numeric sort variable.\nA numeric vvariable id\nOption-like enum to explicitly mark that we don’t have …\nA size that has been parameterized, e.g., bound under a …\nParamSort is used for polymorphic sorts (Set, Map etc.) …\nA polymorphic function sort parametric over sorts or …\nA hole in predicate position (e.g., the predicate in a …\nA region variable ID.\nThe raw bytes of a simple value.\nAn argument for a generic parameter in a Sort which can be …\nA placeholder for a sort that needs to be inferred\nSee PolyFuncSort\nA sort variable.\nA sort vvariable id\nA subset type is a simplified version of a type that has …\nA type constructor meant to be used as generic a argument …\nA type variable ID.\nThe source-order index of a variant in a type.\nZero value of the index.\nZero value of the index.\nZero value of the index.\nZero value of the index.\nThe list of all arguments with the self arguments at the …\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nThe span for the (base) call-site for def-expanded spans\nThe base type b in the subset type {b[e] | p}.\nA canonical type is a type where all existentials and …\nIterate and collect all parameters in this item including …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nDefId of the container, i.e., the impl block or trait.\nDefId of the struct, enum or type aliases this data sort …\nThe list of field names as declared in the …\nGiven a list of generic args, returns an iterator of the …\nThis modules follows the implementation of folding in …\nCreates a GenericArgs from the definition of generic …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nThe refinement index e in the subset type {b[e] | p}. This …\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the sort is Bool.\nWhether the type is a bool\nWhether the type is an int or a uint\nWhether the sort is a function with return sort bool\nThe list of the type parameters used in the …\nThe list of parameters including sorts and bit vector sizes\nThe predicate p in the subset type {b[e] | p}.\nIf self is a primitive, return its Symbol.\nHolds the refinement-arguments for opaque-types; empty for …\nRefining is the process of generating a refined version of …\nThe number of arguments consider to be self arguments.\nThis method work only with associated type projections …\nHoist existentials and predicates inside the type stopping …\nreturns the same invariants as for usize which is the …\nThe sort of each of the fields. Note that these can …\nThe top-level span information\nSee rustc_middle::ty::ExistentialPredicateStableCmpExt\nThis is the subset type version of …\nDummy type used for the Self of a TraitRef created when …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nSee subst::GenericsSubstForSort\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the bound variable kind is Refine.\nThis is the subset type version of …\nA (shallowly) canonicalized type. This can be either of …\nA type of the form {T | p}\nA type of the form ∃v0,…,vn. {T | p}\nThe Hoister struct is responsible for hoisting …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGuaranteed to not have any (shallow) existential or …\nAn existential varriable is identified by a context and an …\nA generator of evars. Evars are associated with a context. …\nExistential variable id\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nZero value of the index.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the data associated with the context cxid\nEnters a new context generating a context id guaranteed to …\nExit the current context, putting it in the pending list.\nGenerates an evar guaranteed to be fresh in the provided …\nGenerates a fresh evar in the current (top of the stack) …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTry to solve evars in all pending contexts and then empty …\nLambda abstractions. They are purely syntactic and we don…\nFunction application. The syntax allows arbitrary …\nA hole used as a refinement argument or index. It will be …\nA hole is an expression that must be inferred either …\nThe position where a hole appears. This determines how it …\nIn theory a kvar is just an unknown predicate that can use …\nA lambda abstraction with an elaborated output sort. We …\nMaximum value the index can take.\nMaximum value the index can take.\nMaximum value the index can take, as a u32.\nMaximum value the index can take, as a u32.\nA hole in predicate position (e.g., the predicate in a …\nZero value of the index.\nZero value of the index.\nThe list of all arguments with the self arguments at the …\nExtracts the value of this index as a u32.\nExtracts the value of this index as a u32.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nThe span for the (base) call-site for def-expanded spans\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreates a new index from a given u16.\nCreates a new index from a given u16.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given u32.\nCreates a new index from a given usize.\nCreates a new index from a given usize.\nExtracts the value of this index as a usize.\nExtracts the value of this index as a usize.\nSee BigInt::int_max\nSee BigInt::int_min\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAn expression is an atom if it is “self-delimiting”, …\nSimple syntactic check to see if the expression is a …\nWhether the expression is literally the constant true.\nWhether this is an aggregate expression with no fields.\nApplies a projection to an expression and optimistically …\nThe number of arguments consider to be self arguments.\nSimplify the expression by removing double negations, …\nThe top-level span information\nSee BigInt::uint_max\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nCalls U::from(self).\nUsed for types that are Copy and which do not care arena …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the set of all free variables. For example, …\nCalls U::from(self).\nNormalize expressions by applying beta reductions for …\nReplaces all holes with the result of calling a closure. …\nRemove all refinements and turn each underlying BaseTy …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nSubstitution for late bound variables\nSubstitution for existential variables\nA substitution with an explicit list of generic arguments.\nSubstitution for generics, i.e., early bound types, …\nA substitution meant to be used only for sorts. It’ll …\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nEquivalent to f(&iter.collect::<Vec<_>>()).\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSee flux_refineck::type_env::TypeEnv::assign\nReplace all regions with a ReVar assigning each a unique …\nImplementation of GenericsSubstDelegate::sort_for_param") \ No newline at end of file diff --git a/doc/settings.html b/doc/settings.html index d98e8e3eba..db26217c64 100644 --- a/doc/settings.html +++ b/doc/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/doc/src/flux_desugar/desugar.rs.html b/doc/src/flux_desugar/desugar.rs.html index b5dca61412..9009b1a789 100644 --- a/doc/src/flux_desugar/desugar.rs.html +++ b/doc/src/flux_desugar/desugar.rs.html @@ -1569,6 +1569,9 @@ 1569 1570 1571 +1572 +1573 +1574
use std::iter;
 
 use flux_common::{bug, dbg, index::IndexGen, iter::IterExt, span_bug};
@@ -2732,12 +2735,12 @@
         match &bty.kind {
             surface::BaseTyKind::Path(qself, path) => {
                 let qpath = self.desugar_qpath(qself.as_deref(), path)?;
-                Ok(fhir::BaseTy::from(qpath))
+                Ok(fhir::BaseTy::from_qpath(qpath, self.next_fhir_id()))
             }
             surface::BaseTyKind::Slice(ty) => {
                 let ty = self.desugar_ty(ty)?;
                 let kind = fhir::BaseTyKind::Slice(self.genv().alloc(ty));
-                Ok(fhir::BaseTy { kind, span: bty.span })
+                Ok(fhir::BaseTy { kind, fhir_id: self.next_fhir_id(), span: bty.span })
             }
         }
     }
@@ -2748,7 +2751,7 @@
         path: &surface::Path,
     ) -> Result<fhir::BaseTy<'genv>> {
         let qpath = self.desugar_qpath(qself, path)?;
-        Ok(fhir::BaseTy::from(qpath))
+        Ok(fhir::BaseTy::from_qpath(qpath, self.next_fhir_id()))
     }
 
     fn desugar_qpath(
@@ -2830,7 +2833,10 @@
     }
 
     fn ty_path(&self, qpath: fhir::QPath<'genv>) -> fhir::Ty<'genv> {
-        fhir::Ty { span: qpath.span(), kind: fhir::TyKind::BaseTy(fhir::BaseTy::from(qpath)) }
+        fhir::Ty {
+            span: qpath.span(),
+            kind: fhir::TyKind::BaseTy(fhir::BaseTy::from_qpath(qpath, self.next_fhir_id())),
+        }
     }
 
     fn mk_lft_hole(&self) -> fhir::Lifetime {
diff --git a/doc/src/flux_fhir_analysis/conv/mod.rs.html b/doc/src/flux_fhir_analysis/conv/mod.rs.html
index cfc372cfbc..ed53c8063c 100644
--- a/doc/src/flux_fhir_analysis/conv/mod.rs.html
+++ b/doc/src/flux_fhir_analysis/conv/mod.rs.html
@@ -2112,6 +2112,87 @@
 2112
 2113
 2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
 

//! Conversion from types in [`fhir`] to types in [`rty`]
 //!
 //! Conversion assumes well-formedness and will panic if type are not well-formed. Among other things,
@@ -2122,7 +2203,7 @@
 //!    syntactic restrictions on predicates.
 //! 3. Refinements are well-sorted.
 
-mod struct_compat;
+pub mod struct_compat;
 use std::{borrow::Borrow, iter};
 
 use flux_common::{bug, iter::IterExt, span_bug};
@@ -2162,17 +2243,116 @@
 use rustc_trait_selection::traits;
 use rustc_type_ir::DebruijnIndex;
 
-pub struct ConvCtxt<'a, 'genv, 'tcx> {
+use crate::compare_impl_item::errors::InvalidAssocReft;
+
+pub struct ConvCtxt<'genv, 'tcx, P> {
     genv: GlobalEnv<'genv, 'tcx>,
-    wfckresults: &'a WfckResults,
+    phase: P,
     next_type_index: u32,
     next_region_index: u32,
     next_const_index: u32,
 }
 
+/// We do conversion twice: once before sort checking when we don't have elaborated information
+/// and then again after sort checking after all information has been elaborated. This is the
+/// interface to configure conversion for both *phases*.
+pub trait ConvPhase {
+    /// Whether to expand type aliases or to generate a *weak* [`rty::AliasTy`].
+    const EXPAND_TYPE_ALIASES: bool;
+
+    type Results: WfckResultsProvider;
+
+    fn results(&self) -> &Self::Results;
+
+    /// Called after converting an indexed type `b[e]` with the `fhir_id` and sort of `b`. Used
+    /// during the first phase to collect the sort of base types.
+    fn insert_bty_sort(&mut self, fhir_id: FhirId, sort: rty::Sort);
+
+    /// Called after converting an [`fhir::ExprKind::Alias`] with the sort of the resulting
+    /// [`rty::AliasReft`]. Used during the first phase to collect the sorts of refinement aliases.
+    fn insert_alias_reft_sort(&mut self, fhir_id: FhirId, fsort: rty::FuncSort);
+}
+
+/// An interface to the information elaborated during sort checking. We mock these results in
+/// the first conversion phase before sort checking.
+pub trait WfckResultsProvider: Sized {
+    fn owner(&self) -> FluxOwnerId;
+
+    fn bin_rel_sort(&self, fhir_id: FhirId) -> rty::Sort;
+
+    fn coercions_for(&self, fhir_id: FhirId) -> &[rty::Coercion];
+
+    fn field_proj(&self, fhir_id: FhirId) -> rty::FieldProj;
+
+    fn lambda_output(&self, fhir_id: FhirId) -> rty::Sort;
+
+    fn record_ctor(&self, fhir_id: FhirId) -> DefId;
+
+    fn param_sort(&self, param: &fhir::RefineParam) -> rty::Sort;
+}
+
+impl<'a> ConvPhase for &'a WfckResults {
+    const EXPAND_TYPE_ALIASES: bool = true;
+
+    type Results = WfckResults;
+
+    fn results(&self) -> &Self::Results {
+        self
+    }
+
+    fn insert_bty_sort(&mut self, _: FhirId, _: rty::Sort) {}
+
+    fn insert_alias_reft_sort(&mut self, _: FhirId, _: rty::FuncSort) {}
+}
+
+impl WfckResultsProvider for WfckResults {
+    fn owner(&self) -> FluxOwnerId {
+        self.owner
+    }
+
+    fn bin_rel_sort(&self, fhir_id: FhirId) -> rty::Sort {
+        self.bin_rel_sorts()
+            .get(fhir_id)
+            .cloned()
+            .unwrap_or_else(|| bug!("binary relation without elaborated sort `{fhir_id:?}`"))
+    }
+
+    fn coercions_for(&self, fhir_id: FhirId) -> &[rty::Coercion] {
+        self.coercions().get(fhir_id).map_or(&[][..], Vec::as_slice)
+    }
+
+    fn field_proj(&self, fhir_id: FhirId) -> rty::FieldProj {
+        *self
+            .field_projs()
+            .get(fhir_id)
+            .unwrap_or_else(|| bug!("field projectoin without elaboration `{fhir_id:?}`"))
+    }
+
+    fn lambda_output(&self, fhir_id: FhirId) -> rty::Sort {
+        self.node_sorts()
+            .get(fhir_id)
+            .unwrap_or_else(|| bug!("lambda without elaborated sort for `{fhir_id:?}`"))
+            .clone()
+    }
+
+    fn record_ctor(&self, fhir_id: FhirId) -> DefId {
+        *self
+            .record_ctors()
+            .get(fhir_id)
+            .unwrap_or_else(|| bug!("unelaborated record constructor `{fhir_id:?}`"))
+    }
+
+    fn param_sort(&self, param: &fhir::RefineParam) -> rty::Sort {
+        self.node_sorts()
+            .get(param.fhir_id)
+            .unwrap_or_else(|| bug!("unresolved sort for param `{param:?}`"))
+            .clone()
+    }
+}
+
 pub(crate) struct Env {
     layers: Vec<Layer>,
-    early_param: FxIndexMap<fhir::ParamId, Symbol>,
+    early_params: FxIndexMap<fhir::ParamId, Symbol>,
 }
 
 #[derive(Debug, Clone)]
@@ -2246,76 +2426,12 @@
     Ok(rty::AdtSortDef::new(def_id.resolved_id(), params, fields))
 }
 
-pub(crate) fn expand_type_alias(
-    genv: GlobalEnv,
-    def_id: MaybeExternId,
-    alias: &fhir::TyAlias,
-    wfckresults: &WfckResults,
-) -> QueryResult<rty::Binder<rty::Ty>> {
-    let mut cx = ConvCtxt::new(genv, wfckresults);
-    let generics = genv.map().get_generics(def_id.local_id())?.unwrap();
-
-    let mut env = Env::new(generics.refinement_params);
-    env.push_layer(Layer::coalesce(&cx, def_id.resolved_id(), alias.params)?);
-
-    let ty = cx.conv_ty(&mut env, &alias.ty)?;
-
-    let ty = struct_compat::type_alias(genv, alias, &ty, def_id)?;
-
-    Ok(rty::Binder::bind_with_vars(ty, env.pop_layer().into_bound_vars(genv)?))
-}
-
-pub(crate) fn conv_generic_predicates(
-    genv: GlobalEnv,
-    def_id: LocalDefId,
-    predicates: &[fhir::WhereBoundPredicate],
-    wfckresults: &WfckResults,
-) -> QueryResult<rty::EarlyBinder<rty::GenericPredicates>> {
-    let mut cx = ConvCtxt::new(genv, wfckresults);
-
-    let refparams = &genv.map().get_generics(def_id)?.unwrap().refinement_params;
-
-    let env = &mut Env::new(refparams);
-
-    let mut clauses = vec![];
-    for pred in predicates {
-        let span = pred.bounded_ty.span;
-        let bounded_ty = cx.conv_ty(env, &pred.bounded_ty)?;
-        for clause in cx.conv_generic_bounds(env, span, bounded_ty, pred.bounds)? {
-            clauses.push(clause);
-        }
-    }
-    let parent = genv.tcx().predicates_of(def_id.to_def_id()).parent;
-    Ok(rty::EarlyBinder(rty::GenericPredicates { parent, predicates: List::from_vec(clauses) }))
-}
-
-pub(crate) fn conv_opaque_ty(
-    genv: GlobalEnv,
-    def_id: LocalDefId,
-    opaque_ty: &fhir::OpaqueTy,
-    wfckresults: &WfckResults,
-) -> QueryResult<rty::Clauses> {
-    let mut cx = ConvCtxt::new(genv, wfckresults);
-    let parent = genv.tcx().local_parent(def_id);
-    let refparams = &genv.map().get_generics(parent)?.unwrap().refinement_params;
-
-    let env = &mut Env::new(refparams);
-
-    let args = rty::GenericArg::identity_for_item(genv, def_id)?;
-    let self_ty = rty::Ty::opaque(def_id, args, env.to_early_param_args());
-    // FIXME(nilehmann) use a good span here
-    Ok(cx
-        .conv_generic_bounds(env, DUMMY_SP, self_ty, opaque_ty.bounds)?
-        .into_iter()
-        .collect())
-}
-
 pub(crate) fn conv_generics(
     genv: GlobalEnv,
     generics: &fhir::Generics,
     def_id: MaybeExternId,
     is_trait: bool,
-) -> QueryResult<rty::Generics> {
+) -> rty::Generics {
     let opt_self = is_trait.then(|| {
         let kind = generics
             .self_kind
@@ -2363,12 +2479,12 @@
         }
     }
     let rust_generics = genv.tcx().generics_of(def_id.resolved_id());
-    Ok(rty::Generics {
+    rty::Generics {
         own_params: List::from_vec(params),
         parent: rust_generics.parent,
         parent_count: rust_generics.parent_count,
         has_self: rust_generics.has_self,
-    })
+    }
 }
 
 pub(crate) fn conv_refinement_generics(
@@ -2379,7 +2495,11 @@
     params
         .iter()
         .map(|param| {
-            let sort = resolve_param_sort(genv, param, wfckresults)?;
+            let sort = if let Some(wfckresults) = wfckresults {
+                wfckresults.param_sort(param)
+            } else {
+                conv_sort(genv, &param.sort, &mut bug_on_infer_sort)?
+            };
             let mode = rty::InferMode::from_param_kind(param.kind);
             Ok(rty::RefineParam { sort, name: param.name, mode })
         })
@@ -2408,7 +2528,7 @@
 ) -> QueryResult<Vec<rty::Invariant>> {
     let mut cx = ConvCtxt::new(genv, wfckresults);
     let mut env = Env::new(&[]);
-    env.push_layer(Layer::coalesce(&cx, def_id.resolved_id(), params)?);
+    env.push_layer(Layer::coalesce(wfckresults, def_id.resolved_id(), params));
     cx.conv_invariants(&mut env, invariants)
 }
 
@@ -2420,7 +2540,7 @@
     if let Some(body) = &func.body {
         let mut cx = ConvCtxt::new(genv, wfckresults);
         let mut env = Env::new(&[]);
-        env.push_layer(Layer::list(&cx, 0, func.args)?);
+        env.push_layer(Layer::list(wfckresults, 0, func.args));
         let expr = cx.conv_expr(&mut env, body)?;
         let expr = rty::Binder::bind_with_vars(expr, env.pop_layer().into_bound_vars(genv)?);
         Ok(Some(rty::SpecFunc { name: func.name, expr }))
@@ -2436,82 +2556,12 @@
 ) -> QueryResult<rty::Qualifier> {
     let mut cx = ConvCtxt::new(genv, wfckresults);
     let mut env = Env::new(&[]);
-    env.push_layer(Layer::list(&cx, 0, qualifier.args)?);
+    env.push_layer(Layer::list(wfckresults, 0, qualifier.args));
     let body = cx.conv_expr(&mut env, &qualifier.expr)?;
     let body = rty::Binder::bind_with_vars(body, env.pop_layer().into_bound_vars(genv)?);
     Ok(rty::Qualifier { name: qualifier.name, body, global: qualifier.global })
 }
 
-pub(crate) fn conv_fn_sig(
-    genv: GlobalEnv,
-    def_id: MaybeExternId,
-    fn_sig: &fhir::FnSig,
-    wfckresults: &WfckResults,
-) -> QueryResult<rty::EarlyBinder<rty::PolyFnSig>> {
-    let decl = &fn_sig.decl;
-    let header = fn_sig.header;
-
-    let mut cx = ConvCtxt::new(genv, wfckresults);
-
-    let late_bound_regions =
-        refining::refine_bound_variables(&genv.lower_late_bound_vars(def_id.local_id())?);
-
-    let generics = genv.map().get_generics(def_id.local_id())?.unwrap();
-    let mut env = Env::new(generics.refinement_params);
-    env.push_layer(Layer::list(&cx, late_bound_regions.len() as u32, &[])?);
-
-    let fn_sig = cx.conv_fn_decl(&mut env, header.safety, header.abi, decl)?;
-
-    let vars = late_bound_regions
-        .iter()
-        .chain(env.pop_layer().into_bound_vars(genv)?.iter())
-        .cloned()
-        .collect();
-
-    let poly_fn_sig = rty::PolyFnSig::bind_with_vars(fn_sig, vars);
-    let poly_fn_sig = struct_compat::fn_sig(genv, decl, &poly_fn_sig, def_id)?;
-
-    Ok(rty::EarlyBinder(poly_fn_sig))
-}
-
-pub(crate) fn conv_default_assoc_reft_def(
-    genv: GlobalEnv,
-    assoc_reft: &fhir::TraitAssocReft,
-    wfckresults: &WfckResults,
-) -> QueryResult<Option<rty::Lambda>> {
-    if let Some(body) = assoc_reft.body {
-        let res =
-            conv_assoc_reft_body(genv, wfckresults, assoc_reft.params, &body, &assoc_reft.output)?;
-        Ok(Some(res))
-    } else {
-        Ok(None)
-    }
-}
-
-pub(crate) fn conv_assoc_reft_def(
-    genv: GlobalEnv,
-    assoc_reft: &fhir::ImplAssocReft,
-    wfckresults: &WfckResults,
-) -> QueryResult<rty::Lambda> {
-    conv_assoc_reft_body(genv, wfckresults, assoc_reft.params, &assoc_reft.body, &assoc_reft.output)
-}
-
-fn conv_assoc_reft_body(
-    genv: GlobalEnv,
-    wfckresults: &WfckResults,
-    params: &[fhir::RefineParam],
-    body: &fhir::Expr,
-    output: &fhir::Sort,
-) -> QueryResult<rty::Lambda> {
-    let mut cx = ConvCtxt::new(genv, wfckresults);
-    let mut env = Env::new(&[]);
-    env.push_layer(Layer::list(&cx, 0, params)?);
-    let expr = cx.conv_expr(&mut env, body)?;
-    let inputs = env.pop_layer().into_bound_vars(genv)?;
-    let output = conv_sort(genv, output, &mut bug_on_infer_sort)?;
-    Ok(rty::Lambda::bind_with_vars(expr, inputs, output))
-}
-
 pub(crate) fn conv_ty(
     genv: GlobalEnv,
     ty: &fhir::Ty,
@@ -2522,11 +2572,12 @@
     Ok(rty::Binder::bind_with_vars(ty, List::empty()))
 }
 
-impl<'a, 'genv, 'tcx> ConvCtxt<'a, 'genv, 'tcx> {
-    pub(crate) fn new(genv: GlobalEnv<'genv, 'tcx>, wfckresults: &'a WfckResults) -> Self {
+/// Conversion of definitions
+impl<'genv, 'tcx, P: ConvPhase> ConvCtxt<'genv, 'tcx, P> {
+    pub(crate) fn new(genv: GlobalEnv<'genv, 'tcx>, mode: P) -> Self {
         Self {
             genv,
-            wfckresults,
+            phase: mode,
             // We start from 1 to skip the trait object dummy self type.
             // See [`rty::Ty::trait_object_dummy_self`]
             next_type_index: 1,
@@ -2535,6 +2586,268 @@
         }
     }
 
+    fn owner(&self) -> FluxOwnerId {
+        self.phase.results().owner()
+    }
+
+    fn results(&self) -> &P::Results {
+        self.phase.results()
+    }
+
+    pub(crate) fn conv_enum_variants(
+        &mut self,
+        enum_id: MaybeExternId,
+        enum_def: &fhir::EnumDef,
+    ) -> QueryResult<Vec<rty::PolyVariant>> {
+        enum_def
+            .variants
+            .iter()
+            .map(|variant| self.conv_enum_variant(enum_id, variant))
+            .try_collect_vec()
+    }
+
+    fn conv_enum_variant(
+        &mut self,
+        enum_id: MaybeExternId,
+        variant: &fhir::VariantDef,
+    ) -> QueryResult<rty::PolyVariant> {
+        let mut env = Env::new(&[]);
+        env.push_layer(Layer::list(self.results(), 0, variant.params));
+
+        let fields = variant
+            .fields
+            .iter()
+            .map(|field| self.conv_ty(&mut env, &field.ty))
+            .try_collect()?;
+
+        let adt_def = self.genv.adt_def(enum_id)?;
+        let idxs = self.conv_refine_arg(&mut env, &variant.ret.idx)?;
+        let variant = rty::VariantSig::new(
+            adt_def,
+            rty::GenericArg::identity_for_item(self.genv, enum_id.resolved_id())?,
+            fields,
+            idxs,
+        );
+
+        Ok(rty::Binder::bind_with_vars(variant, env.pop_layer().into_bound_vars(self.genv)?))
+    }
+
+    pub(crate) fn conv_struct_variant(
+        &mut self,
+        struct_id: MaybeExternId,
+        struct_def: &fhir::StructDef,
+    ) -> QueryResult<rty::Opaqueness<rty::PolyVariant>> {
+        let mut env = Env::new(&[]);
+        env.push_layer(Layer::list(self.results(), 0, struct_def.params));
+
+        if let fhir::StructKind::Transparent { fields } = &struct_def.kind {
+            let adt_def = self.genv.adt_def(struct_id)?;
+
+            let fields = fields
+                .iter()
+                .map(|field_def| self.conv_ty(&mut env, &field_def.ty))
+                .try_collect()?;
+
+            let vars = env.pop_layer().into_bound_vars(self.genv)?;
+            let idx = rty::Expr::adt(
+                struct_id.resolved_id(),
+                (0..vars.len())
+                    .map(|idx| {
+                        rty::Expr::bvar(
+                            INNERMOST,
+                            BoundVar::from_usize(idx),
+                            rty::BoundReftKind::Annon,
+                        )
+                    })
+                    .collect(),
+            );
+            let variant = rty::VariantSig::new(
+                adt_def,
+                rty::GenericArg::identity_for_item(self.genv, struct_id.resolved_id())?,
+                fields,
+                idx,
+            );
+            let variant = rty::Binder::bind_with_vars(variant, vars);
+            Ok(rty::Opaqueness::Transparent(variant))
+        } else {
+            Ok(rty::Opaqueness::Opaque)
+        }
+    }
+
+    pub(crate) fn conv_type_alias(
+        &mut self,
+        ty_alias_id: MaybeExternId,
+        ty_alias: &fhir::TyAlias,
+    ) -> QueryResult<rty::TyCtor> {
+        let generics = self
+            .genv
+            .map()
+            .get_generics(ty_alias_id.local_id())?
+            .unwrap();
+
+        let mut env = Env::new(generics.refinement_params);
+        env.push_layer(Layer::coalesce(self.results(), ty_alias_id.resolved_id(), ty_alias.params));
+
+        let ty = self.conv_ty(&mut env, &ty_alias.ty)?;
+
+        Ok(rty::Binder::bind_with_vars(ty, env.pop_layer().into_bound_vars(self.genv)?))
+    }
+
+    pub(crate) fn conv_fn_sig(
+        &mut self,
+        fn_id: MaybeExternId,
+        fn_sig: &fhir::FnSig,
+    ) -> QueryResult<rty::PolyFnSig> {
+        let decl = &fn_sig.decl;
+        let header = fn_sig.header;
+
+        let late_bound_regions =
+            refining::refine_bound_variables(&self.genv.lower_late_bound_vars(fn_id.local_id())?);
+
+        let generics = self.genv.map().get_generics(fn_id.local_id())?.unwrap();
+        let mut env = Env::new(generics.refinement_params);
+        env.push_layer(Layer::list(self.results(), late_bound_regions.len() as u32, &[]));
+
+        let fn_sig = self.conv_fn_decl(&mut env, header.safety, header.abi, decl)?;
+
+        let vars = late_bound_regions
+            .iter()
+            .chain(env.pop_layer().into_bound_vars(self.genv)?.iter())
+            .cloned()
+            .collect();
+
+        Ok(rty::PolyFnSig::bind_with_vars(fn_sig, vars))
+    }
+
+    pub(crate) fn conv_generic_predicates(
+        &mut self,
+        def_id: MaybeExternId,
+        generics: &fhir::Generics,
+    ) -> QueryResult<rty::EarlyBinder<rty::GenericPredicates>> {
+        let env = &mut Env::new(generics.refinement_params);
+
+        let mut clauses = vec![];
+        for pred in generics.predicates {
+            let span = pred.bounded_ty.span;
+            let bounded_ty = self.conv_ty(env, &pred.bounded_ty)?;
+            for clause in self.conv_generic_bounds(env, span, bounded_ty, pred.bounds)? {
+                clauses.push(clause);
+            }
+        }
+        let parent = self.genv.tcx().predicates_of(def_id).parent;
+        Ok(rty::EarlyBinder(rty::GenericPredicates { parent, predicates: List::from_vec(clauses) }))
+    }
+
+    pub(crate) fn conv_opaque_ty(
+        &mut self,
+        def_id: LocalDefId,
+        opaque_ty: &fhir::OpaqueTy,
+    ) -> QueryResult<rty::Clauses> {
+        let parent = self.genv.tcx().local_parent(def_id);
+        let refparams = &self
+            .genv
+            .map()
+            .get_generics(parent)?
+            .unwrap()
+            .refinement_params;
+
+        let env = &mut Env::new(refparams);
+
+        let args = rty::GenericArg::identity_for_item(self.genv, def_id)?;
+        let self_ty = rty::Ty::opaque(def_id, args, env.to_early_param_args());
+        // FIXME(nilehmann) use a good span here
+        Ok(self
+            .conv_generic_bounds(env, DUMMY_SP, self_ty, opaque_ty.bounds)?
+            .into_iter()
+            .collect())
+    }
+
+    pub(crate) fn conv_assoc_reft_body(
+        &mut self,
+        params: &[fhir::RefineParam],
+        body: &fhir::Expr,
+        output: &fhir::Sort,
+    ) -> QueryResult<rty::Lambda> {
+        let mut env = Env::new(&[]);
+        env.push_layer(Layer::list(self.results(), 0, params));
+        let expr = self.conv_expr(&mut env, body)?;
+        let inputs = env.pop_layer().into_bound_vars(self.genv)?;
+        let output = conv_sort(self.genv, output, &mut bug_on_infer_sort)?;
+        Ok(rty::Lambda::bind_with_vars(expr, inputs, output))
+    }
+}
+
+/// Conversion of types
+impl<'genv, 'tcx, P: ConvPhase> ConvCtxt<'genv, 'tcx, P> {
+    fn conv_fn_decl(
+        &mut self,
+        env: &mut Env,
+        safety: Safety,
+        abi: abi::Abi,
+        decl: &fhir::FnDecl,
+    ) -> QueryResult<rty::FnSig> {
+        let mut requires = vec![];
+        for req in decl.requires {
+            requires.push(self.conv_requires(env, req)?);
+        }
+
+        let mut inputs = vec![];
+        for ty in decl.inputs {
+            inputs.push(self.conv_ty(env, ty)?);
+        }
+
+        let output = self.conv_fn_output(env, &decl.output)?;
+
+        Ok(rty::FnSig::new(safety, abi, requires.into(), inputs.into(), output))
+    }
+
+    fn conv_requires(
+        &mut self,
+        env: &mut Env,
+        requires: &fhir::Requires,
+    ) -> QueryResult<rty::Expr> {
+        if requires.params.is_empty() {
+            self.conv_expr(env, &requires.pred)
+        } else {
+            env.push_layer(Layer::list(self.results(), 0, requires.params));
+            let pred = self.conv_expr(env, &requires.pred)?;
+            let sorts = env.pop_layer().into_bound_vars(self.genv)?;
+            Ok(rty::Expr::forall(rty::Binder::bind_with_vars(pred, sorts)))
+        }
+    }
+
+    fn conv_ensures(
+        &mut self,
+        env: &mut Env,
+        ensures: &fhir::Ensures,
+    ) -> QueryResult<rty::Ensures> {
+        match ensures {
+            fhir::Ensures::Type(loc, ty) => {
+                Ok(rty::Ensures::Type(env.lookup(loc).to_path(), self.conv_ty(env, ty)?))
+            }
+            fhir::Ensures::Pred(pred) => Ok(rty::Ensures::Pred(self.conv_expr(env, pred)?)),
+        }
+    }
+
+    fn conv_fn_output(
+        &mut self,
+        env: &mut Env,
+        output: &fhir::FnOutput,
+    ) -> QueryResult<rty::Binder<rty::FnOutput>> {
+        env.push_layer(Layer::list(self.results(), 0, output.params));
+
+        let ret = self.conv_ty(env, &output.ret)?;
+        let ensures: List<rty::Ensures> = output
+            .ensures
+            .iter()
+            .map(|ens| self.conv_ensures(env, ens))
+            .try_collect()?;
+        let output = rty::FnOutput::new(ret, ensures);
+
+        let vars = env.pop_layer().into_bound_vars(self.genv)?;
+        Ok(rty::Binder::bind_with_vars(output, vars))
+    }
+
     fn conv_generic_bounds(
         &mut self,
         env: &mut Env,
@@ -2678,7 +2991,7 @@
         clauses: &mut Vec<rty::Clause>,
     ) -> QueryResult {
         let path = &trait_ref.trait_ref;
-        let layer = Layer::list(self, trait_ref.bound_generic_params.len() as u32, &[])?;
+        let layer = Layer::list(self.results(), trait_ref.bound_generic_params.len() as u32, &[]);
         env.push_layer(layer);
 
         let fhir::AssocItemConstraintKind::Equality { term } =
@@ -2691,229 +3004,52 @@
             kind,
         };
         // FIXME(nilehmann) We should use `tcx.late_bound_vars` here instead of trusting our lowering
-        let vars = trait_ref
-            .bound_generic_params
-            .iter()
-            .map(|param| self.param_as_bound_var(param))
-            .try_collect_vec()?;
-        clauses.push(rty::Clause::new(vars, rty::ClauseKind::FnTrait(pred)));
-        Ok(())
-    }
-
-    fn trait_defines_associated_item_named(
-        &self,
-        trait_def_id: DefId,
-        assoc_kind: AssocKind,
-        assoc_name: Ident,
-    ) -> Option<&AssocItem> {
-        self.genv
-            .tcx()
-            .associated_items(trait_def_id)
-            .find_by_name_and_kind(self.genv.tcx(), assoc_name, assoc_kind, trait_def_id)
-    }
-
-    fn conv_fn_output(
-        &mut self,
-        env: &mut Env,
-        output: &fhir::FnOutput,
-    ) -> QueryResult<rty::Binder<rty::FnOutput>> {
-        env.push_layer(Layer::list(self, 0, output.params)?);
-
-        let ret = self.conv_ty(env, &output.ret)?;
-        let ensures: List<rty::Ensures> = output
-            .ensures
-            .iter()
-            .map(|ens| self.conv_ensures(env, ens))
-            .try_collect()?;
-        let output = rty::FnOutput::new(ret, ensures);
-
-        let vars = env.pop_layer().into_bound_vars(self.genv)?;
-        Ok(rty::Binder::bind_with_vars(output, vars))
-    }
-
-    pub(crate) fn conv_enum_variants(
-        genv: GlobalEnv,
-        adt_def_id: MaybeExternId,
-        enum_def: &fhir::EnumDef,
-        wfckresults: &WfckResults,
-    ) -> QueryResult<Vec<rty::PolyVariant>> {
-        let variants = enum_def
-            .variants
-            .iter()
-            .map(|variant_def| {
-                ConvCtxt::conv_enum_variant(genv, adt_def_id, variant_def, wfckresults)
-            })
-            .try_collect_vec()?;
-        let variants = struct_compat::variants(genv, &variants, adt_def_id)?;
-        Ok(variants)
-    }
-
-    fn conv_enum_variant(
-        genv: GlobalEnv,
-        adt_def_id: MaybeExternId,
-        variant: &fhir::VariantDef,
-        wfckresults: &WfckResults,
-    ) -> QueryResult<rty::PolyVariant> {
-        let mut cx = ConvCtxt::new(genv, wfckresults);
-
-        let mut env = Env::new(&[]);
-        env.push_layer(Layer::list(&cx, 0, variant.params)?);
-
-        let fields = variant
-            .fields
-            .iter()
-            .map(|field| cx.conv_ty(&mut env, &field.ty))
-            .try_collect()?;
-
-        let adt_def = genv.adt_def(adt_def_id)?;
-        let idxs = cx.conv_refine_arg(&mut env, &variant.ret.idx)?;
-        let variant = rty::VariantSig::new(
-            adt_def,
-            rty::GenericArg::identity_for_item(genv, adt_def_id.resolved_id())?,
-            fields,
-            idxs,
-        );
-
-        Ok(rty::Binder::bind_with_vars(variant, env.pop_layer().into_bound_vars(genv)?))
-    }
-
-    pub(crate) fn conv_struct_variant(
-        genv: GlobalEnv,
-        adt_def_id: MaybeExternId,
-        struct_def: &fhir::StructDef,
-        wfckresults: &WfckResults,
-    ) -> QueryResult<rty::Opaqueness<Vec<rty::PolyVariant>>> {
-        let mut cx = ConvCtxt::new(genv, wfckresults);
-        let mut env = Env::new(&[]);
-        env.push_layer(Layer::list(&cx, 0, struct_def.params)?);
-
-        if let fhir::StructKind::Transparent { fields } = &struct_def.kind {
-            let adt_def = genv.adt_def(adt_def_id)?;
-
-            let fields = fields
-                .iter()
-                .map(|field_def| cx.conv_ty(&mut env, &field_def.ty))
-                .try_collect()?;
-
-            let vars = env.pop_layer().into_bound_vars(genv)?;
-            let idx = rty::Expr::adt(
-                adt_def_id.resolved_id(),
-                (0..vars.len())
-                    .map(|idx| {
-                        rty::Expr::bvar(
-                            INNERMOST,
-                            BoundVar::from_usize(idx),
-                            rty::BoundReftKind::Annon,
-                        )
-                    })
-                    .collect(),
-            );
-            let variant = rty::VariantSig::new(
-                adt_def,
-                rty::GenericArg::identity_for_item(genv, adt_def_id.resolved_id())?,
-                fields,
-                idx,
-            );
-            let variant = rty::Binder::bind_with_vars(variant, vars);
-            let variants = struct_compat::variants(genv, &[variant], adt_def_id)?;
-            Ok(rty::Opaqueness::Transparent(variants))
-        } else {
-            Ok(rty::Opaqueness::Opaque)
-        }
-    }
-
-    fn conv_fn_decl(
-        &mut self,
-        env: &mut Env,
-        safety: Safety,
-        abi: abi::Abi,
-        decl: &fhir::FnDecl,
-    ) -> QueryResult<rty::FnSig> {
-        let mut requires = vec![];
-        for req in decl.requires {
-            requires.push(self.conv_requires(env, req)?);
-        }
-
-        let mut inputs = vec![];
-        for ty in decl.inputs {
-            inputs.push(self.conv_ty(env, ty)?);
-        }
-
-        let output = self.conv_fn_output(env, &decl.output)?;
-
-        Ok(rty::FnSig::new(safety, abi, requires.into(), inputs.into(), output))
-    }
-
-    fn conv_requires(
-        &mut self,
-        env: &mut Env,
-        requires: &fhir::Requires,
-    ) -> QueryResult<rty::Expr> {
-        if requires.params.is_empty() {
-            self.conv_expr(env, &requires.pred)
-        } else {
-            env.push_layer(Layer::list(self, 0, requires.params)?);
-            let pred = self.conv_expr(env, &requires.pred)?;
-            let sorts = env.pop_layer().into_bound_vars(self.genv)?;
-            Ok(rty::Expr::forall(rty::Binder::bind_with_vars(pred, sorts)))
-        }
-    }
-
-    fn conv_ensures(
-        &mut self,
-        env: &mut Env,
-        ensures: &fhir::Ensures,
-    ) -> QueryResult<rty::Ensures> {
-        match ensures {
-            fhir::Ensures::Type(loc, ty) => {
-                Ok(rty::Ensures::Type(env.lookup(loc).to_path(), self.conv_ty(env, ty)?))
-            }
-            fhir::Ensures::Pred(pred) => Ok(rty::Ensures::Pred(self.conv_expr(env, pred)?)),
-        }
-    }
-
-    fn conv_alias_reft(
-        &mut self,
-        env: &mut Env,
-        alias: &fhir::AliasReft,
-    ) -> QueryResult<rty::AliasReft> {
-        let fhir::Res::Def(DefKind::Trait, trait_id) = alias.path.res else {
-            span_bug!(alias.path.span, "expected trait")
-        };
-        let trait_segment = alias.path.last_segment();
-
-        let generics = self.genv.generics_of(trait_id)?;
-        let self_ty =
-            self.conv_ty_to_generic_arg(env, &generics.param_at(0, self.genv)?, alias.qself)?;
-        let mut generic_args = vec![self_ty];
-        self.conv_generic_args_into(env, trait_id, trait_segment, &mut generic_args)?;
+        let vars = trait_ref
+            .bound_generic_params
+            .iter()
+            .map(|param| self.param_as_bound_var(param))
+            .try_collect_vec()?;
+        clauses.push(rty::Clause::new(vars, rty::ClauseKind::FnTrait(pred)));
+        Ok(())
+    }
 
-        let alias_reft =
-            rty::AliasReft { trait_id, name: alias.name, args: List::from_vec(generic_args) };
-        Ok(alias_reft)
+    fn trait_defines_associated_item_named(
+        &self,
+        trait_def_id: DefId,
+        assoc_kind: AssocKind,
+        assoc_name: Ident,
+    ) -> Option<&AssocItem> {
+        self.genv
+            .tcx()
+            .associated_items(trait_def_id)
+            .find_by_name_and_kind(self.genv.tcx(), assoc_name, assoc_kind, trait_def_id)
     }
 
     fn conv_ty(&mut self, env: &mut Env, ty: &fhir::Ty) -> QueryResult<rty::Ty> {
         match &ty.kind {
-            fhir::TyKind::BaseTy(bty) => self.conv_base_ty(env, bty),
+            fhir::TyKind::BaseTy(bty) => self.conv_bty(env, bty),
             fhir::TyKind::Indexed(bty, idx) => {
+                let fhir_id = bty.fhir_id;
                 let idx = self.conv_refine_arg(env, idx)?;
                 match &bty.kind {
                     fhir::BaseTyKind::Path(fhir::QPath::Resolved(qself, path)) => {
                         debug_assert!(qself.is_none());
-                        Ok(self.conv_ty_ctor(env, path)?.replace_bound_reft(&idx))
+                        let ty_ctor = self.conv_path(env, path)?;
+                        self.phase.insert_bty_sort(fhir_id, ty_ctor.sort());
+                        Ok(ty_ctor.replace_bound_reft(&idx))
                     }
                     fhir::BaseTyKind::Path(fhir::QPath::TypeRelative(..)) => {
                         span_bug!(ty.span, "Indexed type relative paths are not yet supported");
                     }
                     fhir::BaseTyKind::Slice(ty) => {
                         let bty = rty::BaseTy::Slice(self.conv_ty(env, ty)?);
+                        self.phase.insert_bty_sort(fhir_id, bty.sort());
                         Ok(rty::Ty::indexed(bty, idx))
                     }
                 }
             }
             fhir::TyKind::Exists(params, ty) => {
-                let layer = Layer::list(self, 0, params)?;
+                let layer = Layer::list(self.results(), 0, params);
                 env.push_layer(layer);
                 let ty = self.conv_ty(env, ty)?;
                 let sorts = env.pop_layer().into_bound_vars(self.genv)?;
@@ -2934,7 +3070,11 @@
             }
             fhir::TyKind::BareFn(bare_fn) => {
                 let mut env = Env::empty();
-                env.push_layer(Layer::list(self, bare_fn.generic_params.len() as u32, &[])?);
+                env.push_layer(Layer::list(
+                    self.results(),
+                    bare_fn.generic_params.len() as u32,
+                    &[],
+                ));
                 let fn_sig =
                     self.conv_fn_decl(&mut env, bare_fn.safety, bare_fn.abi, bare_fn.decl)?;
                 let vars = bare_fn
@@ -2965,7 +3105,7 @@
                 ))
             }
             fhir::TyKind::OpaqueDef(item_id, lifetimes, reft_args, _in_trait) => {
-                self.conv_opaque_ty(env, *item_id, lifetimes, reft_args)
+                self.conv_opaque_def(env, *item_id, lifetimes, reft_args)
             }
             fhir::TyKind::TraitObject(trait_bounds, lft, syn) => {
                 if matches!(syn, rustc_ast::TraitObjectSyntax::Dyn) {
@@ -2979,7 +3119,7 @@
     }
 
     /// Code adapted from <https://github.com/rust-lang/rust/blob/b5723af3457b9cd3795eeb97e9af2d34964854f2/compiler/rustc_hir_analysis/src/hir_ty_lowering/mod.rs#L2099>
-    fn conv_opaque_ty(
+    fn conv_opaque_def(
         &mut self,
         env: &mut Env,
         item_id: hir::ItemId,
@@ -3113,7 +3253,7 @@
         Ok(rty::Ty::dynamic(existential_predicates, region))
     }
 
-    fn conv_base_ty(&mut self, env: &mut Env, bty: &fhir::BaseTy) -> QueryResult<rty::Ty> {
+    pub(crate) fn conv_bty(&mut self, env: &mut Env, bty: &fhir::BaseTy) -> QueryResult<rty::Ty> {
         match &bty.kind {
             fhir::BaseTyKind::Path(fhir::QPath::Resolved(qself, path)) => {
                 match path.res {
@@ -3155,7 +3295,7 @@
                     }
                     _ => {}
                 }
-                Ok(self.conv_ty_ctor(env, path)?.to_ty())
+                Ok(self.conv_path(env, path)?.to_ty())
             }
             fhir::BaseTyKind::Path(fhir::QPath::TypeRelative(qself, segment)) => {
                 self.conv_assoc_path(env, qself, segment)
@@ -3216,12 +3356,7 @@
                     assoc_ident,
                 )?
             }
-            _ => {
-                Err(self
-                    .genv
-                    .sess()
-                    .emit_err(errors::AssocTypeNotFound::new(assoc_ident)))?
-            }
+            _ => Err(self.emit(errors::AssocTypeNotFound::new(assoc_ident)))?,
         };
 
         let Some(trait_ref) = bound.no_bound_vars() else {
@@ -3232,7 +3367,7 @@
             // trait Child: for<'a> Super<'a> {}
             // fn foo<T: Child>(x: T::Assoc) {}
             // ```
-            Err(self.genv.sess().emit_err(
+            Err(self.emit(
                 query_bug!("associated path with uninferred generic parameters")
                     .at(assoc_ident.span),
             ))?
@@ -3309,17 +3444,11 @@
         });
 
         let Some(bound) = matching_candidates.next() else {
-            return Err(self
-                .genv
-                .sess()
-                .emit_err(errors::AssocTypeNotFound::new(assoc_ident)));
+            return Err(self.emit(errors::AssocTypeNotFound::new(assoc_ident)));
         };
 
         if matching_candidates.next().is_some() {
-            return Err(self
-                .genv
-                .sess()
-                .emit_err(errors::AmbiguousAssocType::new(assoc_ident)));
+            return Err(self.emit(errors::AmbiguousAssocType::new(assoc_ident)));
         }
 
         Ok(bound)
@@ -3370,44 +3499,69 @@
         }
     }
 
-    fn conv_ty_ctor(&mut self, env: &mut Env, path: &fhir::Path) -> QueryResult<rty::TyCtor> {
-        let bty = match &path.res {
+    fn conv_path(&mut self, env: &mut Env, path: &fhir::Path) -> QueryResult<rty::TyCtor> {
+        let bty = match path.res {
             fhir::Res::PrimTy(PrimTy::Bool) => rty::BaseTy::Bool,
             fhir::Res::PrimTy(PrimTy::Str) => rty::BaseTy::Str,
             fhir::Res::PrimTy(PrimTy::Char) => rty::BaseTy::Char,
             fhir::Res::PrimTy(PrimTy::Int(int_ty)) => {
-                rty::BaseTy::Int(rustc_middle::ty::int_ty(*int_ty))
+                rty::BaseTy::Int(rustc_middle::ty::int_ty(int_ty))
             }
             fhir::Res::PrimTy(PrimTy::Uint(uint_ty)) => {
-                rty::BaseTy::Uint(rustc_middle::ty::uint_ty(*uint_ty))
+                rty::BaseTy::Uint(rustc_middle::ty::uint_ty(uint_ty))
             }
             fhir::Res::PrimTy(PrimTy::Float(float_ty)) => {
-                rty::BaseTy::Float(rustc_middle::ty::float_ty(*float_ty))
+                rty::BaseTy::Float(rustc_middle::ty::float_ty(float_ty))
             }
             fhir::Res::Def(DefKind::Struct | DefKind::Enum, did) => {
-                let adt_def = self.genv.adt_def(*did)?;
-                let args = self.conv_generic_args(env, *did, path.last_segment())?;
+                let adt_def = self.genv.adt_def(did)?;
+                let args = self.conv_generic_args(env, did, path.last_segment())?;
                 rty::BaseTy::adt(adt_def, args)
             }
             fhir::Res::Def(DefKind::TyParam, def_id) => {
-                rty::BaseTy::Param(def_id_to_param_ty(self.genv, *def_id))
+                let owner_id = self.genv.tcx().parent(def_id);
+                let param_ty = def_id_to_param_ty(self.genv, def_id);
+                let param = self
+                    .genv
+                    .generics_of(owner_id)?
+                    .param_at(param_ty.index as usize, self.genv)?;
+                if let rty::GenericParamDefKind::Type { .. } = param.kind {
+                    return Err(self.emit(errors::RefinedUnrefinableType::new(path.span)))?;
+                }
+                rty::BaseTy::Param(param_ty)
             }
             fhir::Res::SelfTyParam { .. } => rty::BaseTy::Param(rty::SELF_PARAM_TY),
             fhir::Res::SelfTyAlias { alias_to, .. } => {
-                return Ok(self.genv.type_of(*alias_to)?.instantiate_identity());
+                if P::EXPAND_TYPE_ALIASES {
+                    return Ok(self.genv.type_of(alias_to)?.instantiate_identity());
+                } else {
+                    rty::BaseTy::Alias(rty::AliasTy {
+                        def_id: alias_to,
+                        args: List::empty(),
+                        refine_args: List::empty(),
+                    })
+                }
             }
-            fhir::Res::Def(DefKind::TyAlias { .. }, def_id) => {
-                let generics = self.conv_generic_args(env, *def_id, path.last_segment())?;
-                let refine = path
+            fhir::Res::Def(DefKind::TyAlias, def_id) => {
+                let args = self.conv_generic_args(env, def_id, path.last_segment())?;
+                let refine_args = path
                     .refine
                     .iter()
                     .map(|arg| self.conv_refine_arg(env, arg))
                     .try_collect_vec()?;
-                let tcx = self.genv.tcx();
-                return Ok(self
-                    .genv
-                    .type_of(*def_id)?
-                    .instantiate(tcx, &generics, &refine));
+                if P::EXPAND_TYPE_ALIASES {
+                    let tcx = self.genv.tcx();
+                    return Ok(self
+                        .genv
+                        .type_of(def_id)?
+                        .instantiate(tcx, &args, &refine_args));
+                } else {
+                    rty::BaseTy::Alias(rty::AliasTy {
+                        def_id,
+                        args: List::from(args),
+                        refine_args: List::from(refine_args),
+                    })
+                }
             }
             fhir::Res::Def(..) | fhir::Res::Err => {
                 span_bug!(path.span, "unexpected resolution in conv_ty_ctor: {:?}", path.res)
@@ -3562,19 +3716,11 @@
         } else {
             ty.shallow_canonicalize()
                 .to_subset_ty_ctor()
-                .ok_or_else(|| {
-                    self.genv
-                        .sess()
-                        .emit_err(errors::InvalidBaseInstance::new(span))
-                })?
+                .ok_or_else(|| self.emit(errors::InvalidBaseInstance::new(span)))?
         };
         Ok(rty::GenericArg::Base(ctor))
     }
 
-    fn resolve_param_sort(&self, param: &fhir::RefineParam) -> QueryResult<rty::Sort> {
-        resolve_param_sort(self.genv, param, Some(self.wfckresults))
-    }
-
     fn next_type_vid(&mut self) -> rty::TyVid {
         self.next_type_index = self.next_type_index.checked_add(1).unwrap();
         rty::TyVid::from_u32(self.next_type_index - 1)
@@ -3596,102 +3742,8 @@
     }
 }
 
-impl Env {
-    fn new(early_bound: &[fhir::RefineParam]) -> Self {
-        let early_bound = early_bound
-            .iter()
-            .map(|param| (param.id, param.name))
-            .collect();
-        Self { layers: vec![], early_param: early_bound }
-    }
-
-    fn empty() -> Self {
-        Self { layers: vec![], early_param: Default::default() }
-    }
-
-    fn depth(&self) -> usize {
-        self.layers.len()
-    }
-
-    fn push_layer(&mut self, layer: Layer) {
-        self.layers.push(layer);
-    }
-
-    fn pop_layer(&mut self) -> Layer {
-        self.layers.pop().expect("bottom of layer stack")
-    }
-
-    fn top_layer(&self) -> &Layer {
-        self.layers.last().expect("bottom of layer stack")
-    }
-
-    fn lookup(&self, var: &fhir::PathExpr) -> LookupResult {
-        let (_, id) = var.res.expect_param();
-        for (i, layer) in self.layers.iter().rev().enumerate() {
-            if let Some((idx, entry)) = layer.get(id) {
-                let debruijn = DebruijnIndex::from_usize(i);
-                let kind = LookupResultKind::Bound {
-                    debruijn,
-                    entry,
-                    index: idx as u32,
-                    kind: layer.kind,
-                };
-                return LookupResult { var_span: var.span, kind };
-            }
-        }
-        if let Some((idx, _, name)) = self.early_param.get_full(&id) {
-            LookupResult {
-                var_span: var.span,
-                kind: LookupResultKind::EarlyParam { index: idx as u32, name: *name },
-            }
-        } else {
-            span_bug!(var.span, "no entry found for key: `{:?}`", id);
-        }
-    }
-
-    fn to_early_param_args(&self) -> List<rty::Expr> {
-        self.early_param
-            .iter()
-            .enumerate()
-            .map(|(idx, (_, name))| rty::Expr::early_param(idx as u32, *name))
-            .collect()
-    }
-}
-
-impl ConvCtxt<'_, '_, '_> {
-    fn owner(&self) -> FluxOwnerId {
-        self.wfckresults.owner
-    }
-
-    fn conv_refine_arg(&mut self, env: &mut Env, arg: &fhir::RefineArg) -> QueryResult<rty::Expr> {
-        match &arg.kind {
-            fhir::RefineArgKind::Expr(expr) => self.conv_expr(env, expr),
-            fhir::RefineArgKind::Abs(params, body) => {
-                let layer = Layer::list(self, 0, params)?;
-
-                env.push_layer(layer);
-                let pred = self.conv_expr(env, body)?;
-                let inputs = env.pop_layer().into_bound_vars(self.genv)?;
-                let output = self
-                    .wfckresults
-                    .node_sorts()
-                    .get(arg.fhir_id)
-                    .unwrap_or_else(|| bug!("lambda without elaborated sort"))
-                    .clone();
-                let lam = rty::Lambda::bind_with_vars(pred, inputs, output);
-                Ok(self.add_coercions(rty::Expr::abs(lam), arg.fhir_id))
-            }
-            fhir::RefineArgKind::Record(flds) => {
-                let def_id = self.wfckresults.record_ctors().get(arg.fhir_id).unwrap();
-                let flds = flds
-                    .iter()
-                    .map(|arg| self.conv_refine_arg(env, arg))
-                    .try_collect()?;
-                Ok(rty::Expr::adt(*def_id, flds))
-            }
-        }
-    }
-
+/// Conversion of expressions
+impl<'genv, 'tcx, P: ConvPhase> ConvCtxt<'genv, 'tcx, P> {
     fn conv_expr(&mut self, env: &mut Env, expr: &fhir::Expr) -> QueryResult<rty::Expr> {
         let fhir_id = expr.fhir_id;
         let espan = ESpan::new(expr.span);
@@ -3731,7 +3783,7 @@
                     .iter()
                     .map(|arg| self.conv_expr(env, arg))
                     .try_collect()?;
-                let alias = self.conv_alias_reft(env, alias)?;
+                let alias = self.conv_alias_reft(env, expr.fhir_id, alias)?;
                 rty::Expr::alias(alias, args).at(espan)
             }
             fhir::ExprKind::IfThenElse(p, e1, e2) => {
@@ -3743,17 +3795,41 @@
                 .at(espan)
             }
             fhir::ExprKind::Dot(var, _) => {
-                let proj = self
-                    .wfckresults
-                    .field_projs()
-                    .get(fhir_id)
-                    .unwrap_or_else(|| bug!("field projection without elaboration"));
-                rty::Expr::field_proj(env.lookup(var).to_expr(), *proj)
+                let proj = self.results().field_proj(fhir_id);
+                rty::Expr::field_proj(env.lookup(var).to_expr(), proj)
             }
         };
         Ok(self.add_coercions(expr, fhir_id))
     }
 
+    fn conv_refine_arg(&mut self, env: &mut Env, arg: &fhir::RefineArg) -> QueryResult<rty::Expr> {
+        match &arg.kind {
+            fhir::RefineArgKind::Expr(expr) => self.conv_expr(env, expr),
+            fhir::RefineArgKind::Abs(params, body) => {
+                let layer = Layer::list(self.results(), 0, params);
+
+                env.push_layer(layer);
+                let pred = self.conv_expr(env, body)?;
+                let inputs = env.pop_layer().into_bound_vars(self.genv)?;
+                let output = self.results().lambda_output(arg.fhir_id);
+                let lam = rty::Lambda::bind_with_vars(pred, inputs, output);
+                Ok(self.add_coercions(rty::Expr::abs(lam), arg.fhir_id))
+            }
+            fhir::RefineArgKind::Record(flds) => {
+                let def_id = self.results().record_ctor(arg.fhir_id);
+                let flds = flds
+                    .iter()
+                    .map(|arg| self.conv_refine_arg(env, arg))
+                    .try_collect()?;
+                Ok(rty::Expr::adt(def_id, flds))
+            }
+        }
+    }
+
+    fn conv_exprs(&mut self, env: &mut Env, exprs: &[fhir::Expr]) -> QueryResult<List<rty::Expr>> {
+        exprs.iter().map(|e| self.conv_expr(env, e)).collect()
+    }
+
     fn conv_bin_op(&self, op: fhir::BinOp, fhir_id: FhirId) -> rty::BinOp {
         match op {
             fhir::BinOp::Iff => rty::BinOp::Iff,
@@ -3762,10 +3838,10 @@
             fhir::BinOp::And => rty::BinOp::And,
             fhir::BinOp::Eq => rty::BinOp::Eq,
             fhir::BinOp::Ne => rty::BinOp::Ne,
-            fhir::BinOp::Gt => rty::BinOp::Gt(self.bin_rel_sort(fhir_id)),
-            fhir::BinOp::Ge => rty::BinOp::Ge(self.bin_rel_sort(fhir_id)),
-            fhir::BinOp::Lt => rty::BinOp::Lt(self.bin_rel_sort(fhir_id)),
-            fhir::BinOp::Le => rty::BinOp::Le(self.bin_rel_sort(fhir_id)),
+            fhir::BinOp::Gt => rty::BinOp::Gt(self.results().bin_rel_sort(fhir_id)),
+            fhir::BinOp::Ge => rty::BinOp::Ge(self.results().bin_rel_sort(fhir_id)),
+            fhir::BinOp::Lt => rty::BinOp::Lt(self.results().bin_rel_sort(fhir_id)),
+            fhir::BinOp::Le => rty::BinOp::Le(self.results().bin_rel_sort(fhir_id)),
             fhir::BinOp::Add => rty::BinOp::Add,
             fhir::BinOp::Sub => rty::BinOp::Sub,
             fhir::BinOp::Mod => rty::BinOp::Mod,
@@ -3774,12 +3850,21 @@
         }
     }
 
-    fn bin_rel_sort(&self, fhir_id: FhirId) -> rty::Sort {
-        self.wfckresults
-            .bin_rel_sorts()
-            .get(fhir_id)
-            .unwrap()
-            .clone()
+    fn add_coercions(&self, mut expr: rty::Expr, fhir_id: FhirId) -> rty::Expr {
+        let span = expr.span();
+        for coercion in self.results().coercions_for(fhir_id) {
+            expr = match *coercion {
+                rty::Coercion::Inject(def_id) => {
+                    rty::Expr::aggregate(rty::AggregateKind::Adt(def_id), List::singleton(expr))
+                        .at_opt(span)
+                }
+                rty::Coercion::Project(def_id) => {
+                    rty::Expr::field_proj(expr, rty::FieldProj::Adt { def_id, field: 0 })
+                        .at_opt(span)
+                }
+            };
+        }
+        expr
     }
 
     fn conv_func(&self, env: &Env, func: &fhir::PathExpr) -> rty::Expr {
@@ -3791,8 +3876,35 @@
         self.add_coercions(expr, func.fhir_id)
     }
 
-    fn conv_exprs(&mut self, env: &mut Env, exprs: &[fhir::Expr]) -> QueryResult<List<rty::Expr>> {
-        exprs.iter().map(|e| self.conv_expr(env, e)).collect()
+    fn conv_alias_reft(
+        &mut self,
+        env: &mut Env,
+        fhir_id: FhirId,
+        alias: &fhir::AliasReft,
+    ) -> QueryResult<rty::AliasReft> {
+        let fhir::Res::Def(DefKind::Trait, trait_id) = alias.path.res else {
+            span_bug!(alias.path.span, "expected trait")
+        };
+        let trait_segment = alias.path.last_segment();
+
+        let generics = self.genv.generics_of(trait_id)?;
+        let self_ty =
+            self.conv_ty_to_generic_arg(env, &generics.param_at(0, self.genv)?, alias.qself)?;
+        let mut generic_args = vec![self_ty];
+        self.conv_generic_args_into(env, trait_id, trait_segment, &mut generic_args)?;
+
+        let alias_reft =
+            rty::AliasReft { trait_id, name: alias.name, args: List::from_vec(generic_args) };
+
+        let Some(fsort) = alias_reft.fsort(self.genv)? else {
+            return Err(self.emit(InvalidAssocReft::new(
+                alias.path.span,
+                alias_reft.name,
+                format!("{:?}", alias.path),
+            )))?;
+        };
+        self.phase.insert_alias_reft_sort(fhir_id, fsort);
+        Ok(alias_reft)
     }
 
     fn conv_invariants(
@@ -3816,47 +3928,102 @@
             env.top_layer().to_bound_vars(self.genv)?,
         )))
     }
+}
 
-    fn add_coercions(&self, mut expr: rty::Expr, fhir_id: FhirId) -> rty::Expr {
-        let span = expr.span();
-        if let Some(coercions) = self.wfckresults.coercions().get(fhir_id) {
-            for coercion in coercions {
-                expr = match *coercion {
-                    rty::Coercion::Inject(def_id) => {
-                        rty::Expr::aggregate(rty::AggregateKind::Adt(def_id), List::singleton(expr))
-                            .at_opt(span)
-                    }
-                    rty::Coercion::Project(def_id) => {
-                        rty::Expr::field_proj(expr, rty::FieldProj::Adt { def_id, field: 0 })
-                            .at_opt(span)
-                    }
+impl Env {
+    fn new(early_params: &[fhir::RefineParam]) -> Self {
+        let early_params = early_params
+            .iter()
+            .map(|param| (param.id, param.name))
+            .collect();
+        Self { layers: vec![], early_params }
+    }
+
+    pub(crate) fn empty() -> Self {
+        Self { layers: vec![], early_params: Default::default() }
+    }
+
+    fn depth(&self) -> usize {
+        self.layers.len()
+    }
+
+    fn push_layer(&mut self, layer: Layer) {
+        self.layers.push(layer);
+    }
+
+    fn pop_layer(&mut self) -> Layer {
+        self.layers.pop().expect("bottom of layer stack")
+    }
+
+    fn top_layer(&self) -> &Layer {
+        self.layers.last().expect("bottom of layer stack")
+    }
+
+    fn lookup(&self, var: &fhir::PathExpr) -> LookupResult {
+        let (_, id) = var.res.expect_param();
+        for (i, layer) in self.layers.iter().rev().enumerate() {
+            if let Some((idx, entry)) = layer.get(id) {
+                let debruijn = DebruijnIndex::from_usize(i);
+                let kind = LookupResultKind::Bound {
+                    debruijn,
+                    entry,
+                    index: idx as u32,
+                    kind: layer.kind,
                 };
+                return LookupResult { var_span: var.span, kind };
             }
         }
-        expr
+        if let Some((idx, _, name)) = self.early_params.get_full(&id) {
+            LookupResult {
+                var_span: var.span,
+                kind: LookupResultKind::EarlyParam { index: idx as u32, name: *name },
+            }
+        } else {
+            span_bug!(var.span, "no entry found for key: `{:?}`", id);
+        }
+    }
+
+    fn to_early_param_args(&self) -> List<rty::Expr> {
+        self.early_params
+            .iter()
+            .enumerate()
+            .map(|(idx, (_, name))| rty::Expr::early_param(idx as u32, *name))
+            .collect()
     }
 }
 
 impl Layer {
-    fn new(cx: &ConvCtxt, params: &[fhir::RefineParam], kind: LayerKind) -> QueryResult<Self> {
+    fn new<R: WfckResultsProvider>(
+        results: &R,
+        params: &[fhir::RefineParam],
+        kind: LayerKind,
+    ) -> Self {
         let map = params
             .iter()
-            .map(|param| -> QueryResult<_> {
-                let sort = cx.resolve_param_sort(param)?;
+            .map(|param| {
+                let sort = results.param_sort(param);
                 let infer_mode = rty::InferMode::from_param_kind(param.kind);
                 let entry = ParamEntry::new(sort, infer_mode, param.name);
-                Ok((param.id, entry))
+                (param.id, entry)
             })
-            .try_collect()?;
-        Ok(Self { map, kind })
+            .collect();
+        Self { map, kind }
     }
 
-    fn list(cx: &ConvCtxt, bound_regions: u32, params: &[fhir::RefineParam]) -> QueryResult<Self> {
-        Self::new(cx, params, LayerKind::List { bound_regions })
+    fn list<R: WfckResultsProvider>(
+        results: &R,
+        bound_regions: u32,
+        params: &[fhir::RefineParam],
+    ) -> Self {
+        Self::new(results, params, LayerKind::List { bound_regions })
     }
 
-    fn coalesce(cx: &ConvCtxt, def_id: DefId, params: &[fhir::RefineParam]) -> QueryResult<Self> {
-        Self::new(cx, params, LayerKind::Coalesce(def_id))
+    fn coalesce<R: WfckResultsProvider>(
+        results: &R,
+        def_id: DefId,
+        params: &[fhir::RefineParam],
+    ) -> Self {
+        Self::new(results, params, LayerKind::Coalesce(def_id))
     }
 
     fn get(&self, name: impl Borrow<fhir::ParamId>) -> Option<(usize, &ParamEntry)> {
@@ -3966,23 +4133,6 @@
         .try_collect()
 }
 
-pub(crate) fn resolve_param_sort(
-    genv: GlobalEnv,
-    param: &fhir::RefineParam,
-    wfckresults: Option<&WfckResults>,
-) -> QueryResult<rty::Sort> {
-    if let fhir::Sort::Infer = &param.sort {
-        Ok(wfckresults
-            .expect("`Sort::Infer` without wfckresults")
-            .node_sorts()
-            .get(param.fhir_id)
-            .unwrap_or_else(|| bug!("unresolved sort for param: `{param:?}`"))
-            .clone())
-    } else {
-        conv_sort(genv, &param.sort, &mut bug_on_infer_sort)
-    }
-}
-
 pub(crate) fn conv_sort(
     genv: GlobalEnv,
     sort: &fhir::Sort,
@@ -4057,6 +4207,10 @@
     ))
 }
 
+pub(crate) fn bug_on_infer_sort() -> rty::Sort {
+    bug!("unexpected infer sort")
+}
+
 fn conv_lit(lit: fhir::Lit) -> rty::Constant {
     match lit {
         fhir::Lit::Int(n) => rty::Constant::from(n),
@@ -4065,11 +4219,6 @@
         fhir::Lit::Str(s) => rty::Constant::from(s),
     }
 }
-
-pub(crate) fn bug_on_infer_sort() -> rty::Sort {
-    bug!("unexpected infer sort")
-}
-
 fn conv_un_op(op: fhir::UnOp) -> rty::UnOp {
     match op {
         fhir::UnOp::Not => rty::UnOp::Not,
@@ -4225,5 +4374,18 @@
             }
         }
     }
+
+    #[derive(Diagnostic)]
+    #[diag(fhir_analysis_refined_unrefinable_type, code = E0999)]
+    pub(super) struct RefinedUnrefinableType {
+        #[primary_span]
+        span: Span,
+    }
+
+    impl RefinedUnrefinableType {
+        pub(super) fn new(span: Span) -> Self {
+            Self { span }
+        }
+    }
 }
 
\ No newline at end of file diff --git a/doc/src/flux_fhir_analysis/conv/struct_compat.rs.html b/doc/src/flux_fhir_analysis/conv/struct_compat.rs.html index 9d8f1ca290..9f9ec5734f 100644 --- a/doc/src/flux_fhir_analysis/conv/struct_compat.rs.html +++ b/doc/src/flux_fhir_analysis/conv/struct_compat.rs.html @@ -766,6 +766,9 @@ 766 767 768 +769 +770 +771

//! Check whether two refinemnt types/signatures are structurally compatible.
 //!
 //! Used to check if a user spec is compatible with the underlying rust type. The code also
@@ -794,15 +797,18 @@
 pub(crate) fn type_alias(
     genv: GlobalEnv,
     alias: &fhir::TyAlias,
-    ty: &rty::Ty,
+    alias_ty: &rty::TyCtor,
     def_id: MaybeExternId,
-) -> QueryResult<rty::Ty> {
+) -> QueryResult<rty::TyCtor> {
     let rust_ty = genv.lower_type_of(def_id.resolved_id())?.skip_binder();
     let generics = genv.generics_of(def_id)?;
     let expected = Refiner::default(genv, &generics).refine_ty(&rust_ty)?;
     let mut zipper = Zipper::new(genv, def_id);
 
-    if zipper.zip_ty(ty, &expected).is_err() {
+    if zipper
+        .enter_a_binder(alias_ty, |zipper, ty| zipper.zip_ty(ty, &expected))
+        .is_err()
+    {
         zipper
             .errors
             .emit(errors::IncompatibleRefinement::type_alias(genv, def_id, alias));
@@ -810,7 +816,7 @@
 
     zipper.errors.into_result()?;
 
-    Ok(zipper.holes.replace_holes(ty))
+    Ok(zipper.holes.replace_holes(alias_ty))
 }
 
 pub(crate) fn fn_sig(
diff --git a/doc/src/flux_fhir_analysis/lib.rs.html b/doc/src/flux_fhir_analysis/lib.rs.html
index 7abaa8ca79..7a4219ae60 100644
--- a/doc/src/flux_fhir_analysis/lib.rs.html
+++ b/doc/src/flux_fhir_analysis/lib.rs.html
@@ -567,6 +567,20 @@
 567
 568
 569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
 
#![feature(rustc_private, let_chains, box_patterns, if_let_guard, once_cell_try)]
 
 extern crate rustc_ast;
@@ -586,7 +600,7 @@
 
 use std::rc::Rc;
 
-use conv::bug_on_infer_sort;
+use conv::{bug_on_infer_sort, struct_compat, ConvCtxt};
 use flux_common::{bug, dbg, iter::IterExt, result::ResultExt};
 use flux_config as config;
 use flux_errors::Errors;
@@ -720,14 +734,15 @@
 
 fn predicates_of(
     genv: GlobalEnv,
-    local_id: LocalDefId,
+    def_id: LocalDefId,
 ) -> QueryResult<rty::EarlyBinder<rty::GenericPredicates>> {
-    if let Some(generics) = genv.map().get_generics(local_id)? {
-        let wfckresults = genv.check_wf(local_id)?;
-        conv::conv_generic_predicates(genv, local_id, generics.predicates, &wfckresults)
+    let def_id = genv.maybe_extern_id(def_id);
+    if let Some(generics) = genv.map().get_generics(def_id.local_id())? {
+        let wfckresults = genv.check_wf(def_id.local_id())?;
+        ConvCtxt::new(genv, &*wfckresults).conv_generic_predicates(def_id, generics)
     } else {
         Ok(rty::EarlyBinder(rty::GenericPredicates {
-            parent: genv.tcx().predicates_of(local_id.to_def_id()).parent,
+            parent: genv.tcx().predicates_of(def_id).parent,
             predicates: rty::List::empty(),
         }))
     }
@@ -780,9 +795,12 @@
         .expect_trait()
         .find_assoc_reft(name);
 
-    let wfckresults = genv.check_wf(trait_id.local_id())?;
     if let Some(assoc_reft) = assoc_reft {
-        Ok(conv::conv_default_assoc_reft_def(genv, assoc_reft, &wfckresults)?.map(rty::EarlyBinder))
+        let Some(body) = assoc_reft.body else { return Ok(None) };
+        let wfckresults = genv.check_wf(trait_id.local_id())?;
+        let mut cx = ConvCtxt::new(genv, &*wfckresults);
+        let body = cx.conv_assoc_reft_body(assoc_reft.params, &body, &assoc_reft.output)?;
+        Ok(Some(rty::EarlyBinder(body)))
     } else {
         Err(QueryErr::InvalidAssocReft { container_def_id: trait_id.resolved_id(), name })?
     }
@@ -801,7 +819,10 @@
 
     if let Some(assoc_reft) = assoc_reft {
         let wfckresults = genv.check_wf(impl_id)?;
-        Ok(Some(rty::EarlyBinder(conv::conv_assoc_reft_def(genv, assoc_reft, &wfckresults)?)))
+        let mut cx = ConvCtxt::new(genv, &*wfckresults);
+        let body =
+            cx.conv_assoc_reft_body(assoc_reft.params, &assoc_reft.body, &assoc_reft.output)?;
+        Ok(Some(rty::EarlyBinder(body)))
     } else {
         Ok(None)
     }
@@ -833,13 +854,14 @@
     def_id: LocalDefId,
     name: Symbol,
 ) -> QueryResult<Option<rty::EarlyBinder<rty::FuncSort>>> {
-    match &genv.map().expect_item(def_id)?.kind {
+    let def_id = genv.maybe_extern_id(def_id);
+    match &genv.map().expect_item(def_id.local_id())?.kind {
         fhir::ItemKind::Trait(trait_) => {
             let Some(assoc_reft) = trait_.find_assoc_reft(name) else { return Ok(None) };
             let inputs = assoc_reft
                 .params
                 .iter()
-                .map(|p| conv::resolve_param_sort(genv, p, None))
+                .map(|p| conv::conv_sort(genv, &p.sort, &mut bug_on_infer_sort))
                 .try_collect_vec()?;
             let output = conv::conv_sort(genv, &assoc_reft.output, &mut bug_on_infer_sort)?;
             Ok(Some(rty::EarlyBinder(rty::FuncSort::new(inputs, output))))
@@ -849,12 +871,12 @@
             let inputs = assoc_reft
                 .params
                 .iter()
-                .map(|p| conv::resolve_param_sort(genv, p, None))
+                .map(|p| conv::conv_sort(genv, &p.sort, &mut bug_on_infer_sort))
                 .try_collect_vec()?;
             let output = conv::conv_sort(genv, &assoc_reft.output, &mut bug_on_infer_sort)?;
             Ok(Some(rty::EarlyBinder(rty::FuncSort::new(inputs, output))))
         }
-        _ => Err(query_bug!(def_id, "expected trait or impl")),
+        _ => Err(query_bug!(def_id.local_id(), "expected trait or impl")),
     }
 }
 
@@ -864,7 +886,7 @@
 ) -> QueryResult<rty::EarlyBinder<rty::Clauses>> {
     let wfckresults = genv.check_wf(local_id)?;
     let opaque_ty = genv.map().expect_item(local_id)?.expect_opaque_ty();
-    Ok(rty::EarlyBinder(conv::conv_opaque_ty(genv, local_id, opaque_ty, &wfckresults)?))
+    Ok(rty::EarlyBinder(ConvCtxt::new(genv, &*wfckresults).conv_opaque_ty(local_id, opaque_ty)?))
 }
 
 fn generics_of(genv: GlobalEnv, def_id: LocalDefId) -> QueryResult<rty::Generics> {
@@ -886,8 +908,8 @@
                 .map()
                 .get_generics(def_id.local_id())?
                 .ok_or_else(|| query_bug!(def_id.local_id(), "no generics for {def_id:?}"))?;
-            conv::conv_generics(genv, generics, def_id, is_trait)?
-        }
+            conv::conv_generics(genv, generics, def_id, is_trait)
+        }
         DefKind::Closure => {
             let rustc_generics = genv.tcx().generics_of(def_id.local_id());
             rty::Generics {
@@ -947,12 +969,14 @@
     let def_id = genv.maybe_extern_id(def_id);
     let ty = match genv.def_kind(def_id) {
         DefKind::TyAlias { .. } => {
-            let alias = genv
+            let fhir_ty_alias = genv
                 .map()
                 .expect_item(def_id.local_id())?
                 .expect_type_alias();
             let wfckresults = genv.check_wf(def_id.local_id())?;
-            conv::expand_type_alias(genv, def_id, alias, &wfckresults)?
+            let mut cx = ConvCtxt::new(genv, &*wfckresults);
+            let ty_alias = cx.conv_type_alias(def_id, fhir_ty_alias)?;
+            struct_compat::type_alias(genv, fhir_ty_alias, &ty_alias, def_id)?
         }
         DefKind::TyParam => {
             match def_id {
@@ -1013,17 +1037,21 @@
     let variants = match &item.kind {
         fhir::ItemKind::Enum(enum_def) => {
             let wfckresults = genv.check_wf(local_id)?;
-            let variants =
-                conv::ConvCtxt::conv_enum_variants(genv, def_id, enum_def, &wfckresults)?
-                    .into_iter()
-                    .map(|variant| normalize(genv, variant))
-                    .try_collect()?;
+            let mut cx = ConvCtxt::new(genv, &*wfckresults);
+            let variants = cx.conv_enum_variants(def_id, enum_def)?;
+            let variants = struct_compat::variants(genv, &variants, def_id)?;
+            let variants = variants
+                .into_iter()
+                .map(|variant| normalize(genv, variant))
+                .try_collect()?;
             rty::Opaqueness::Transparent(rty::EarlyBinder(variants))
         }
         fhir::ItemKind::Struct(struct_def) => {
             let wfckresults = genv.check_wf(local_id)?;
-            conv::ConvCtxt::conv_struct_variant(genv, def_id, struct_def, &wfckresults)?
-                .map(|variants| {
+            let mut cx = ConvCtxt::new(genv, &*wfckresults);
+            cx.conv_struct_variant(def_id, struct_def)?
+                .map(|variant| {
+                    let variants = struct_compat::variants(genv, &[variant], def_id)?;
                     variants
                         .into_iter()
                         .map(|variant| normalize(genv, variant))
@@ -1042,11 +1070,11 @@
 
 fn fn_sig(genv: GlobalEnv, def_id: LocalDefId) -> QueryResult<rty::EarlyBinder<rty::PolyFnSig>> {
     let def_id = genv.maybe_extern_id(def_id);
-    let fn_sig = genv.desugar(def_id.local_id())?.fn_sig().unwrap();
+    let fhir_fn_sig = genv.desugar(def_id.local_id())?.fn_sig().unwrap();
     let wfckresults = genv.check_wf(def_id.local_id())?;
-    let defns = genv.spec_func_defns()?;
-    let fn_sig = conv::conv_fn_sig(genv, def_id, fn_sig, &wfckresults)?
-        .map(|fn_sig| fn_sig.normalize(defns));
+    let fn_sig = ConvCtxt::new(genv, &*wfckresults).conv_fn_sig(def_id, fhir_fn_sig)?;
+    let fn_sig = struct_compat::fn_sig(genv, fhir_fn_sig.decl, &fn_sig, def_id)?;
+    let fn_sig = normalize(genv, fn_sig)?;
 
     if config::dump_rty() {
         let generics = genv.generics_of(def_id)?;
@@ -1059,7 +1087,7 @@
         )
         .unwrap();
     }
-    Ok(fn_sig)
+    Ok(rty::EarlyBinder(fn_sig))
 }
 
 fn check_wf(genv: GlobalEnv, def_id: LocalDefId) -> QueryResult<Rc<WfckResults>> {
diff --git a/doc/src/flux_fhir_analysis/wf/errors.rs.html b/doc/src/flux_fhir_analysis/wf/errors.rs.html
index 5007fd3ddb..91fd5b4252 100644
--- a/doc/src/flux_fhir_analysis/wf/errors.rs.html
+++ b/doc/src/flux_fhir_analysis/wf/errors.rs.html
@@ -226,19 +226,6 @@
 226
 227
 228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
 
use flux_errors::E0999;
 use flux_macros::Diagnostic;
 use flux_middle::{fhir, rty};
@@ -467,17 +454,4 @@
         Self { span }
     }
 }
-
-#[derive(Diagnostic)]
-#[diag(fhir_analysis_refined_unrefinable_type, code = E0999)]
-pub(super) struct RefinedUnrefinableType {
-    #[primary_span]
-    span: Span,
-}
-
-impl RefinedUnrefinableType {
-    pub(super) fn new(span: Span) -> Self {
-        Self { span }
-    }
-}
 
\ No newline at end of file diff --git a/doc/src/flux_fhir_analysis/wf/mod.rs.html b/doc/src/flux_fhir_analysis/wf/mod.rs.html index 6f2bffc309..f3505fd2ed 100644 --- a/doc/src/flux_fhir_analysis/wf/mod.rs.html +++ b/doc/src/flux_fhir_analysis/wf/mod.rs.html @@ -303,6 +303,157 @@ 303 304 305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456

//! Checks type well-formedness
 //!
 //! Well-formedness checking assumes names are correctly bound which is guaranteed after desugaring.
@@ -316,19 +467,24 @@
 use flux_common::result::{ErrorCollector, ResultExt as _};
 use flux_errors::{Errors, FluxSession};
 use flux_middle::{
-    fhir::{self, visit::Visitor, FluxOwnerId},
+    fhir::{self, visit::Visitor, FhirId, FluxOwnerId},
     global_env::GlobalEnv,
+    queries::QueryResult,
     rty::{self, WfckResults},
     MaybeExternId,
 };
 use rustc_data_structures::unord::UnordSet;
 use rustc_errors::ErrorGuaranteed;
 use rustc_hash::FxHashSet;
-use rustc_hir::{def::DefKind, OwnerId};
+use rustc_hir::{
+    def::DefKind,
+    def_id::{CrateNum, DefId, DefIndex},
+    OwnerId,
+};
 use rustc_span::{symbol::Ident, Symbol};
 
 use self::sortck::{ImplicitParamInferer, InferCtxt};
-use crate::conv::{self, bug_on_infer_sort};
+use crate::conv::{self, bug_on_infer_sort, ConvCtxt, ConvPhase, WfckResultsProvider};
 
 type Result<T = ()> = std::result::Result<T, ErrorGuaranteed>;
 
@@ -337,6 +493,9 @@
     let mut infcx = InferCtxt::new(genv, owner);
     infcx.insert_params(qual.args)?;
     infcx.check_expr(&qual.expr, &rty::Sort::Bool)?;
+    for param in qual.args {
+        infcx.resolve_param_sort(param)?;
+    }
     Ok(infcx.into_results())
 }
 
@@ -347,6 +506,9 @@
         infcx.insert_params(func.args)?;
         let output = conv::conv_sort(genv, &func.sort, &mut bug_on_infer_sort).emit(&genv)?;
         infcx.check_expr(body, &output)?;
+        for param in func.args {
+            infcx.resolve_param_sort(param)?;
+        }
     }
     Ok(infcx.into_results())
 }
@@ -366,6 +528,9 @@
             .check_expr(invariant, &rty::Sort::Bool)
             .collect_err(&mut err);
     }
+    for param in params {
+        infcx.resolve_param_sort(param)?;
+    }
     err.into_result()?;
     Ok(infcx.into_results())
 }
@@ -374,9 +539,7 @@
     genv: GlobalEnv<'genv, '_>,
     node: &fhir::Node<'genv>,
 ) -> Result<WfckResults> {
-    let mut infcx = InferCtxt::new(genv, node.owner_id().local_id().into());
-
-    insert_params(&mut infcx, node)?;
+    let mut infcx = init_infcx(genv, node).emit(&genv)?;
 
     ImplicitParamInferer::infer(&mut infcx, node)?;
 
@@ -389,7 +552,90 @@
     Ok(infcx.into_results())
 }
 
-/// Initializes the inference context with all parameters required to check node
+/// To check for well-formedness we need to know the sort of base types. For example, to check if
+/// the type `i32[e]` is well formed, we need to know that the sort of `i32` is `int` so we can
+/// check the expression `e` against it. Computing the sort from a base type is subtle and hard
+/// to do in `fhir` so we must do it in `rty`. However, to convert from `fhir` to `rty` we need
+/// elaborated information from sort checking which we do in `fhir`.
+///
+/// To break this circularity, we do conversion in two phases. In the first phase, we do conversion
+/// without elaborated information. This results in types in `rty` with incorrect refinements but
+/// with the right *shape* to compute their sorts. We use these sorts for sort checking and then do
+/// conversion again with the elaborated information.
+///
+/// This function initializes the [inference context] by running the first phase of conversion and
+/// collecting the sort of all base types.
+///
+/// [inference context]: InferCtxt
+fn init_infcx<'genv, 'tcx>(
+    genv: GlobalEnv<'genv, 'tcx>,
+    node: &fhir::Node<'genv>,
+) -> QueryResult<InferCtxt<'genv, 'tcx>> {
+    let def_id = node.owner_id().map(|id| id.def_id);
+    let mut infcx = InferCtxt::new(genv, node.owner_id().local_id().into());
+    insert_params(&mut infcx, node)?;
+    let mut cx = ConvCtxt::new(genv, &mut infcx);
+    match node {
+        fhir::Node::Item(item) => {
+            match &item.kind {
+                fhir::ItemKind::Enum(enum_def) => {
+                    cx.conv_enum_variants(def_id, enum_def)?;
+                }
+                fhir::ItemKind::Struct(struct_def) => {
+                    cx.conv_struct_variant(def_id, struct_def)?;
+                }
+                fhir::ItemKind::TyAlias(ty_alias) => {
+                    cx.conv_type_alias(def_id, ty_alias)?;
+                }
+                fhir::ItemKind::Trait(trait_) => {
+                    for assoc_reft in trait_.assoc_refinements {
+                        if let Some(body) = assoc_reft.body {
+                            cx.conv_assoc_reft_body(assoc_reft.params, &body, &assoc_reft.output)?;
+                        }
+                    }
+                }
+                fhir::ItemKind::Impl(impl_) => {
+                    for assoc_reft in impl_.assoc_refinements {
+                        cx.conv_assoc_reft_body(
+                            assoc_reft.params,
+                            &assoc_reft.body,
+                            &assoc_reft.output,
+                        )?;
+                    }
+                }
+                fhir::ItemKind::Fn(fn_sig) => {
+                    cx.conv_fn_sig(def_id, fn_sig)?;
+                    cx.conv_generic_predicates(def_id, &item.generics)?;
+                }
+                fhir::ItemKind::OpaqueTy(opaque_ty) => {
+                    cx.conv_opaque_ty(def_id.expect_local(), opaque_ty)?;
+                }
+            }
+        }
+        fhir::Node::TraitItem(trait_item) => {
+            match trait_item.kind {
+                fhir::TraitItemKind::Fn(fn_sig) => {
+                    cx.conv_fn_sig(def_id, &fn_sig)?;
+                    cx.conv_generic_predicates(def_id, &trait_item.generics)?;
+                }
+                fhir::TraitItemKind::Type => {}
+            }
+        }
+        fhir::Node::ImplItem(impl_item) => {
+            match impl_item.kind {
+                fhir::ImplItemKind::Fn(fn_sig) => {
+                    cx.conv_fn_sig(def_id, &fn_sig)?;
+                    cx.conv_generic_predicates(def_id, &impl_item.generics)?;
+                }
+                fhir::ImplItemKind::Type => {}
+            }
+        }
+    }
+    infcx.normalize_weak_alias_sorts()?;
+    Ok(infcx)
+}
+
+/// Initializes the inference context with all refinement parameters in `node`
 fn insert_params(infcx: &mut InferCtxt, node: &fhir::Node) -> Result {
     let genv = infcx.genv;
     if let fhir::Node::Item(fhir::Item { kind: fhir::ItemKind::OpaqueTy(..), owner_id, .. }) = node
@@ -411,7 +657,7 @@
     })
 }
 
-/// Check that all params with [`fhir::Sort::Infer`] have a sort inferred and save it in the [`WfckResults`]
+/// Check that all param sorts are fully resolved and save them in [`WfckResults`]
 fn resolve_params(infcx: &mut InferCtxt, node: &fhir::Node) -> Result {
     visit_refine_params(node, |param| infcx.resolve_param_sort(param))
 }
@@ -479,13 +725,13 @@
     }
 
     fn visit_trait_assoc_reft(&mut self, assoc_reft: &fhir::TraitAssocReft) {
-        let Ok(output) =
-            conv::conv_sort(self.infcx.genv, &assoc_reft.output, &mut bug_on_infer_sort)
-                .emit(&self.errors)
-        else {
-            return;
-        };
         if let Some(body) = &assoc_reft.body {
+            let Ok(output) =
+                conv::conv_sort(self.infcx.genv, &assoc_reft.output, &mut bug_on_infer_sort)
+                    .emit(&self.errors)
+            else {
+                return;
+            };
             self.infcx
                 .check_expr(body, &output)
                 .collect_err(&mut self.errors);
@@ -499,7 +745,7 @@
         let Ok(args) = rty::GenericArg::identity_for_item(genv, enum_id).emit(&self.errors) else {
             return;
         };
-        let expected = adt_sort_def.sort(&args);
+        let expected = adt_sort_def.to_sort(&args);
         self.infcx
             .check_refine_arg(&ret.idx, &expected)
             .collect_err(&mut self.errors);
@@ -533,17 +779,10 @@
     fn visit_ty(&mut self, ty: &fhir::Ty<'genv>) {
         match &ty.kind {
             fhir::TyKind::Indexed(bty, idx) => {
-                let Ok(sort_of_bty) = self.infcx.genv.sort_of_bty(bty).emit(&self.errors) else {
-                    return;
-                };
-                if let Some(expected) = sort_of_bty {
-                    self.infcx
-                        .check_refine_arg(idx, &expected)
-                        .collect_err(&mut self.errors);
-                } else if idx.is_colon_param().is_none() {
-                    self.errors
-                        .emit(errors::RefinedUnrefinableType::new(bty.span));
-                }
+                let expected = self.infcx.sort_of_bty(bty.fhir_id);
+                self.infcx
+                    .check_refine_arg(idx, &expected)
+                    .collect_err(&mut self.errors);
                 self.visit_bty(bty);
             }
             fhir::TyKind::StrgRef(_, loc, ty) => {
@@ -608,4 +847,67 @@
     visitor.visit_node(node);
     visitor.err.into_result()
 }
+
+impl<'genv, 'tcx> ConvPhase for &mut InferCtxt<'genv, 'tcx> {
+    /// We don't expand type aliases before sort checking because we need every base type in `fhir`
+    /// to match a type in `rty`.
+    const EXPAND_TYPE_ALIASES: bool = false;
+
+    type Results = InferCtxt<'genv, 'tcx>;
+
+    fn results(&self) -> &Self::Results {
+        self
+    }
+
+    fn insert_bty_sort(&mut self, fhir_id: FhirId, sort: rty::Sort) {
+        self.insert_sort_for_bty(fhir_id, sort);
+    }
+
+    fn insert_alias_reft_sort(&mut self, fhir_id: FhirId, fsort: rty::FuncSort) {
+        self.insert_sort_for_alias_reft(fhir_id, fsort);
+    }
+}
+
+/// The purpose of doing conversion before sort checking is to collect the sorts of base types.
+/// Thus, what we return here mostly doesn't matter because the refinements on a type should not
+/// affect its sort. The one exception is the sort we generate for refinement parameters.
+///
+/// For instance, consider the following definition where we refine a struct with a polymorphic set:
+/// ```ignore
+/// #[flux::refined_by(elems: Set<T>)]
+/// struct RSet<T> { ... }
+/// ```
+/// Now, consider the type `RSet<i32{v: v >= 0}>`. This type desugars to `RSet<λv:σ. {i32[v] | v >= 0}>`
+/// where the sort `σ` needs to be inferred. The type `RSet<λv:σ. {i32[v] | v >= 0}>` has sort
+/// `RSet<σ>` where `RSet` is the sort-level representation of the `RSet` type. Thus, it is important
+/// that the inference variable we generate for `σ` is the same we use for sort checking.
+impl WfckResultsProvider for InferCtxt<'_, '_> {
+    fn owner(&self) -> FluxOwnerId {
+        self.wfckresults.owner
+    }
+
+    fn bin_rel_sort(&self, _: FhirId) -> rty::Sort {
+        rty::Sort::Err
+    }
+
+    fn coercions_for(&self, _: FhirId) -> &[rty::Coercion] {
+        &[]
+    }
+
+    fn field_proj(&self, _: FhirId) -> rty::FieldProj {
+        rty::FieldProj::Tuple { arity: 0, field: 0 }
+    }
+
+    fn lambda_output(&self, _: FhirId) -> rty::Sort {
+        rty::Sort::Err
+    }
+
+    fn record_ctor(&self, _: FhirId) -> DefId {
+        DefId { index: DefIndex::from_u32(0), krate: CrateNum::from_u32(0) }
+    }
+
+    fn param_sort(&self, param: &fhir::RefineParam) -> rty::Sort {
+        self.param_sort(param.id)
+    }
+}
 
\ No newline at end of file diff --git a/doc/src/flux_fhir_analysis/wf/sortck.rs.html b/doc/src/flux_fhir_analysis/wf/sortck.rs.html index 7624ef5b97..16857eba46 100644 --- a/doc/src/flux_fhir_analysis/wf/sortck.rs.html +++ b/doc/src/flux_fhir_analysis/wf/sortck.rs.html @@ -761,14 +761,41 @@ 761 762 763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789

use std::iter;
 
 use ena::unify::InPlaceUnificationTable;
-use flux_common::{bug, iter::IterExt, result::ResultExt, span_bug};
+use flux_common::{bug, iter::IterExt, result::ResultExt, span_bug, tracked_span_bug};
 use flux_errors::{ErrorGuaranteed, Errors};
 use flux_middle::{
     fhir::{self, visit::Visitor as _, ExprRes, FhirId, FluxOwnerId},
     global_env::GlobalEnv,
+    queries::QueryResult,
     rty::{
         self,
         fold::{FallibleTypeFolder, TypeFoldable, TypeFolder, TypeSuperFoldable},
@@ -778,31 +805,36 @@
 use itertools::{izip, Itertools};
 use rustc_data_structures::unord::UnordMap;
 use rustc_errors::Diagnostic;
+use rustc_hash::FxHashMap;
 use rustc_span::{def_id::DefId, symbol::Ident, Span};
 
 use super::errors;
-use crate::{compare_impl_item::errors::InvalidAssocReft, conv};
+use crate::conv;
 
 type Result<T = ()> = std::result::Result<T, ErrorGuaranteed>;
 
 pub(super) struct InferCtxt<'genv, 'tcx> {
     pub genv: GlobalEnv<'genv, 'tcx>,
     pub params: UnordMap<fhir::ParamId, (rty::Sort, fhir::ParamKind)>,
-    pub(super) sort_unification_table: InPlaceUnificationTable<rty::SortVid>,
+    pub wfckresults: WfckResults,
+    sort_unification_table: InPlaceUnificationTable<rty::SortVid>,
     num_unification_table: InPlaceUnificationTable<rty::NumVid>,
     bv_size_unification_table: InPlaceUnificationTable<rty::BvSizeVid>,
-    pub wfckresults: WfckResults,
+    sort_of_bty: FxHashMap<FhirId, rty::Sort>,
+    sort_of_alias_reft: UnordMap<FhirId, rty::FuncSort>,
 }
 
 impl<'genv, 'tcx> InferCtxt<'genv, 'tcx> {
     pub(super) fn new(genv: GlobalEnv<'genv, 'tcx>, owner: FluxOwnerId) -> Self {
         Self {
             genv,
+            params: Default::default(),
             wfckresults: WfckResults::new(owner),
             sort_unification_table: InPlaceUnificationTable::new(),
             num_unification_table: InPlaceUnificationTable::new(),
             bv_size_unification_table: InPlaceUnificationTable::new(),
-            params: Default::default(),
+            sort_of_bty: Default::default(),
+            sort_of_alias_reft: Default::default(),
         }
     }
 
@@ -927,8 +959,10 @@
             fhir::ExprKind::BinaryOp(op, e1, e2) => self.synth_binary_op(expr, *op, e1, e2),
             fhir::ExprKind::UnaryOp(op, e) => self.synth_unary_op(*op, e),
             fhir::ExprKind::App(f, es) => self.synth_app(f, es, expr.span),
-            fhir::ExprKind::Alias(alias, func_args) => {
-                self.synth_alias_reft_app(alias, func_args, expr.span)
+            fhir::ExprKind::Alias(_alias_reft, func_args) => {
+                // To check the application we only need the sort of `_alias_reft` which we collected
+                // during early conv, but should we do any extra checks on _alias_reft?
+                self.synth_alias_reft_app(expr.fhir_id, expr.span, func_args)
             }
             fhir::ExprKind::IfThenElse(p, e1, e2) => {
                 self.check_expr(p, &rty::Sort::Bool)?;
@@ -1059,17 +1093,11 @@
 
     fn synth_alias_reft_app(
         &mut self,
-        alias: &fhir::AliasReft,
-        args: &[fhir::Expr],
+        fhir_id: FhirId,
         span: Span,
+        args: &[fhir::Expr],
     ) -> Result<rty::Sort> {
-        let Some(fsort) = self.genv.sort_of_alias_reft(alias).emit(&self.genv)? else {
-            return Err(self.emit_err(InvalidAssocReft::new(
-                span,
-                alias.name,
-                format!("{:?}", alias.path),
-            )));
-        };
+        let fsort = self.sort_of_alias_reft(fhir_id);
         if args.len() != fsort.inputs().len() {
             return Err(self.emit_err(errors::ArgCountMismatch::new(
                 Some(span),
@@ -1111,6 +1139,40 @@
             .collect_vec();
         fsort.instantiate(&args)
     }
+
+    pub(crate) fn insert_sort_for_bty(&mut self, fhir_id: FhirId, sort: rty::Sort) {
+        self.sort_of_bty.insert(fhir_id, sort);
+    }
+
+    pub(crate) fn sort_of_bty(&self, fhir_id: FhirId) -> rty::Sort {
+        self.sort_of_bty
+            .get(&fhir_id)
+            .unwrap_or_else(|| tracked_span_bug!("no entry found for `{fhir_id:?}`"))
+            .clone()
+    }
+
+    pub(crate) fn insert_sort_for_alias_reft(&mut self, fhir_id: FhirId, fsort: rty::FuncSort) {
+        self.sort_of_alias_reft.insert(fhir_id, fsort);
+    }
+
+    fn sort_of_alias_reft(&self, fhir_id: FhirId) -> rty::FuncSort {
+        self.sort_of_alias_reft
+            .get(&fhir_id)
+            .unwrap_or_else(|| tracked_span_bug!("no entry found for `{fhir_id:?}`"))
+            .clone()
+    }
+
+    // FIXME(nilehmann) this assumes weak aliases appear shallowly and are only created for the
+    // sorts associated to base types. We should find a more robust way to do normalization for
+    // sort checking. If we do so we can stop expanding self aliases in `conv::conv_sort`.
+    pub(crate) fn normalize_weak_alias_sorts(&mut self) -> QueryResult {
+        for sort in self.sort_of_bty.values_mut() {
+            if let rty::Sort::Alias(alias_ty) = sort {
+                *sort = self.genv.normalize_weak_alias_sort(alias_ty)?;
+            }
+        }
+        Ok(())
+    }
 }
 
 impl<'genv> InferCtxt<'genv, '_> {
@@ -1298,20 +1360,16 @@
     }
 
     pub(crate) fn resolve_param_sort(&mut self, param: &fhir::RefineParam) -> Result {
-        if let fhir::Sort::Infer = param.sort {
-            let sort = self.param_sort(param.id);
-            match self.fully_resolve(&sort) {
-                Ok(sort) => {
-                    self.wfckresults
-                        .node_sorts_mut()
-                        .insert(param.fhir_id, sort);
-                }
-                Err(_) => {
-                    return Err(self.emit_err(errors::SortAnnotationNeeded::new(param)));
-                }
+        let sort = self.param_sort(param.id);
+        match self.fully_resolve(&sort) {
+            Ok(sort) => {
+                self.wfckresults
+                    .node_sorts_mut()
+                    .insert(param.fhir_id, sort);
+                Ok(())
             }
+            Err(_) => Err(self.emit_err(errors::SortAnnotationNeeded::new(param))),
         }
-        Ok(())
     }
 
     fn ensure_resolved_var(&mut self, path: &fhir::PathExpr) -> Result<rty::Sort> {
@@ -1341,7 +1399,11 @@
 
     #[track_caller]
     pub(crate) fn param_sort(&self, id: fhir::ParamId) -> rty::Sort {
-        self.params[&id].0.clone()
+        self.params
+            .get(&id)
+            .unwrap_or_else(|| bug!("no entry found for `{id:?}`"))
+            .0
+            .clone()
     }
 
     fn shallow_resolve(&mut self, sort: &rty::Sort) -> rty::Sort {
@@ -1411,18 +1473,8 @@
 impl<'genv> fhir::visit::Visitor<'genv> for ImplicitParamInferer<'_, 'genv, '_> {
     fn visit_ty(&mut self, ty: &fhir::Ty<'genv>) {
         if let fhir::TyKind::Indexed(bty, idx) = &ty.kind {
-            let Ok(sort_of_bty) = self.infcx.genv.sort_of_bty(bty).emit(&self.errors) else {
-                return;
-            };
-            if let Some(expected) = sort_of_bty {
-                self.infer_implicit_params(idx, &expected);
-            } else if let Some(id) = idx.is_colon_param() {
-                let found = self.infcx.param_sort(id);
-                self.infcx.equate(&found, &rty::Sort::Err);
-            } else {
-                self.errors
-                    .emit(errors::RefinedUnrefinableType::new(bty.span));
-            }
+            let expected = self.infcx.sort_of_bty(bty.fhir_id);
+            self.infer_implicit_params(idx, &expected);
         }
         fhir::visit::walk_ty(self, ty);
     }
diff --git a/doc/src/flux_infer/fixpoint_encoding.rs.html b/doc/src/flux_infer/fixpoint_encoding.rs.html
index bbb2334414..779a049229 100644
--- a/doc/src/flux_infer/fixpoint_encoding.rs.html
+++ b/doc/src/flux_infer/fixpoint_encoding.rs.html
@@ -1379,6 +1379,9 @@
 1379
 1380
 1381
+1382
+1383
+1384
 
//! Encoding of the refinement tree into a fixpoint constraint.
 
 use std::{hash::Hash, iter};
@@ -1591,8 +1594,11 @@
             }
             rty::Sort::Func(sort) => self.func_sort_to_fixpoint(sort),
             rty::Sort::Var(k) => fixpoint::Sort::Var(k.index()),
+            rty::Sort::Alias(_) => {
+                tracked_span_bug!("TODO: implementt encoding of `Sort::Alias`: `{sort:?}`")
+            }
             rty::Sort::Err | rty::Sort::Infer(_) | rty::Sort::Loc => {
-                bug!("unexpected sort {sort:?}")
+                tracked_span_bug!("unexpected sort `{sort:?}`")
             }
         }
     }
@@ -2337,14 +2343,14 @@
                     self.expr_to_fixpoint(e2, scx)?,
                 ]))
             }
-            rty::ExprKind::Alias(alias_pred, args) => {
+            rty::ExprKind::Alias(alias_reft, args) => {
                 let sort = self
                     .genv
-                    .sort_of_assoc_reft(alias_pred.trait_id, alias_pred.name)?
+                    .sort_of_assoc_reft(alias_reft.trait_id, alias_reft.name)?
                     .unwrap();
                 let sort = sort.instantiate_identity();
                 let func = fixpoint::Expr::Var(
-                    self.register_const_for_alias_reft(alias_pred, sort, scx)
+                    self.register_const_for_alias_reft(alias_reft, sort, scx)
                         .into(),
                 );
                 let args = args
diff --git a/doc/src/flux_middle/fhir.rs.html b/doc/src/flux_middle/fhir.rs.html
index 0062d45484..0eaddcd659 100644
--- a/doc/src/flux_middle/fhir.rs.html
+++ b/doc/src/flux_middle/fhir.rs.html
@@ -1508,6 +1508,11 @@
 1508
 1509
 1510
+1511
+1512
+1513
+1514
+1515
 
//! Flux High-Level Intermediate Representation
 //!
 //! The fhir corresponds to the desugared version of source level flux annotations. The main
@@ -2118,9 +2123,24 @@
 #[derive(Clone, Copy)]
 pub struct BaseTy<'fhir> {
     pub kind: BaseTyKind<'fhir>,
+    pub fhir_id: FhirId,
     pub span: Span,
 }
 
+impl<'fhir> BaseTy<'fhir> {
+    pub fn from_qpath(qpath: QPath<'fhir>, fhir_id: FhirId) -> Self {
+        let span = qpath.span();
+        Self { kind: BaseTyKind::Path(qpath), fhir_id, span }
+    }
+
+    fn as_path(&self) -> Option<Path<'fhir>> {
+        match self.kind {
+            BaseTyKind::Path(QPath::Resolved(None, path)) => Some(path),
+            _ => None,
+        }
+    }
+}
+
 #[derive(Clone, Copy)]
 pub enum BaseTyKind<'fhir> {
     Path(QPath<'fhir>),
@@ -2508,15 +2528,6 @@
     }
 }
 
-impl<'fhir> BaseTy<'fhir> {
-    fn as_path(&self) -> Option<Path<'fhir>> {
-        match self.kind {
-            BaseTyKind::Path(QPath::Resolved(None, path)) => Some(path),
-            _ => None,
-        }
-    }
-}
-
 impl Res {
     pub fn descr(&self) -> &'static str {
         match self {
@@ -2562,13 +2573,6 @@
     }
 }
 
-impl<'fhir> From<QPath<'fhir>> for BaseTy<'fhir> {
-    fn from(qpath: QPath<'fhir>) -> Self {
-        let span = qpath.span();
-        Self { kind: BaseTyKind::Path(qpath), span }
-    }
-}
-
 impl Lit {
     pub const TRUE: Lit = Lit::Bool(true);
 }
@@ -2576,14 +2580,20 @@
 /// Information about the refinement parameters associated with a type alias or an adt (struct/enum).
 #[derive(Clone, Debug)]
 pub struct RefinedBy<'fhir> {
-    /// Tracks the mapping from bound var to generic def ids. e.g. if we have
+    /// When a `#[flux::refined_by(..)]` annotation mentions generic type parameters we implicitly
+    /// generate a *polymorphic* data sort.
     ///
+    /// For example, if we have:
     /// ```ignore
     /// #[refined_by(keys: Set<K>)]
-    /// RMap<K, V> { ...}
+    /// RMap<K, V> { ... }
     /// ```
-    /// then the sort associated to `RMap` is of the form `forall #0. { keys: Set<#0> }`
-    /// and `sort_params` will be `vec![K]`,  i.e., it maps `Var(0)` to `K`.
+    /// we implicitly create a data sort of the form `forall #0. { keys: Set<#0> }`, where `#0` is a
+    /// *sort variable*.
+    ///
+    /// The [`FxIndexSet`] is used to track a mapping between sort varriables and their corresponding
+    /// type parameter. The [`DefId`] is the id of the type parameter and its index in the set is the
+    /// position of the sort variable.
     pub sort_params: FxIndexSet<DefId>,
     /// Fields indexed by their name and in the same order they appear in the definition.
     pub fields: FxIndexMap<Symbol, Sort<'fhir>>,
diff --git a/doc/src/flux_middle/fhir/lift.rs.html b/doc/src/flux_middle/fhir/lift.rs.html
index 7113aaf761..c49e43f0c7 100644
--- a/doc/src/flux_middle/fhir/lift.rs.html
+++ b/doc/src/flux_middle/fhir/lift.rs.html
@@ -835,7 +835,7 @@
             hir::TyKind::Slice(ty) => {
                 let ty = self.lift_ty(ty)?;
                 let kind = fhir::BaseTyKind::Slice(self.genv.alloc(ty));
-                let bty = fhir::BaseTy { kind, span: ty.span };
+                let bty = fhir::BaseTy { kind, fhir_id: self.next_fhir_id(), span: ty.span };
                 return Ok(fhir::Ty { kind: fhir::TyKind::BaseTy(bty), span: ty.span });
             }
             hir::TyKind::Array(ty, len) => {
@@ -856,7 +856,7 @@
             }
             hir::TyKind::Path(qpath) => {
                 let qpath = self.lift_qpath(qpath)?;
-                let bty = fhir::BaseTy::from(qpath);
+                let bty = fhir::BaseTy::from_qpath(qpath, self.next_fhir_id());
                 return Ok(fhir::Ty { kind: fhir::TyKind::BaseTy(bty), span: bty.span });
             }
             hir::TyKind::Ptr(mut_ty) => {
diff --git a/doc/src/flux_middle/lib.rs.html b/doc/src/flux_middle/lib.rs.html
index c8f80127ae..db6fecaddd 100644
--- a/doc/src/flux_middle/lib.rs.html
+++ b/doc/src/flux_middle/lib.rs.html
@@ -644,6 +644,15 @@
 644
 645
 646
+647
+648
+649
+650
+651
+652
+653
+654
+655
 

//! This crate contains common type definitions that are used by other crates.
 
 #![feature(
@@ -690,6 +699,7 @@
 use std::sync::LazyLock;
 
 use flux_arc_interner::List;
+use flux_common::bug;
 use flux_config as config;
 use flux_macros::fluent_messages;
 pub use flux_rustc_bridge::def_id_to_string;
@@ -1129,6 +1139,14 @@
         }
     }
 
+    #[track_caller]
+    pub fn expect_local(self) -> Id {
+        match self {
+            MaybeExternId::Local(local_id) => local_id,
+            MaybeExternId::Extern(..) => bug!("expected `MaybeExternId::Local`"),
+        }
+    }
+
     /// Returns `true` if the maybe extern id is [`Local`].
     ///
     /// [`Local`]: MaybeExternId::Local
diff --git a/doc/src/flux_middle/rty/expr.rs.html b/doc/src/flux_middle/rty/expr.rs.html
index c4080c9765..628f6da124 100644
--- a/doc/src/flux_middle/rty/expr.rs.html
+++ b/doc/src/flux_middle/rty/expr.rs.html
@@ -1306,10 +1306,6 @@
 1306
 1307
 1308
-1309
-1310
-1311
-1312
 
use std::{fmt, iter, sync::OnceLock};
 
 use flux_arc_interner::{impl_internable, impl_slice_internable, Interned, List};
@@ -1618,11 +1614,7 @@
 }
 
 impl ExprKind {
-    // pub fn intern_at_opt(self, espan: Option<ESpan>) -> Expr {
-    //     Expr { kind: Interned::new(self), espan }
-    // }
-
-    fn intern(self) -> Expr {
+    fn intern(self) -> Expr {
         Expr { kind: Interned::new(self), espan: None }
     }
 }
diff --git a/doc/src/flux_middle/rty/fold.rs.html b/doc/src/flux_middle/rty/fold.rs.html
index a6c0ec25f1..b73282ac4b 100644
--- a/doc/src/flux_middle/rty/fold.rs.html
+++ b/doc/src/flux_middle/rty/fold.rs.html
@@ -1037,6 +1037,10 @@
 1037
 1038
 1039
+1040
+1041
+1042
+1043
 
//! This modules follows the implementation of folding in rustc. For more information read the
 //! documentation in [`rustc_middle::ty::fold`].
 
@@ -1470,6 +1474,7 @@
             Sort::Tuple(sorts) => sorts.visit_with(visitor),
             Sort::App(_, args) => args.visit_with(visitor),
             Sort::Func(fsort) => fsort.visit_with(visitor),
+            Sort::Alias(alias_ty) => alias_ty.visit_with(visitor),
             Sort::Int
             | Sort::Bool
             | Sort::Real
@@ -1496,6 +1501,7 @@
             Sort::Tuple(sorts) => Sort::tuple(sorts.try_fold_with(folder)?),
             Sort::App(ctor, sorts) => Sort::app(ctor.clone(), sorts.try_fold_with(folder)?),
             Sort::Func(fsort) => Sort::Func(fsort.try_fold_with(folder)?),
+            Sort::Alias(alias_ty) => Sort::Alias(alias_ty.try_fold_with(folder)?),
             Sort::Int
             | Sort::Bool
             | Sort::Real
@@ -1760,6 +1766,7 @@
             BaseTy::Ref(_, ty, _) => ty.visit_with(visitor),
             BaseTy::FnPtr(poly_fn_sig) => poly_fn_sig.visit_with(visitor),
             BaseTy::Tuple(tys) => tys.visit_with(visitor),
+            BaseTy::Alias(alias_ty) => alias_ty.visit_with(visitor),
             BaseTy::Array(ty, _) => ty.visit_with(visitor),
             BaseTy::Coroutine(_, resume_ty, upvars) => {
                 resume_ty.visit_with(visitor)?;
@@ -1798,6 +1805,7 @@
             }
             BaseTy::FnPtr(decl) => BaseTy::FnPtr(decl.try_fold_with(folder)?),
             BaseTy::Tuple(tys) => BaseTy::Tuple(tys.try_fold_with(folder)?),
+            BaseTy::Alias(alias_ty) => BaseTy::Alias(alias_ty.try_fold_with(folder)?),
             BaseTy::Array(ty, c) => {
                 BaseTy::Array(ty.try_fold_with(folder)?, c.try_fold_with(folder)?)
             }
diff --git a/doc/src/flux_middle/rty/mod.rs.html b/doc/src/flux_middle/rty/mod.rs.html
index 69d6e9ec92..f9b4345671 100644
--- a/doc/src/flux_middle/rty/mod.rs.html
+++ b/doc/src/flux_middle/rty/mod.rs.html
@@ -2325,20 +2325,6 @@
 2325
 2326
 2327
-2328
-2329
-2330
-2331
-2332
-2333
-2334
-2335
-2336
-2337
-2338
-2339
-2340
-2341
 
//! Defines how flux represents refinement types internally. Definitions in this module are used
 //! during refinement type checking. A couple of important differences between definitions in this
 //! module and in [`crate::fhir`] are:
@@ -2404,15 +2390,28 @@
     rty::subst::SortSubst,
 };
 
-#[derive(Debug, Clone, Eq, PartialEq, Hash, TyEncodable, TyDecodable)]
+/// The definition of the data sort automatically generated for a struct, enum or type alias.
+#[derive(Debug, Clone, Eq, PartialEq, Hash, TyEncodable, TyDecodable)]
 pub struct AdtSortDef(Interned<AdtSortDefData>);
 
 #[derive(Debug, PartialEq, Eq, Hash, TyEncodable, TyDecodable)]
 struct AdtSortDefData {
-    def_id: DefId,
-    params: Vec<ParamTy>,
-    field_names: Vec<Symbol>,
-    sorts: List<Sort>,
+    /// [`DefId`] of the struct, enum or type aliases this data sort is associated to
+    def_id: DefId,
+    /// The list of the type parameters used in the `#[flux::refined_by(..)]` annotation.
+    ///
+    /// See [`fhir::RefinedBy::sort_params`] for more details. This is a version of that but using
+    /// [`ParamTy`] instead of [`DefId`].
+    ///
+    /// The length of this list corresponds to the number of sort variables bound by this definition.
+    params: Vec<ParamTy>,
+    /// The list of field names as declared in the `#[flux::refined_by(...)]` annotation
+    field_names: Vec<Symbol>,
+    /// The sort of each of the fields. Note that these can contain [sort variables]. Methods used
+    /// to access these sorts guarantee they are properly instantiated.
+    ///
+    /// [sort variables]: Sort::Var
+    sorts: List<Sort>,
 }
 
 impl AdtSortDef {
@@ -2449,7 +2448,7 @@
         self.0.sorts.fold_with(&mut SortSubst::new(args))
     }
 
-    pub fn sort(&self, args: &[GenericArg]) -> Sort {
+    pub fn to_sort(&self, args: &[GenericArg]) -> Sort {
         let sorts = self
             .filter_generic_args(args)
             .map(|arg| arg.expect_base().sort())
@@ -2821,8 +2820,8 @@
 
 newtype_index! {
     /// [ParamSort] is used for polymorphic sorts (Set, Map etc.) and [bit-vector size parameters].
-    /// They should occur "bound" under a [`PolyFuncSort`]; i.e. should be < than the number of params
-    /// in the [`PolyFuncSort`].
+    /// They should occur "bound" under a [`PolyFuncSort`] or an [`AdtSortDef`]; i.e. should be <
+    /// than the number of params.
     ///
     /// [bit-vector size parameters]: BvSize::Param
     #[debug_format = "?{}s"]
@@ -2945,6 +2944,7 @@
     Loc,
     Param(ParamTy),
     Tuple(List<Sort>),
+    Alias(AliasTy),
     Func(PolyFuncSort),
     App(SortCtor, List<Sort>),
     Var(ParamSort),
@@ -3626,6 +3626,7 @@
     FnPtr(PolyFnSig),
     FnDef(DefId, GenericArgs),
     Tuple(List<Ty>),
+    Alias(AliasTy),
     Array(Ty, Const),
     Never,
     Closure(DefId, /* upvar_tys */ List<Ty>, flux_rustc_bridge::ty::GenericArgs),
@@ -3780,29 +3781,6 @@
         }
     }
 
-    pub fn sort(&self) -> Sort {
-        match self {
-            BaseTy::Int(_) | BaseTy::Uint(_) | BaseTy::Slice(_) => Sort::Int,
-            BaseTy::Bool => Sort::Bool,
-            BaseTy::Adt(adt_def, args) => adt_def.sort(args),
-            BaseTy::Param(param_ty) => Sort::Param(*param_ty),
-            BaseTy::Str => Sort::Str,
-            BaseTy::Float(_)
-            | BaseTy::Char
-            | BaseTy::RawPtr(..)
-            | BaseTy::Ref(..)
-            | BaseTy::FnPtr(..)
-            | BaseTy::FnDef(..)
-            | BaseTy::Tuple(_)
-            | BaseTy::Array(_, _)
-            | BaseTy::Closure(..)
-            | BaseTy::Coroutine(..)
-            | BaseTy::Dynamic(_, _)
-            | BaseTy::Never => Sort::unit(),
-            BaseTy::Infer(_) => tracked_span_bug!(),
-        }
-    }
-
     #[track_caller]
     pub fn expect_adt(&self) -> (&AdtDef, &[GenericArg]) {
         if let BaseTy::Adt(adt_def, args) = self {
@@ -3846,6 +3824,7 @@
                 let ts = tys.iter().map(|ty| ty.to_rustc(tcx)).collect_vec();
                 ty::Ty::new_tup(tcx, &ts)
             }
+            BaseTy::Alias(alias_ty) => ty::Ty::new_alias(tcx, ty::Weak, alias_ty.to_rustc(tcx)),
             BaseTy::Array(ty, n) => {
                 let ty = ty.to_rustc(tcx);
                 let n = n.to_rustc(tcx);
@@ -3876,10 +3855,10 @@
     Clone, PartialEq, Eq, Hash, Debug, TyEncodable, TyDecodable, TypeVisitable, TypeFoldable,
 )]
 pub struct AliasTy {
+    pub def_id: DefId,
     pub args: GenericArgs,
     /// Holds the refinement-arguments for opaque-types; empty for projections
     pub refine_args: RefineArgs,
-    pub def_id: DefId,
 }
 
 pub type RefineArgs = List<Expr>;
@@ -4311,7 +4290,7 @@
     }
 
     pub fn sort(&self, args: &[GenericArg]) -> Sort {
-        self.sort_def().sort(args)
+        self.sort_def().to_sort(args)
     }
 
     pub fn is_box(&self) -> bool {
@@ -4441,13 +4420,6 @@
     }
 }
 
-impl Binder<Expr> {
-    /// See [`Expr::is_trivially_true`]
-    pub fn is_trivially_true(&self) -> bool {
-        self.skip_binder_ref().is_trivially_true()
-    }
-}
-
 /// returns the same invariants as for `usize` which is the length of a slice
 fn slice_invariants(overflow_checking: bool) -> &'static [Invariant] {
     static DEFAULT: LazyLock<[Invariant; 1]> = LazyLock::new(|| {
@@ -4595,7 +4567,7 @@
     record_ctors: ItemLocalMap<DefId>,
 }
 
-#[derive(Debug)]
+#[derive(Clone, Copy, Debug)]
 pub enum Coercion {
     Inject(DefId),
     Project(DefId),
diff --git a/doc/src/flux_middle/rty/pretty.rs.html b/doc/src/flux_middle/rty/pretty.rs.html
index 0424a7c4dc..17962edc36 100644
--- a/doc/src/flux_middle/rty/pretty.rs.html
+++ b/doc/src/flux_middle/rty/pretty.rs.html
@@ -549,6 +549,20 @@
 549
 550
 551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
 
use std::fmt;
 
 use flux_rustc_bridge::ty::region_to_string;
@@ -660,6 +674,13 @@
                     w!("({:?})", join!(", ", sorts))
                 }
             }
+            Sort::Alias(alias_ty) => {
+                w!("{:?}", alias_ty.def_id)?;
+                if !alias_ty.args.is_empty() {
+                    w!("<{:?}>", join!(", ", &alias_ty.args))?;
+                }
+                w!("::sort")
+            }
             Sort::App(ctor, sorts) => {
                 if sorts.is_empty() {
                     w!("{:?}", ctor)
@@ -995,6 +1016,13 @@
                     w!("({:?})", join!(", ", tys))
                 }
             }
+            BaseTy::Alias(alias_ty) => {
+                w!("{:?}", alias_ty.def_id)?;
+                if !alias_ty.args.is_empty() {
+                    w!("<{:?}>", join!(", ", &alias_ty.args))?;
+                }
+                Ok(())
+            }
             BaseTy::Array(ty, c) => w!("[{:?}; {:?}]", ty, ^c),
             BaseTy::Never => w!("!"),
             BaseTy::Closure(did, args, _) => {
diff --git a/doc/src/flux_middle/rty/projections.rs.html b/doc/src/flux_middle/rty/projections.rs.html
index 31feae8f89..686068f70f 100644
--- a/doc/src/flux_middle/rty/projections.rs.html
+++ b/doc/src/flux_middle/rty/projections.rs.html
@@ -525,6 +525,23 @@
 525
 526
 527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
 
use std::iter;
 
 use flux_arc_interner::List;
@@ -542,7 +559,7 @@
     fold::{FallibleTypeFolder, TypeFoldable, TypeSuperFoldable},
     subst::{GenericsSubstDelegate, GenericsSubstFolder},
     AliasKind, AliasReft, AliasTy, BaseTy, Binder, Clause, ClauseKind, Const, EarlyBinder, Expr,
-    ExprKind, GenericArg, ProjectionPredicate, RefineArgs, Region, SubsetTy, Ty, TyKind,
+    ExprKind, GenericArg, ProjectionPredicate, RefineArgs, Region, Sort, SubsetTy, Ty, TyKind,
 };
 use crate::{
     global_env::GlobalEnv,
@@ -857,6 +874,16 @@
 impl FallibleTypeFolder for Normalizer<'_, '_, '_> {
     type Error = QueryErr;
 
+    fn try_fold_sort(&mut self, sort: &Sort) -> Result<Sort, Self::Error> {
+        if let Sort::Alias(alias_ty) = sort {
+            self.genv
+                .normalize_weak_alias_sort(alias_ty)?
+                .try_fold_with(self)
+        } else {
+            sort.try_super_fold_with(self)
+        }
+    }
+
     // As shown in https://github.com/flux-rs/flux/issues/711
     // one round of `normalize_projections` can replace one
     // projection e.g. `<Rev<Iter<[i32]> as Iterator>::Item`
@@ -866,6 +893,13 @@
     // which is what the `changed` is for.
     fn try_fold_ty(&mut self, ty: &Ty) -> Result<Ty, Self::Error> {
         match ty.kind() {
+            TyKind::Indexed(BaseTy::Alias(alias_ty), idx) => {
+                Ok(self
+                    .genv
+                    .type_of(alias_ty.def_id)?
+                    .instantiate(self.genv.tcx(), &alias_ty.args, &alias_ty.refine_args)
+                    .replace_bound_reft(idx))
+            }
             TyKind::Alias(AliasKind::Projection, alias_ty) => {
                 let (changed, ty) = self.normalize_projection_ty(alias_ty)?;
                 if changed {
diff --git a/doc/src/flux_middle/sort_of.rs.html b/doc/src/flux_middle/sort_of.rs.html
index 0e592dfd05..c69e115a15 100644
--- a/doc/src/flux_middle/sort_of.rs.html
+++ b/doc/src/flux_middle/sort_of.rs.html
@@ -117,115 +117,14 @@
 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
 
use flux_arc_interner::List;
-use flux_common::{bug, span_bug};
-use rustc_hir::{def::DefKind, PrimTy};
+use flux_common::{bug, tracked_span_bug};
+use rustc_hir::def::DefKind;
 use rustc_span::def_id::DefId;
 
-use crate::{fhir, global_env::GlobalEnv, queries::QueryResult, rty};
+use crate::{global_env::GlobalEnv, queries::QueryResult, query_bug, rty};
 
 impl<'sess, 'tcx> GlobalEnv<'sess, 'tcx> {
-    pub fn sort_of_alias_reft(self, alias: &fhir::AliasReft) -> QueryResult<Option<rty::FuncSort>> {
-        let fhir::Res::Def(DefKind::Trait, trait_id) = alias.path.res else {
-            bug!("expected trait")
-        };
-        let name = alias.name;
-        let Some(fsort) = self.sort_of_assoc_reft(trait_id, name)? else { return Ok(None) };
-        Some(fsort.instantiate_func_sort(|param_ty| {
-            if param_ty.index == 0 {
-                self.sort_of_ty(alias.qself)
-            } else {
-                let args = alias.path.last_segment().args;
-                self.sort_of_generic_arg(&args[(param_ty.index - 1) as usize])
-            }
-            .transpose()
-            .unwrap()
-        }))
-        .transpose()
-    }
-
-    pub fn sort_of_bty(self, bty: &fhir::BaseTy) -> QueryResult<Option<rty::Sort>> {
-        let sort = match &bty.kind {
-            fhir::BaseTyKind::Path(fhir::QPath::Resolved(_, path)) => self.sort_of_path(path)?,
-            fhir::BaseTyKind::Path(fhir::QPath::TypeRelative(..)) => None,
-            fhir::BaseTyKind::Slice(_) => Some(rty::Sort::Int),
-        };
-        Ok(sort)
-    }
-
-    fn sort_of_path(self, path: &fhir::Path) -> QueryResult<Option<rty::Sort>> {
-        let sort = match path.res {
-            fhir::Res::PrimTy(PrimTy::Int(_) | PrimTy::Uint(_)) => Some(rty::Sort::Int),
-            fhir::Res::PrimTy(PrimTy::Bool) => Some(rty::Sort::Bool),
-            fhir::Res::PrimTy(PrimTy::Str) => Some(rty::Sort::Str),
-            fhir::Res::PrimTy(PrimTy::Float(..) | PrimTy::Char) => Some(rty::Sort::unit()),
-            fhir::Res::Def(DefKind::TyAlias { .. } | DefKind::Enum | DefKind::Struct, def_id) => {
-                let mut sort_args = vec![];
-                let sort_def = self.adt_sort_def_of(def_id)?;
-                let generic_args = path.segments.last().unwrap().args;
-                for arg in sort_def.filter_generic_args(generic_args) {
-                    let Some(sort) = self.sort_of_ty(arg.expect_type())? else { return Ok(None) };
-                    sort_args.push(sort);
-                }
-                let ctor = rty::SortCtor::Adt(self.adt_sort_def_of(def_id)?);
-                Some(rty::Sort::App(ctor, List::from_vec(sort_args)))
-            }
-            fhir::Res::SelfTyAlias { alias_to, .. } => self.sort_of_self_ty_alias(alias_to)?,
-            fhir::Res::Def(DefKind::TyParam, def_id) => self.sort_of_generic_param(def_id)?,
-            fhir::Res::SelfTyParam { trait_ } => self.sort_of_self_param(trait_)?,
-            fhir::Res::Def(DefKind::AssocTy | DefKind::OpaqueTy, _) => None,
-            fhir::Res::Def(..) | fhir::Res::Err => {
-                span_bug!(path.span, "unexpected res `{:?}`", path.res)
-            }
-        };
-        Ok(sort)
-    }
-
     pub fn sort_of_self_ty_alias(self, alias_to: DefId) -> QueryResult<Option<rty::Sort>> {
         let self_ty = self.tcx().type_of(alias_to).instantiate_identity();
         self.sort_of_rust_ty(alias_to, self_ty)
@@ -248,42 +147,6 @@
         Ok(sort)
     }
 
-    fn sort_of_self_param(self, trait_id: DefId) -> QueryResult<Option<rty::Sort>> {
-        assert!(matches!(self.def_kind(trait_id), DefKind::Trait));
-        let generics = self.generics_of(trait_id)?;
-        let sort = match &generics.param_at(0, self)?.kind {
-            rty::GenericParamDefKind::Base => Some(rty::Sort::Param(rty::SELF_PARAM_TY)),
-            rty::GenericParamDefKind::Const { .. }
-            | rty::GenericParamDefKind::Type { .. }
-            | rty::GenericParamDefKind::Lifetime => None,
-        };
-        Ok(sort)
-    }
-
-    fn sort_of_generic_arg(self, arg: &fhir::GenericArg) -> QueryResult<Option<rty::Sort>> {
-        match arg {
-            fhir::GenericArg::Type(ty) => self.sort_of_ty(ty),
-            fhir::GenericArg::Lifetime(_) | fhir::GenericArg::Const(_) => Ok(None),
-        }
-    }
-
-    fn sort_of_ty(self, ty: &fhir::Ty) -> QueryResult<Option<rty::Sort>> {
-        match &ty.kind {
-            fhir::TyKind::BaseTy(bty) | fhir::TyKind::Indexed(bty, _) => self.sort_of_bty(bty),
-            fhir::TyKind::Exists(_, ty) | fhir::TyKind::Constr(_, ty) => self.sort_of_ty(ty),
-            fhir::TyKind::RawPtr(..)
-            | fhir::TyKind::Ref(..)
-            | fhir::TyKind::Tuple(_)
-            | fhir::TyKind::Array(..)
-            | fhir::TyKind::TraitObject(..)
-            | fhir::TyKind::BareFn(_)
-            | fhir::TyKind::Never => Ok(Some(rty::Sort::unit())),
-            fhir::TyKind::Infer | fhir::TyKind::StrgRef(..) | fhir::TyKind::OpaqueDef(..) => {
-                Ok(None)
-            }
-        }
-    }
-
     fn sort_of_rust_ty(
         self,
         def_id: DefId,
@@ -325,5 +188,52 @@
         };
         Ok(sort)
     }
+
+    pub fn normalize_weak_alias_sort(self, alias_ty: &rty::AliasTy) -> QueryResult<rty::Sort> {
+        match self.def_kind(alias_ty.def_id) {
+            DefKind::Impl { .. } => Ok(self.sort_of_self_ty_alias(alias_ty.def_id)?.unwrap()),
+            DefKind::Struct | DefKind::Enum | DefKind::TyAlias => {
+                Ok(self
+                    .adt_sort_def_of(alias_ty.def_id)?
+                    .to_sort(&alias_ty.args))
+            }
+            _ => Err(query_bug!(alias_ty.def_id, "unexpected weak alias `{:?}`", alias_ty.def_id)),
+        }
+    }
+}
+
+impl rty::BaseTy {
+    pub fn sort(&self) -> rty::Sort {
+        match self {
+            rty::BaseTy::Int(_) | rty::BaseTy::Uint(_) | rty::BaseTy::Slice(_) => rty::Sort::Int,
+            rty::BaseTy::Bool => rty::Sort::Bool,
+            rty::BaseTy::Adt(adt_def, args) => adt_def.sort(args),
+            rty::BaseTy::Param(param_ty) => rty::Sort::Param(*param_ty),
+            rty::BaseTy::Str => rty::Sort::Str,
+            rty::BaseTy::Alias(alias_ty) => rty::Sort::Alias(alias_ty.clone()),
+            rty::BaseTy::Float(_)
+            | rty::BaseTy::Char
+            | rty::BaseTy::RawPtr(..)
+            | rty::BaseTy::Ref(..)
+            | rty::BaseTy::FnPtr(..)
+            | rty::BaseTy::FnDef(..)
+            | rty::BaseTy::Tuple(_)
+            | rty::BaseTy::Array(_, _)
+            | rty::BaseTy::Closure(..)
+            | rty::BaseTy::Coroutine(..)
+            | rty::BaseTy::Dynamic(_, _)
+            | rty::BaseTy::Never => rty::Sort::unit(),
+            rty::BaseTy::Infer(_) => tracked_span_bug!(),
+        }
+    }
+}
+
+impl rty::AliasReft {
+    pub fn fsort(&self, genv: GlobalEnv) -> QueryResult<Option<rty::FuncSort>> {
+        let Some(fsort) = genv.sort_of_assoc_reft(self.trait_id, self.name)? else {
+            return Ok(None);
+        };
+        Ok(Some(fsort.instantiate(genv.tcx(), &self.args, &[])))
+    }
 }
 

\ No newline at end of file diff --git a/doc/src/flux_refineck/type_env.rs.html b/doc/src/flux_refineck/type_env.rs.html index 216b59ca2c..a9b5c7ca66 100644 --- a/doc/src/flux_refineck/type_env.rs.html +++ b/doc/src/flux_refineck/type_env.rs.html @@ -774,6 +774,7 @@ 774 775 776 +777

mod place_ty;
 
 use std::{iter, ops::ControlFlow};
@@ -1205,9 +1206,10 @@
             | BaseTy::Never
             | BaseTy::Closure(..)
             | BaseTy::Dynamic(..)
+            | BaseTy::Alias(..)
             | BaseTy::FnPtr(..)
             | BaseTy::Coroutine(..) => {
-                debug_assert!(!scope.has_free_vars(bty));
+                assert!(!scope.has_free_vars(bty));
                 bty.clone()
             }
             BaseTy::Infer(..) => {
diff --git a/doc/trait.impl/core/clone/trait.Clone.js b/doc/trait.impl/core/clone/trait.Clone.js
index 5d8fdc7ace..f6aeafa878 100644
--- a/doc/trait.impl/core/clone/trait.Clone.js
+++ b/doc/trait.impl/core/clone/trait.Clone.js
@@ -6,7 +6,7 @@
 "flux_fhir_analysis":[["impl Clone for LayerKind"],["impl Clone for Layer"],["impl Clone for ParamEntry"]],
 "flux_infer":[["impl Clone for KVarEncoding"],["impl Clone for DataSort"],["impl Clone for Var"],["impl Clone for ConstrReason"],["impl Clone for GlobalVar"],["impl Clone for KVid"],["impl Clone for LocalVar"],["impl Clone for KVarDecl"],["impl Clone for TagIdx"],["impl Clone for Tag"],["impl Clone for NodePtr"]],
 "flux_macros":[["impl Clone for DiagnosticDeriveKind"],["impl Clone for AllowMultipleAlternatives"],["impl Clone for Applicability"],["impl Clone for SubdiagnosticKind"],["impl Clone for SuggestionKind"],["impl Clone for KindsStatistics"],["impl Clone for requires"],["impl<'ty> Clone for FieldInnerTy<'ty>"]],
-"flux_middle":[["impl Clone for Sign"],["impl Clone for ResolvedDefId"],["impl Clone for ConstArgKind"],["impl Clone for FluxLocalDefId"],["impl Clone for FluxOwnerId"],["impl Clone for Ignored"],["impl Clone for InferMode"],["impl Clone for Lifetime"],["impl Clone for Lit"],["impl Clone for ParamKind"],["impl Clone for PrimSort"],["impl Clone for Res"],["impl Clone for SortRes"],["impl Clone for SpecFuncKind"],["impl Clone for TraitBoundModifier"],["impl Clone for Trusted"],["impl Clone for KVarArgs"],["impl Clone for QueryErr"],["impl Clone for BoundReftKind"],["impl Clone for BoundVariableKind"],["impl Clone for BaseTy"],["impl Clone for BvSize"],["impl Clone for ClauseKind"],["impl Clone for Ensures"],["impl Clone for ExistentialPredicate"],["impl Clone for GenericArg"],["impl Clone for GenericParamDefKind"],["impl Clone for NumVarValue"],["impl Clone for PtrKind"],["impl Clone for Sort"],["impl Clone for SortArg"],["impl Clone for SortCtor"],["impl Clone for SortInfer"],["impl Clone for SortParamKind"],["impl Clone for TyKind"],["impl Clone for AggregateKind"],["impl Clone for BinOp"],["impl Clone for Constant"],["impl Clone for ExprKind"],["impl Clone for FieldProj"],["impl Clone for HoleKind"],["impl Clone for Loc"],["impl Clone for UnOp"],["impl Clone for Var"],["impl Clone for BigInt"],["impl Clone for ConstArg"],["impl Clone for FhirId"],["impl Clone for ItemLocalId"],["impl Clone for ParamId"],["impl Clone for PartialRes"],["impl Clone for SortDecl"],["impl Clone for BoundVarName"],["impl Clone for EVar"],["impl Clone for EVarCxId"],["impl Clone for EVid"],["impl Clone for AliasReft"],["impl Clone for BoundReft"],["impl Clone for ESpan"],["impl Clone for EarlyReftParam"],["impl Clone for Expr"],["impl Clone for KVar"],["impl Clone for KVid"],["impl Clone for Lambda"],["impl Clone for Name"],["impl Clone for Path"],["impl Clone for Real"],["impl Clone for AdtDef"],["impl Clone for AdtSortDef"],["impl Clone for AliasTy"],["impl Clone for AssocRefinement"],["impl Clone for AssocRefinements"],["impl Clone for BvSizeVid"],["impl Clone for Clause"],["impl Clone for CoroutineObligPredicate"],["impl Clone for ExistentialProjection"],["impl Clone for ExistentialTraitRef"],["impl Clone for FnOutput"],["impl Clone for FnSig"],["impl Clone for FnTraitPredicate"],["impl Clone for FuncSort"],["impl Clone for GenericParamDef"],["impl Clone for GenericPredicates"],["impl Clone for Generics"],["impl Clone for Invariant"],["impl Clone for NumVid"],["impl Clone for ParamSort"],["impl Clone for PolyFuncSort"],["impl Clone for ProjectionPredicate"],["impl Clone for RefineParam"],["impl Clone for RefinementGenerics"],["impl Clone for SortVid"],["impl Clone for SpecFuncDecl"],["impl Clone for SubsetTy"],["impl Clone for TraitPredicate"],["impl Clone for TraitRef"],["impl Clone for Ty"],["impl Clone for VariantSig"],["impl Clone for ConstGenericArgs"],["impl<'fhir> Clone for AssocItemConstraintKind<'fhir>"],["impl<'fhir> Clone for BaseTyKind<'fhir>"],["impl<'fhir> Clone for Ensures<'fhir>"],["impl<'fhir> Clone for ExprKind<'fhir>"],["impl<'fhir> Clone for GenericArg<'fhir>"],["impl<'fhir> Clone for GenericBound<'fhir>"],["impl<'fhir> Clone for GenericParamKind<'fhir>"],["impl<'fhir> Clone for Node<'fhir>"],["impl<'fhir> Clone for QPath<'fhir>"],["impl<'fhir> Clone for RefineArgKind<'fhir>"],["impl<'fhir> Clone for Sort<'fhir>"],["impl<'fhir> Clone for StructKind<'fhir>"],["impl<'fhir> Clone for TyKind<'fhir>"],["impl<'fhir> Clone for AliasReft<'fhir>"],["impl<'fhir> Clone for AssocItemConstraint<'fhir>"],["impl<'fhir> Clone for BaseTy<'fhir>"],["impl<'fhir> Clone for Expr<'fhir>"],["impl<'fhir> Clone for FieldDef<'fhir>"],["impl<'fhir> Clone for FnDecl<'fhir>"],["impl<'fhir> Clone for FnOutput<'fhir>"],["impl<'fhir> Clone for FnSig<'fhir>"],["impl<'fhir> Clone for FuncSort<'fhir>"],["impl<'fhir> Clone for GenericParam<'fhir>"],["impl<'fhir> Clone for Generics<'fhir>"],["impl<'fhir> Clone for ImplAssocReft<'fhir>"],["impl<'fhir> Clone for MutTy<'fhir>"],["impl<'fhir> Clone for Path<'fhir>"],["impl<'fhir> Clone for PathExpr<'fhir>"],["impl<'fhir> Clone for PathSegment<'fhir>"],["impl<'fhir> Clone for PolyFuncSort<'fhir>"],["impl<'fhir> Clone for PolyTraitRef<'fhir>"],["impl<'fhir> Clone for RefineArg<'fhir>"],["impl<'fhir> Clone for RefineParam<'fhir>"],["impl<'fhir> Clone for RefinedBy<'fhir>"],["impl<'fhir> Clone for Requires<'fhir>"],["impl<'fhir> Clone for SortPath<'fhir>"],["impl<'fhir> Clone for StructDef<'fhir>"],["impl<'fhir> Clone for TraitAssocReft<'fhir>"],["impl<'fhir> Clone for Ty<'fhir>"],["impl<'fhir> Clone for VariantDef<'fhir>"],["impl<'fhir> Clone for VariantRet<'fhir>"],["impl<'fhir> Clone for WhereBoundPredicate<'fhir>"],["impl<'genv, 'tcx> Clone for GlobalEnv<'genv, 'tcx>"],["impl<'genv, 'tcx> Clone for Map<'genv, 'tcx>"],["impl<Id: Clone> Clone for MaybeExternId<Id>"],["impl<Id: Clone> Clone for ExprRes<Id>"],["impl<T: Clone> Clone for Opaqueness<T>"],["impl<T: Clone> Clone for Binder<T>"],["impl<T: Clone> Clone for EarlyBinder<T>"]],
+"flux_middle":[["impl Clone for Sign"],["impl Clone for ResolvedDefId"],["impl Clone for ConstArgKind"],["impl Clone for FluxLocalDefId"],["impl Clone for FluxOwnerId"],["impl Clone for Ignored"],["impl Clone for InferMode"],["impl Clone for Lifetime"],["impl Clone for Lit"],["impl Clone for ParamKind"],["impl Clone for PrimSort"],["impl Clone for Res"],["impl Clone for SortRes"],["impl Clone for SpecFuncKind"],["impl Clone for TraitBoundModifier"],["impl Clone for Trusted"],["impl Clone for KVarArgs"],["impl Clone for QueryErr"],["impl Clone for BoundReftKind"],["impl Clone for BoundVariableKind"],["impl Clone for BaseTy"],["impl Clone for BvSize"],["impl Clone for ClauseKind"],["impl Clone for Coercion"],["impl Clone for Ensures"],["impl Clone for ExistentialPredicate"],["impl Clone for GenericArg"],["impl Clone for GenericParamDefKind"],["impl Clone for NumVarValue"],["impl Clone for PtrKind"],["impl Clone for Sort"],["impl Clone for SortArg"],["impl Clone for SortCtor"],["impl Clone for SortInfer"],["impl Clone for SortParamKind"],["impl Clone for TyKind"],["impl Clone for AggregateKind"],["impl Clone for BinOp"],["impl Clone for Constant"],["impl Clone for ExprKind"],["impl Clone for FieldProj"],["impl Clone for HoleKind"],["impl Clone for Loc"],["impl Clone for UnOp"],["impl Clone for Var"],["impl Clone for BigInt"],["impl Clone for ConstArg"],["impl Clone for FhirId"],["impl Clone for ItemLocalId"],["impl Clone for ParamId"],["impl Clone for PartialRes"],["impl Clone for SortDecl"],["impl Clone for BoundVarName"],["impl Clone for EVar"],["impl Clone for EVarCxId"],["impl Clone for EVid"],["impl Clone for AliasReft"],["impl Clone for BoundReft"],["impl Clone for ESpan"],["impl Clone for EarlyReftParam"],["impl Clone for Expr"],["impl Clone for KVar"],["impl Clone for KVid"],["impl Clone for Lambda"],["impl Clone for Name"],["impl Clone for Path"],["impl Clone for Real"],["impl Clone for AdtDef"],["impl Clone for AdtSortDef"],["impl Clone for AliasTy"],["impl Clone for AssocRefinement"],["impl Clone for AssocRefinements"],["impl Clone for BvSizeVid"],["impl Clone for Clause"],["impl Clone for CoroutineObligPredicate"],["impl Clone for ExistentialProjection"],["impl Clone for ExistentialTraitRef"],["impl Clone for FnOutput"],["impl Clone for FnSig"],["impl Clone for FnTraitPredicate"],["impl Clone for FuncSort"],["impl Clone for GenericParamDef"],["impl Clone for GenericPredicates"],["impl Clone for Generics"],["impl Clone for Invariant"],["impl Clone for NumVid"],["impl Clone for ParamSort"],["impl Clone for PolyFuncSort"],["impl Clone for ProjectionPredicate"],["impl Clone for RefineParam"],["impl Clone for RefinementGenerics"],["impl Clone for SortVid"],["impl Clone for SpecFuncDecl"],["impl Clone for SubsetTy"],["impl Clone for TraitPredicate"],["impl Clone for TraitRef"],["impl Clone for Ty"],["impl Clone for VariantSig"],["impl Clone for ConstGenericArgs"],["impl<'fhir> Clone for AssocItemConstraintKind<'fhir>"],["impl<'fhir> Clone for BaseTyKind<'fhir>"],["impl<'fhir> Clone for Ensures<'fhir>"],["impl<'fhir> Clone for ExprKind<'fhir>"],["impl<'fhir> Clone for GenericArg<'fhir>"],["impl<'fhir> Clone for GenericBound<'fhir>"],["impl<'fhir> Clone for GenericParamKind<'fhir>"],["impl<'fhir> Clone for Node<'fhir>"],["impl<'fhir> Clone for QPath<'fhir>"],["impl<'fhir> Clone for RefineArgKind<'fhir>"],["impl<'fhir> Clone for Sort<'fhir>"],["impl<'fhir> Clone for StructKind<'fhir>"],["impl<'fhir> Clone for TyKind<'fhir>"],["impl<'fhir> Clone for AliasReft<'fhir>"],["impl<'fhir> Clone for AssocItemConstraint<'fhir>"],["impl<'fhir> Clone for BaseTy<'fhir>"],["impl<'fhir> Clone for Expr<'fhir>"],["impl<'fhir> Clone for FieldDef<'fhir>"],["impl<'fhir> Clone for FnDecl<'fhir>"],["impl<'fhir> Clone for FnOutput<'fhir>"],["impl<'fhir> Clone for FnSig<'fhir>"],["impl<'fhir> Clone for FuncSort<'fhir>"],["impl<'fhir> Clone for GenericParam<'fhir>"],["impl<'fhir> Clone for Generics<'fhir>"],["impl<'fhir> Clone for ImplAssocReft<'fhir>"],["impl<'fhir> Clone for MutTy<'fhir>"],["impl<'fhir> Clone for Path<'fhir>"],["impl<'fhir> Clone for PathExpr<'fhir>"],["impl<'fhir> Clone for PathSegment<'fhir>"],["impl<'fhir> Clone for PolyFuncSort<'fhir>"],["impl<'fhir> Clone for PolyTraitRef<'fhir>"],["impl<'fhir> Clone for RefineArg<'fhir>"],["impl<'fhir> Clone for RefineParam<'fhir>"],["impl<'fhir> Clone for RefinedBy<'fhir>"],["impl<'fhir> Clone for Requires<'fhir>"],["impl<'fhir> Clone for SortPath<'fhir>"],["impl<'fhir> Clone for StructDef<'fhir>"],["impl<'fhir> Clone for TraitAssocReft<'fhir>"],["impl<'fhir> Clone for Ty<'fhir>"],["impl<'fhir> Clone for VariantDef<'fhir>"],["impl<'fhir> Clone for VariantRet<'fhir>"],["impl<'fhir> Clone for WhereBoundPredicate<'fhir>"],["impl<'genv, 'tcx> Clone for GlobalEnv<'genv, 'tcx>"],["impl<'genv, 'tcx> Clone for Map<'genv, 'tcx>"],["impl<Id: Clone> Clone for MaybeExternId<Id>"],["impl<Id: Clone> Clone for ExprRes<Id>"],["impl<T: Clone> Clone for Opaqueness<T>"],["impl<T: Clone> Clone for Binder<T>"],["impl<T: Clone> Clone for EarlyBinder<T>"]],
 "flux_refineck":[["impl Clone for Point"],["impl Clone for PlaceNode"],["impl Clone for LocKind"],["impl Clone for CheckerConfig"],["impl Clone for Env"],["impl Clone for PlaceIndex"],["impl Clone for State"],["impl Clone for ValueIndex"],["impl Clone for Binding"],["impl Clone for PlacesTree"],["impl<'a> Clone for TypeEnv<'a>"]],
 "flux_rustc_bridge":[["impl Clone for BinOp"],["impl Clone for CastKind"],["impl Clone for NullOp"],["impl Clone for PlaceElem"],["impl Clone for PointerCast"],["impl Clone for AliasKind"],["impl Clone for BoundVariableKind"],["impl Clone for ConstKind"],["impl Clone for GenericParamDefKind"],["impl Clone for Region"],["impl Clone for ValTree"],["impl Clone for UnsupportedErr"],["impl Clone for UnsupportedReason"],["impl Clone for LocalDecl"],["impl Clone for Place"],["impl Clone for AdtDef"],["impl Clone for BoundRegion"],["impl Clone for Const"],["impl Clone for FnSig"],["impl Clone for GenericPredicates"],["impl Clone for LateParamRegion"],["impl Clone for Ty"],["impl Clone for UnevaluatedConst"],["impl<'a> Clone for PlaceRef<'a>"],["impl<'tcx> Clone for Generics<'tcx>"],["impl<T: Clone> Clone for Binder<T>"],["impl<T: Clone> Clone for EarlyBinder<T>"],["impl<T: Clone> Clone for OutlivesPredicate<T>"]],
 "flux_syntax":[["impl Clone for Token"],["impl Clone for Async"],["impl Clone for BinOp"],["impl Clone for BindKind"],["impl Clone for ParamMode"],["impl Clone for UnOp"],["impl Clone for Location"],["impl Clone for ArrayLen"],["impl Clone for ExprPath"],["impl Clone for ExprPathSegment"],["impl Clone for NodeId"]],
diff --git a/doc/trait.impl/core/convert/trait.From.js b/doc/trait.impl/core/convert/trait.From.js
index 2cf2164afa..2f77aef84a 100644
--- a/doc/trait.impl/core/convert/trait.From.js
+++ b/doc/trait.impl/core/convert/trait.From.js
@@ -3,8 +3,8 @@
 "flux_driver":[["impl From<ParseError> for SyntaxErr"]],
 "flux_infer":[["impl From<QueryErr> for InferErr"],["impl From<u32> for GlobalVar"],["impl From<u32> for KVid"],["impl From<u32> for LocalVar"],["impl From<u32> for TagIdx"],["impl From<usize> for GlobalVar"],["impl From<usize> for KVid"],["impl From<usize> for LocalVar"],["impl From<usize> for TagIdx"],["impl From<GlobalVar> for Var"],["impl From<GlobalVar> for u32"],["impl From<GlobalVar> for usize"],["impl From<KVid> for u32"],["impl From<KVid> for usize"],["impl From<LocalVar> for Var"],["impl From<LocalVar> for u32"],["impl From<LocalVar> for usize"],["impl From<TagIdx> for u32"],["impl From<TagIdx> for usize"],["impl From<UnsolvedEvar> for InferErr"]],
 "flux_macros":[["impl From<Error> for DiagnosticDeriveError"]],
-"flux_middle":[["impl From<&Expr> for Expr"],["impl From<FluxOwnerId> for FluxLocalDefId"],["impl From<Sort> for BoundVariableKind"],["impl From<Loc> for Path"],["impl From<Var> for Expr"],["impl From<bool> for Ignored"],["impl From<bool> for Trusted"],["impl From<bool> for Constant"],["impl From<i128> for Constant"],["impl From<i128> for BigInt"],["impl From<i32> for Constant"],["impl From<i32> for BigInt"],["impl From<i32> for Expr"],["impl From<u128> for Constant"],["impl From<u128> for BigInt"],["impl From<u32> for ItemLocalId"],["impl From<u32> for ParamId"],["impl From<u32> for BoundVarName"],["impl From<u32> for EVid"],["impl From<u32> for KVid"],["impl From<u32> for Name"],["impl From<u32> for BvSizeVid"],["impl From<u32> for NumVid"],["impl From<u32> for ParamSort"],["impl From<u32> for SortVid"],["impl From<usize> for Constant"],["impl From<usize> for BigInt"],["impl From<usize> for ItemLocalId"],["impl From<usize> for ParamId"],["impl From<usize> for BoundVarName"],["impl From<usize> for EVid"],["impl From<usize> for KVid"],["impl From<usize> for Name"],["impl From<usize> for BvSizeVid"],["impl From<usize> for NumVid"],["impl From<usize> for ParamSort"],["impl From<usize> for SortVid"],["impl From<ItemLocalId> for u32"],["impl From<ItemLocalId> for usize"],["impl From<ParamId> for u32"],["impl From<ParamId> for usize"],["impl From<Symbol> for Constant"],["impl From<BoundVarName> for u32"],["impl From<BoundVarName> for usize"],["impl From<Binder<ClauseKind>> for Clause"],["impl From<EVid> for u32"],["impl From<EVid> for usize"],["impl From<KVid> for u32"],["impl From<KVid> for usize"],["impl From<Name> for Loc"],["impl From<Name> for u32"],["impl From<Name> for usize"],["impl From<Name> for Expr"],["impl From<Path> for Expr"],["impl From<BvSizeVid> for u32"],["impl From<BvSizeVid> for usize"],["impl From<NumVid> for u32"],["impl From<NumVid> for usize"],["impl From<ParamSort> for u32"],["impl From<ParamSort> for usize"],["impl From<SortVid> for u32"],["impl From<SortVid> for usize"],["impl From<Local> for Loc"],["impl From<LocalDefId> for FluxLocalDefId"],["impl From<ErrorGuaranteed> for QueryErr"],["impl From<OwnerId> for FluxOwnerId"],["impl<'fhir> From<QPath<'fhir>> for BaseTy<'fhir>"],["impl<'fhir> From<PolyFuncSort<'fhir>> for Sort<'fhir>"]],
-"flux_refineck":[["impl From<InferErr> for CheckerErrKind"],["impl From<QueryErr> for CheckerErrKind"],["impl From<u32> for PlaceIndex"],["impl From<u32> for ValueIndex"],["impl From<usize> for PlaceIndex"],["impl From<usize> for ValueIndex"],["impl From<PlaceIndex> for u32"],["impl From<PlaceIndex> for usize"],["impl From<ValueIndex> for u32"],["impl From<ValueIndex> for usize"]],
+"flux_middle":[["impl From<&Expr> for Expr"],["impl From<FluxOwnerId> for FluxLocalDefId"],["impl From<Sort> for BoundVariableKind"],["impl From<Loc> for Path"],["impl From<Var> for Expr"],["impl From<bool> for Ignored"],["impl From<bool> for Trusted"],["impl From<bool> for Constant"],["impl From<i128> for Constant"],["impl From<i128> for BigInt"],["impl From<i32> for Constant"],["impl From<i32> for BigInt"],["impl From<i32> for Expr"],["impl From<u128> for Constant"],["impl From<u128> for BigInt"],["impl From<u32> for ItemLocalId"],["impl From<u32> for ParamId"],["impl From<u32> for BoundVarName"],["impl From<u32> for EVid"],["impl From<u32> for KVid"],["impl From<u32> for Name"],["impl From<u32> for BvSizeVid"],["impl From<u32> for NumVid"],["impl From<u32> for ParamSort"],["impl From<u32> for SortVid"],["impl From<usize> for Constant"],["impl From<usize> for BigInt"],["impl From<usize> for ItemLocalId"],["impl From<usize> for ParamId"],["impl From<usize> for BoundVarName"],["impl From<usize> for EVid"],["impl From<usize> for KVid"],["impl From<usize> for Name"],["impl From<usize> for BvSizeVid"],["impl From<usize> for NumVid"],["impl From<usize> for ParamSort"],["impl From<usize> for SortVid"],["impl From<ItemLocalId> for u32"],["impl From<ItemLocalId> for usize"],["impl From<ParamId> for u32"],["impl From<ParamId> for usize"],["impl From<Symbol> for Constant"],["impl From<BoundVarName> for u32"],["impl From<BoundVarName> for usize"],["impl From<Binder<ClauseKind>> for Clause"],["impl From<EVid> for u32"],["impl From<EVid> for usize"],["impl From<KVid> for u32"],["impl From<KVid> for usize"],["impl From<Name> for Loc"],["impl From<Name> for u32"],["impl From<Name> for usize"],["impl From<Name> for Expr"],["impl From<Path> for Expr"],["impl From<BvSizeVid> for u32"],["impl From<BvSizeVid> for usize"],["impl From<NumVid> for u32"],["impl From<NumVid> for usize"],["impl From<ParamSort> for u32"],["impl From<ParamSort> for usize"],["impl From<SortVid> for u32"],["impl From<SortVid> for usize"],["impl From<Local> for Loc"],["impl From<LocalDefId> for FluxLocalDefId"],["impl From<ErrorGuaranteed> for QueryErr"],["impl From<OwnerId> for FluxOwnerId"],["impl<'fhir> From<PolyFuncSort<'fhir>> for Sort<'fhir>"]],
+"flux_refineck":[["impl From<QueryErr> for CheckerErrKind"],["impl From<u32> for PlaceIndex"],["impl From<u32> for ValueIndex"],["impl From<usize> for PlaceIndex"],["impl From<usize> for ValueIndex"],["impl From<PlaceIndex> for u32"],["impl From<PlaceIndex> for usize"],["impl From<ValueIndex> for u32"],["impl From<ValueIndex> for usize"],["impl From<InferErr> for CheckerErrKind"]],
 "flux_rustc_bridge":[["impl<'a, 'tcx> From<&'a Statement<'tcx>> for UnsupportedMir"],["impl<'a, 'tcx> From<&'a Terminator<'tcx>> for UnsupportedMir"]],
 "flux_syntax":[["impl<T, P> From<Vec<(T, P)>> 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/doc/trait.impl/core/marker/trait.Copy.js b/doc/trait.impl/core/marker/trait.Copy.js
index eacb5c3a0d..06e490dfab 100644
--- a/doc/trait.impl/core/marker/trait.Copy.js
+++ b/doc/trait.impl/core/marker/trait.Copy.js
@@ -5,7 +5,7 @@
 "flux_fhir_analysis":[["impl Copy for LayerKind"]],
 "flux_infer":[["impl Copy for KVarEncoding"],["impl Copy for Var"],["impl Copy for ConstrReason"],["impl Copy for GlobalVar"],["impl Copy for KVid"],["impl Copy for LocalVar"],["impl Copy for TagIdx"],["impl Copy for Tag"]],
 "flux_macros":[["impl Copy for DiagnosticDeriveKind"],["impl Copy for AllowMultipleAlternatives"],["impl Copy for Applicability"],["impl Copy for SuggestionKind"],["impl Copy for KindsStatistics"],["impl Copy for requires"],["impl<'ty> Copy for FieldInnerTy<'ty>"]],
-"flux_middle":[["impl Copy for Sign"],["impl Copy for ResolvedDefId"],["impl Copy for ConstArgKind"],["impl Copy for FluxLocalDefId"],["impl Copy for FluxOwnerId"],["impl Copy for Ignored"],["impl Copy for InferMode"],["impl Copy for Lifetime"],["impl Copy for Lit"],["impl Copy for ParamKind"],["impl Copy for PrimSort"],["impl Copy for Res"],["impl Copy for SortRes"],["impl Copy for SpecFuncKind"],["impl Copy for TraitBoundModifier"],["impl Copy for Trusted"],["impl Copy for KVarArgs"],["impl Copy for BoundReftKind"],["impl Copy for BvSize"],["impl Copy for GenericParamDefKind"],["impl Copy for NumVarValue"],["impl Copy for PtrKind"],["impl Copy for SortInfer"],["impl Copy for SortParamKind"],["impl Copy for AggregateKind"],["impl Copy for Constant"],["impl Copy for FieldProj"],["impl Copy for Loc"],["impl Copy for UnOp"],["impl Copy for Var"],["impl Copy for BigInt"],["impl Copy for ConstArg"],["impl Copy for FhirId"],["impl Copy for ItemLocalId"],["impl Copy for ParamId"],["impl Copy for PartialRes"],["impl Copy for SortDecl"],["impl Copy for BoundVarName"],["impl Copy for EVar"],["impl Copy for EVarCxId"],["impl Copy for EVid"],["impl Copy for BoundReft"],["impl Copy for ESpan"],["impl Copy for EarlyReftParam"],["impl Copy for KVid"],["impl Copy for Name"],["impl Copy for Real"],["impl Copy for BvSizeVid"],["impl Copy for NumVid"],["impl Copy for ParamSort"],["impl Copy for SortVid"],["impl<'fhir> Copy for AssocItemConstraintKind<'fhir>"],["impl<'fhir> Copy for BaseTyKind<'fhir>"],["impl<'fhir> Copy for Ensures<'fhir>"],["impl<'fhir> Copy for ExprKind<'fhir>"],["impl<'fhir> Copy for GenericArg<'fhir>"],["impl<'fhir> Copy for GenericBound<'fhir>"],["impl<'fhir> Copy for GenericParamKind<'fhir>"],["impl<'fhir> Copy for Node<'fhir>"],["impl<'fhir> Copy for QPath<'fhir>"],["impl<'fhir> Copy for RefineArgKind<'fhir>"],["impl<'fhir> Copy for Sort<'fhir>"],["impl<'fhir> Copy for StructKind<'fhir>"],["impl<'fhir> Copy for TyKind<'fhir>"],["impl<'fhir> Copy for AliasReft<'fhir>"],["impl<'fhir> Copy for AssocItemConstraint<'fhir>"],["impl<'fhir> Copy for BaseTy<'fhir>"],["impl<'fhir> Copy for Expr<'fhir>"],["impl<'fhir> Copy for FieldDef<'fhir>"],["impl<'fhir> Copy for FnDecl<'fhir>"],["impl<'fhir> Copy for FnOutput<'fhir>"],["impl<'fhir> Copy for FnSig<'fhir>"],["impl<'fhir> Copy for FuncSort<'fhir>"],["impl<'fhir> Copy for GenericParam<'fhir>"],["impl<'fhir> Copy for Generics<'fhir>"],["impl<'fhir> Copy for ImplAssocReft<'fhir>"],["impl<'fhir> Copy for MutTy<'fhir>"],["impl<'fhir> Copy for Path<'fhir>"],["impl<'fhir> Copy for PathExpr<'fhir>"],["impl<'fhir> Copy for PathSegment<'fhir>"],["impl<'fhir> Copy for PolyFuncSort<'fhir>"],["impl<'fhir> Copy for PolyTraitRef<'fhir>"],["impl<'fhir> Copy for RefineArg<'fhir>"],["impl<'fhir> Copy for RefineParam<'fhir>"],["impl<'fhir> Copy for Requires<'fhir>"],["impl<'fhir> Copy for SortPath<'fhir>"],["impl<'fhir> Copy for StructDef<'fhir>"],["impl<'fhir> Copy for TraitAssocReft<'fhir>"],["impl<'fhir> Copy for Ty<'fhir>"],["impl<'fhir> Copy for VariantDef<'fhir>"],["impl<'fhir> Copy for VariantRet<'fhir>"],["impl<'fhir> Copy for WhereBoundPredicate<'fhir>"],["impl<'genv, 'tcx> Copy for GlobalEnv<'genv, 'tcx>"],["impl<'genv, 'tcx> Copy for Map<'genv, 'tcx>"],["impl<Id: Copy> Copy for MaybeExternId<Id>"],["impl<Id: Copy> Copy for ExprRes<Id>"]],
+"flux_middle":[["impl Copy for Sign"],["impl Copy for ResolvedDefId"],["impl Copy for ConstArgKind"],["impl Copy for FluxLocalDefId"],["impl Copy for FluxOwnerId"],["impl Copy for Ignored"],["impl Copy for InferMode"],["impl Copy for Lifetime"],["impl Copy for Lit"],["impl Copy for ParamKind"],["impl Copy for PrimSort"],["impl Copy for Res"],["impl Copy for SortRes"],["impl Copy for SpecFuncKind"],["impl Copy for TraitBoundModifier"],["impl Copy for Trusted"],["impl Copy for KVarArgs"],["impl Copy for BoundReftKind"],["impl Copy for BvSize"],["impl Copy for Coercion"],["impl Copy for GenericParamDefKind"],["impl Copy for NumVarValue"],["impl Copy for PtrKind"],["impl Copy for SortInfer"],["impl Copy for SortParamKind"],["impl Copy for AggregateKind"],["impl Copy for Constant"],["impl Copy for FieldProj"],["impl Copy for Loc"],["impl Copy for UnOp"],["impl Copy for Var"],["impl Copy for BigInt"],["impl Copy for ConstArg"],["impl Copy for FhirId"],["impl Copy for ItemLocalId"],["impl Copy for ParamId"],["impl Copy for PartialRes"],["impl Copy for SortDecl"],["impl Copy for BoundVarName"],["impl Copy for EVar"],["impl Copy for EVarCxId"],["impl Copy for EVid"],["impl Copy for BoundReft"],["impl Copy for ESpan"],["impl Copy for EarlyReftParam"],["impl Copy for KVid"],["impl Copy for Name"],["impl Copy for Real"],["impl Copy for BvSizeVid"],["impl Copy for NumVid"],["impl Copy for ParamSort"],["impl Copy for SortVid"],["impl<'fhir> Copy for AssocItemConstraintKind<'fhir>"],["impl<'fhir> Copy for BaseTyKind<'fhir>"],["impl<'fhir> Copy for Ensures<'fhir>"],["impl<'fhir> Copy for ExprKind<'fhir>"],["impl<'fhir> Copy for GenericArg<'fhir>"],["impl<'fhir> Copy for GenericBound<'fhir>"],["impl<'fhir> Copy for GenericParamKind<'fhir>"],["impl<'fhir> Copy for Node<'fhir>"],["impl<'fhir> Copy for QPath<'fhir>"],["impl<'fhir> Copy for RefineArgKind<'fhir>"],["impl<'fhir> Copy for Sort<'fhir>"],["impl<'fhir> Copy for StructKind<'fhir>"],["impl<'fhir> Copy for TyKind<'fhir>"],["impl<'fhir> Copy for AliasReft<'fhir>"],["impl<'fhir> Copy for AssocItemConstraint<'fhir>"],["impl<'fhir> Copy for BaseTy<'fhir>"],["impl<'fhir> Copy for Expr<'fhir>"],["impl<'fhir> Copy for FieldDef<'fhir>"],["impl<'fhir> Copy for FnDecl<'fhir>"],["impl<'fhir> Copy for FnOutput<'fhir>"],["impl<'fhir> Copy for FnSig<'fhir>"],["impl<'fhir> Copy for FuncSort<'fhir>"],["impl<'fhir> Copy for GenericParam<'fhir>"],["impl<'fhir> Copy for Generics<'fhir>"],["impl<'fhir> Copy for ImplAssocReft<'fhir>"],["impl<'fhir> Copy for MutTy<'fhir>"],["impl<'fhir> Copy for Path<'fhir>"],["impl<'fhir> Copy for PathExpr<'fhir>"],["impl<'fhir> Copy for PathSegment<'fhir>"],["impl<'fhir> Copy for PolyFuncSort<'fhir>"],["impl<'fhir> Copy for PolyTraitRef<'fhir>"],["impl<'fhir> Copy for RefineArg<'fhir>"],["impl<'fhir> Copy for RefineParam<'fhir>"],["impl<'fhir> Copy for Requires<'fhir>"],["impl<'fhir> Copy for SortPath<'fhir>"],["impl<'fhir> Copy for StructDef<'fhir>"],["impl<'fhir> Copy for TraitAssocReft<'fhir>"],["impl<'fhir> Copy for Ty<'fhir>"],["impl<'fhir> Copy for VariantDef<'fhir>"],["impl<'fhir> Copy for VariantRet<'fhir>"],["impl<'fhir> Copy for WhereBoundPredicate<'fhir>"],["impl<'genv, 'tcx> Copy for GlobalEnv<'genv, 'tcx>"],["impl<'genv, 'tcx> Copy for Map<'genv, 'tcx>"],["impl<Id: Copy> Copy for MaybeExternId<Id>"],["impl<Id: Copy> Copy for ExprRes<Id>"]],
 "flux_refineck":[["impl Copy for Point"],["impl Copy for CheckerConfig"],["impl Copy for PlaceIndex"],["impl Copy for ValueIndex"]],
 "flux_rustc_bridge":[["impl Copy for BinOp"],["impl Copy for CastKind"],["impl Copy for NullOp"],["impl Copy for PlaceElem"],["impl Copy for PointerCast"],["impl Copy for AliasKind"],["impl Copy for BoundVariableKind"],["impl Copy for GenericParamDefKind"],["impl Copy for Region"],["impl Copy for BoundRegion"],["impl Copy for LateParamRegion"],["impl<'a> Copy for PlaceRef<'a>"]],
 "flux_syntax":[["impl Copy for Async"],["impl Copy for BinOp"],["impl Copy for BindKind"],["impl Copy for ParamMode"],["impl Copy for UnOp"],["impl Copy for Location"],["impl Copy for ArrayLen"],["impl Copy for NodeId"]],
diff --git a/doc/trait.impl/core/marker/trait.Freeze.js b/doc/trait.impl/core/marker/trait.Freeze.js
index b4a9eb48c6..c9c2c5171a 100644
--- a/doc/trait.impl/core/marker/trait.Freeze.js
+++ b/doc/trait.impl/core/marker/trait.Freeze.js
@@ -7,7 +7,7 @@
 "flux_desugar":[["impl Freeze for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl Freeze for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl Freeze for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl Freeze for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl Freeze for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl Freeze for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl Freeze for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl Freeze for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl Freeze for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl Freeze for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl Freeze for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl Freeze for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl Freeze for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl Freeze for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl Freeze for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl Freeze for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl Freeze for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl Freeze for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl Freeze for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl Freeze for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl Freeze for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl Freeze for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl Freeze for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> Freeze for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !Freeze for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !Freeze for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !Freeze for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !Freeze for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> Freeze for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !Freeze for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> Freeze for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> Freeze for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> Freeze for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> !Freeze for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> Freeze for ScopedVisitorWrapper<V>
where\n V: Freeze,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl Freeze for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Freeze for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl Freeze for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Freeze for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Freeze for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Freeze for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Freeze for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl Freeze for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl Freeze for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Freeze for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl Freeze for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl Freeze for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl Freeze for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl Freeze for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl Freeze for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl Freeze for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl Freeze for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl Freeze for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl Freeze for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl Freeze for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Freeze for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Freeze for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl Freeze for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> Freeze for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> Freeze for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> !Freeze for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl !Freeze for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> !Freeze for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl Freeze for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Freeze for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Freeze for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Freeze for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Freeze for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Freeze for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Freeze for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Freeze for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Freeze for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Freeze for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Freeze for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Freeze for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Freeze for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Freeze for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Freeze for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Freeze for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Freeze for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Freeze for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Freeze for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Freeze for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Freeze for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Freeze for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Freeze for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Freeze for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Freeze for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Freeze for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Freeze for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Freeze for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl Freeze for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Freeze for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Freeze for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Freeze for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Freeze for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Freeze for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Freeze for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Freeze for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Freeze for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !Freeze for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !Freeze for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !Freeze for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'a, 'genv, 'tcx> Freeze for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> Freeze for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> Freeze for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> Freeze for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'genv, 'tcx> !Freeze for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> Freeze for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> Freeze for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl Freeze for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Freeze for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Freeze for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Freeze for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Freeze for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Freeze for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Freeze for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Freeze for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Freeze for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Freeze for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl Freeze for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Freeze for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Freeze for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Freeze for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Freeze for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Freeze for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Freeze for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Freeze for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Freeze for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Freeze for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Freeze for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Freeze for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Freeze for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Freeze for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Freeze for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Freeze for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Freeze for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Freeze for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Freeze for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Freeze for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Freeze for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Freeze for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Freeze for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Freeze for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Freeze for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Freeze for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Freeze for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !Freeze for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !Freeze for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !Freeze for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'a, 'genv, 'tcx> Freeze for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> Freeze for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> Freeze for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'genv, 'tcx> !Freeze for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> Freeze for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> Freeze for ConvCtxt<'genv, 'tcx, P>
where\n P: Freeze,
",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> Freeze for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !Freeze for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl Freeze for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl Freeze for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl Freeze for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl Freeze for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl Freeze for InferErr",1,["flux_infer::infer::InferErr"]],["impl Freeze for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl Freeze for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl Freeze for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl Freeze for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Freeze for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Freeze for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl Freeze for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl Freeze for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl Freeze for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl Freeze for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl Freeze for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl Freeze for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl Freeze for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl Freeze for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl Freeze for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl Freeze for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl Freeze for Sub",1,["flux_infer::infer::Sub"]],["impl Freeze for Tag",1,["flux_infer::infer::Tag"]],["impl Freeze for Node",1,["flux_infer::refine_tree::Node"]],["impl Freeze for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl Freeze for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl Freeze for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl Freeze for Scope",1,["flux_infer::refine_tree::Scope"]],["impl Freeze for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl Freeze for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl<'a> Freeze for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> Freeze for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> Freeze for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !Freeze for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !Freeze for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !Freeze for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> Freeze for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> Freeze for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_macros":[["impl Freeze for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl Freeze for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl Freeze for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Freeze for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Freeze for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl Freeze for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl Freeze for Guard",1,["flux_macros::primops::Guard"]],["impl Freeze for Output",1,["flux_macros::primops::Output"]],["impl Freeze for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl Freeze for DiagnosticDeriveVariantBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl Freeze for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl Freeze for SubdiagnosticDerive",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDerive"]],["impl Freeze for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]],["impl Freeze for requires",1,["flux_macros::primops::kw::requires"]],["impl Freeze for Arg",1,["flux_macros::primops::Arg"]],["impl Freeze for Renderer",1,["flux_macros::primops::Renderer"]],["impl Freeze for Requires",1,["flux_macros::primops::Requires"]],["impl Freeze for Rule",1,["flux_macros::primops::Rule"]],["impl Freeze for Rules",1,["flux_macros::primops::Rules"]],["impl<'a> Freeze for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> Freeze for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl<'a> Freeze for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl<'parent, 'a> Freeze for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl<'ty> Freeze for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]]], "flux_metadata":[["impl Freeze for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl Freeze for CStore",1,["flux_metadata::CStore"]],["impl Freeze for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> Freeze for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> Freeze for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> Freeze for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> Freeze for Tables<K>",1,["flux_metadata::Tables"]]], diff --git a/doc/trait.impl/core/marker/trait.Send.js b/doc/trait.impl/core/marker/trait.Send.js index 2f96d0f015..4947c71974 100644 --- a/doc/trait.impl/core/marker/trait.Send.js +++ b/doc/trait.impl/core/marker/trait.Send.js @@ -7,7 +7,7 @@ "flux_desugar":[["impl Send for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl Send for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl Send for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl Send for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl Send for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl Send for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl Send for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl Send for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl Send for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl Send for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl Send for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl Send for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl Send for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl Send for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl Send for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl Send for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl Send for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl Send for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl Send for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl Send for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl Send for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl Send for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl Send for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> Send for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !Send for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !Send for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !Send for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !Send for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> !Send for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !Send for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> !Send for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> !Send for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> !Send for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> !Send for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> Send for ScopedVisitorWrapper<V>
where\n V: Send,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl Send for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Send for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl Send for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Send for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Send for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Send for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Send for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl Send for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl Send for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Send for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl Send for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl Send for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl Send for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl Send for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl Send for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl Send for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl Send for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl Send for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl Send for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl Send for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Send for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Send for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl Send for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> !Send for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> !Send for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> !Send for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl !Send for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> !Send for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl Send for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Send for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Send for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Send for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Send for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Send for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Send for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Send for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Send for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Send for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Send for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Send for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Send for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Send for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Send for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Send for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Send for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Send for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Send for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Send for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Send for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Send for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Send for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Send for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Send for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Send for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Send for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Send for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl Send for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Send for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Send for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Send for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Send for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Send for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Send for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Send for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Send for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !Send for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> !Send for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !Send for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !Send for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !Send for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !Send for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !Send for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !Send for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !Send for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> Send for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl Send for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Send for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Send for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Send for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Send for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Send for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Send for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Send for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Send for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Send for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl Send for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Send for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Send for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Send for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Send for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Send for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Send for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Send for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Send for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Send for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Send for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Send for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Send for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Send for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Send for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Send for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Send for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Send for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Send for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Send for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Send for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Send for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Send for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Send for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Send for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Send for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Send for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !Send for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !Send for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !Send for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !Send for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !Send for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !Send for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !Send for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !Send for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> !Send for ConvCtxt<'genv, 'tcx, P>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> Send for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !Send for Node",1,["flux_infer::refine_tree::Node"]],["impl !Send for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl !Send for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl !Send for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl !Send for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl !Send for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl Send for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl Send for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl Send for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl Send for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl Send for InferErr",1,["flux_infer::infer::InferErr"]],["impl Send for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl Send for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl Send for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl Send for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Send for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Send for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl Send for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl Send for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl Send for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl Send for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl Send for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl Send for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl Send for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl Send for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl Send for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl Send for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl Send for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl Send for Sub",1,["flux_infer::infer::Sub"]],["impl Send for Tag",1,["flux_infer::infer::Tag"]],["impl Send for Scope",1,["flux_infer::refine_tree::Scope"]],["impl<'a> !Send for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> !Send for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> !Send for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !Send for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !Send for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !Send for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> !Send for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> Send for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_macros":[["impl !Send for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl !Send for Guard",1,["flux_macros::primops::Guard"]],["impl !Send for Output",1,["flux_macros::primops::Output"]],["impl !Send for DiagnosticDeriveVariantBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl !Send for SubdiagnosticDerive",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDerive"]],["impl !Send for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]],["impl !Send for requires",1,["flux_macros::primops::kw::requires"]],["impl !Send for Arg",1,["flux_macros::primops::Arg"]],["impl !Send for Renderer",1,["flux_macros::primops::Renderer"]],["impl !Send for Requires",1,["flux_macros::primops::Requires"]],["impl !Send for Rule",1,["flux_macros::primops::Rule"]],["impl !Send for Rules",1,["flux_macros::primops::Rules"]],["impl Send for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl Send for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl Send for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Send for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Send for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl Send for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl Send for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'a> !Send for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> !Send for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl<'a> !Send for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl<'parent, 'a> !Send for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl<'ty> !Send for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]]], "flux_metadata":[["impl Send for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl Send for CStore",1,["flux_metadata::CStore"]],["impl Send for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> Send for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !Send for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> !Send for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> Send for Tables<K>
where\n K: Send,
",1,["flux_metadata::Tables"]]], diff --git a/doc/trait.impl/core/marker/trait.Sync.js b/doc/trait.impl/core/marker/trait.Sync.js index 02d0ca5791..28c1cf3681 100644 --- a/doc/trait.impl/core/marker/trait.Sync.js +++ b/doc/trait.impl/core/marker/trait.Sync.js @@ -7,7 +7,7 @@ "flux_desugar":[["impl Sync for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl Sync for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl Sync for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl Sync for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl Sync for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl Sync for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl Sync for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl Sync for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl Sync for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl Sync for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl Sync for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl Sync for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl Sync for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl Sync for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl Sync for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl Sync for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl Sync for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl Sync for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl Sync for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl Sync for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl Sync for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl Sync for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl Sync for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> Sync for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !Sync for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !Sync for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !Sync for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !Sync for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> !Sync for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !Sync for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> !Sync for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> !Sync for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> !Sync for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> !Sync for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> Sync for ScopedVisitorWrapper<V>
where\n V: Sync,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl Sync for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Sync for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl Sync for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Sync for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Sync for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Sync for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Sync for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl Sync for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl Sync for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Sync for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl Sync for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl Sync for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl Sync for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl Sync for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl Sync for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl Sync for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl Sync for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl Sync for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl Sync for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl Sync for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Sync for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Sync for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl Sync for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> !Sync for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> !Sync for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> !Sync for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl !Sync for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> !Sync for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl Sync for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Sync for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Sync for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Sync for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Sync for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Sync for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Sync for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Sync for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Sync for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Sync for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Sync for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Sync for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Sync for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Sync for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Sync for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Sync for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Sync for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Sync for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Sync for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Sync for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Sync for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Sync for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Sync for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Sync for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Sync for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Sync for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Sync for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Sync for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl Sync for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Sync for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Sync for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Sync for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Sync for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Sync for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Sync for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Sync for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Sync for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !Sync for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> !Sync for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !Sync for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !Sync for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !Sync for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !Sync for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !Sync for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !Sync for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !Sync for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> Sync for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl Sync for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Sync for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Sync for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Sync for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Sync for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Sync for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Sync for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Sync for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Sync for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Sync for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl Sync for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Sync for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Sync for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Sync for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Sync for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Sync for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Sync for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Sync for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Sync for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Sync for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Sync for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Sync for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Sync for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Sync for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Sync for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Sync for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Sync for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Sync for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Sync for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Sync for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Sync for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Sync for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Sync for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Sync for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Sync for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Sync for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Sync for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !Sync for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !Sync for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !Sync for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !Sync for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !Sync for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !Sync for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !Sync for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !Sync for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> !Sync for ConvCtxt<'genv, 'tcx, P>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> Sync for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !Sync for Node",1,["flux_infer::refine_tree::Node"]],["impl !Sync for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl !Sync for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl !Sync for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl !Sync for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl !Sync for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl Sync for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl Sync for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl Sync for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl Sync for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl Sync for InferErr",1,["flux_infer::infer::InferErr"]],["impl Sync for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl Sync for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl Sync for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl Sync for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Sync for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Sync for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl Sync for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl Sync for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl Sync for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl Sync for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl Sync for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl Sync for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl Sync for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl Sync for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl Sync for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl Sync for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl Sync for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl Sync for Sub",1,["flux_infer::infer::Sub"]],["impl Sync for Tag",1,["flux_infer::infer::Tag"]],["impl Sync for Scope",1,["flux_infer::refine_tree::Scope"]],["impl<'a> !Sync for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> !Sync for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> !Sync for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !Sync for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !Sync for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !Sync for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> !Sync for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> Sync for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_macros":[["impl !Sync for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl !Sync for Guard",1,["flux_macros::primops::Guard"]],["impl !Sync for Output",1,["flux_macros::primops::Output"]],["impl !Sync for DiagnosticDeriveVariantBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl !Sync for SubdiagnosticDerive",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDerive"]],["impl !Sync for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]],["impl !Sync for requires",1,["flux_macros::primops::kw::requires"]],["impl !Sync for Arg",1,["flux_macros::primops::Arg"]],["impl !Sync for Renderer",1,["flux_macros::primops::Renderer"]],["impl !Sync for Requires",1,["flux_macros::primops::Requires"]],["impl !Sync for Rule",1,["flux_macros::primops::Rule"]],["impl !Sync for Rules",1,["flux_macros::primops::Rules"]],["impl Sync for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl Sync for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl Sync for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Sync for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Sync for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl Sync for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl Sync for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl<'a> !Sync for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> !Sync for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl<'a> !Sync for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl<'parent, 'a> !Sync for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl<'ty> !Sync for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]]], "flux_metadata":[["impl Sync for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl Sync for CStore",1,["flux_metadata::CStore"]],["impl Sync for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> Sync for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !Sync for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> !Sync for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> Sync for Tables<K>
where\n K: Sync,
",1,["flux_metadata::Tables"]]], diff --git a/doc/trait.impl/core/marker/trait.Unpin.js b/doc/trait.impl/core/marker/trait.Unpin.js index cadcb27ae7..47efc33399 100644 --- a/doc/trait.impl/core/marker/trait.Unpin.js +++ b/doc/trait.impl/core/marker/trait.Unpin.js @@ -7,7 +7,7 @@ "flux_desugar":[["impl Unpin for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl Unpin for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl Unpin for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl Unpin for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl Unpin for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl Unpin for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl Unpin for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl Unpin for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl Unpin for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl Unpin for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl Unpin for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl Unpin for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl Unpin for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl Unpin for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl Unpin for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl Unpin for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl Unpin for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl Unpin for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl Unpin for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl Unpin for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl Unpin for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl Unpin for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl Unpin for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> Unpin for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> Unpin for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> Unpin for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> Unpin for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> Unpin for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> Unpin for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> Unpin for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> Unpin for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> Unpin for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> Unpin for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> Unpin for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> Unpin for ScopedVisitorWrapper<V>
where\n V: Unpin,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl Unpin for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl Unpin for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl Unpin for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl Unpin for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl Unpin for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl Unpin for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl Unpin for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl Unpin for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl Unpin for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl Unpin for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl Unpin for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl Unpin for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl Unpin for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl Unpin for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl Unpin for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl Unpin for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl Unpin for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl Unpin for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl Unpin for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl Unpin for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl Unpin for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl Unpin for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl Unpin for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> Unpin for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> Unpin for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> Unpin for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl Unpin for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> Unpin for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl Unpin for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Unpin for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Unpin for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Unpin for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Unpin for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Unpin for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Unpin for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Unpin for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Unpin for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Unpin for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Unpin for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Unpin for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Unpin for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Unpin for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Unpin for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Unpin for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Unpin for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Unpin for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Unpin for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Unpin for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Unpin for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Unpin for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Unpin for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Unpin for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Unpin for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Unpin for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Unpin for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Unpin for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl Unpin for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Unpin for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Unpin for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Unpin for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Unpin for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Unpin for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Unpin for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Unpin for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Unpin for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> Unpin for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> Unpin for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> Unpin for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> Unpin for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> Unpin for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> Unpin for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> Unpin for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> Unpin for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> Unpin for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> Unpin for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl Unpin for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl Unpin for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl Unpin for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl Unpin for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl Unpin for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl Unpin for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl Unpin for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl Unpin for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl Unpin for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl Unpin for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl Unpin for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl Unpin for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl Unpin for Env",1,["flux_fhir_analysis::conv::Env"]],["impl Unpin for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl Unpin for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl Unpin for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl Unpin for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl Unpin for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl Unpin for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl Unpin for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl Unpin for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl Unpin for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl Unpin for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl Unpin for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl Unpin for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl Unpin for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl Unpin for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl Unpin for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl Unpin for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl Unpin for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl Unpin for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> Unpin for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> Unpin for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> Unpin for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> Unpin for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> Unpin for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> Unpin for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> Unpin for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> Unpin for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> Unpin for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> Unpin for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> Unpin for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> Unpin for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> Unpin for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> Unpin for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> Unpin for ConvCtxt<'genv, 'tcx, P>
where\n P: Unpin,
",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> Unpin for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl Unpin for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl Unpin for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl Unpin for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl Unpin for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl Unpin for InferErr",1,["flux_infer::infer::InferErr"]],["impl Unpin for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl Unpin for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl Unpin for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl Unpin for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl Unpin for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl Unpin for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl Unpin for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl Unpin for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl Unpin for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl Unpin for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl Unpin for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl Unpin for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl Unpin for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl Unpin for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl Unpin for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl Unpin for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl Unpin for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl Unpin for Sub",1,["flux_infer::infer::Sub"]],["impl Unpin for Tag",1,["flux_infer::infer::Tag"]],["impl Unpin for Node",1,["flux_infer::refine_tree::Node"]],["impl Unpin for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl Unpin for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl Unpin for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl Unpin for Scope",1,["flux_infer::refine_tree::Scope"]],["impl Unpin for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl Unpin for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl<'a> Unpin for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> Unpin for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> Unpin for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> Unpin for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> Unpin for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> Unpin for FixpointCtxt<'genv, 'tcx, T>
where\n T: Unpin,
",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> Unpin for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> Unpin for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_macros":[["impl Unpin for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl Unpin for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl Unpin for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl Unpin for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl Unpin for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl Unpin for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl Unpin for Guard",1,["flux_macros::primops::Guard"]],["impl Unpin for Output",1,["flux_macros::primops::Output"]],["impl Unpin for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl Unpin for DiagnosticDeriveVariantBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl Unpin for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl Unpin for SubdiagnosticDerive",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDerive"]],["impl Unpin for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]],["impl Unpin for requires",1,["flux_macros::primops::kw::requires"]],["impl Unpin for Arg",1,["flux_macros::primops::Arg"]],["impl Unpin for Renderer",1,["flux_macros::primops::Renderer"]],["impl Unpin for Requires",1,["flux_macros::primops::Requires"]],["impl Unpin for Rule",1,["flux_macros::primops::Rule"]],["impl Unpin for Rules",1,["flux_macros::primops::Rules"]],["impl<'a> Unpin for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> Unpin for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl<'a> Unpin for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl<'parent, 'a> Unpin for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl<'ty> Unpin for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]]], "flux_metadata":[["impl Unpin for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl Unpin for CStore",1,["flux_metadata::CStore"]],["impl Unpin for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> Unpin for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> Unpin for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> Unpin for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> Unpin for Tables<K>
where\n K: Unpin,
",1,["flux_metadata::Tables"]]], diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 3069784b82..177a31fadb 100644 --- a/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/doc/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -7,7 +7,7 @@ "flux_desugar":[["impl RefUnwindSafe for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl RefUnwindSafe for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl RefUnwindSafe for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl RefUnwindSafe for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl RefUnwindSafe for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl RefUnwindSafe for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl RefUnwindSafe for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl RefUnwindSafe for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl RefUnwindSafe for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl RefUnwindSafe for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl RefUnwindSafe for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl RefUnwindSafe for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl RefUnwindSafe for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl RefUnwindSafe for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl RefUnwindSafe for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl RefUnwindSafe for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl RefUnwindSafe for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl RefUnwindSafe for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl RefUnwindSafe for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl RefUnwindSafe for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl RefUnwindSafe for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl RefUnwindSafe for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl RefUnwindSafe for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> RefUnwindSafe for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> !RefUnwindSafe for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !RefUnwindSafe for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> !RefUnwindSafe for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> !RefUnwindSafe for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> !RefUnwindSafe for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> !RefUnwindSafe for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> RefUnwindSafe for ScopedVisitorWrapper<V>
where\n V: RefUnwindSafe,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl RefUnwindSafe for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl RefUnwindSafe for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl RefUnwindSafe for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl RefUnwindSafe for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl RefUnwindSafe for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl RefUnwindSafe for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl RefUnwindSafe for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl RefUnwindSafe for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl RefUnwindSafe for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl RefUnwindSafe for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl RefUnwindSafe for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl RefUnwindSafe for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl RefUnwindSafe for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl RefUnwindSafe for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl RefUnwindSafe for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl RefUnwindSafe for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl RefUnwindSafe for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl RefUnwindSafe for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl RefUnwindSafe for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl RefUnwindSafe for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl RefUnwindSafe for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl RefUnwindSafe for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl RefUnwindSafe for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> !RefUnwindSafe for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> !RefUnwindSafe for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> !RefUnwindSafe for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl !RefUnwindSafe for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> !RefUnwindSafe for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl RefUnwindSafe for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl RefUnwindSafe for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl RefUnwindSafe for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl RefUnwindSafe for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl RefUnwindSafe for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl RefUnwindSafe for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl RefUnwindSafe for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl RefUnwindSafe for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl RefUnwindSafe for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl RefUnwindSafe for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl RefUnwindSafe for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl RefUnwindSafe for Env",1,["flux_fhir_analysis::conv::Env"]],["impl RefUnwindSafe for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl RefUnwindSafe for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl RefUnwindSafe for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl RefUnwindSafe for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl RefUnwindSafe for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl RefUnwindSafe for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl RefUnwindSafe for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl RefUnwindSafe for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl RefUnwindSafe for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl RefUnwindSafe for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl RefUnwindSafe for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl RefUnwindSafe for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl RefUnwindSafe for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl RefUnwindSafe for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl RefUnwindSafe for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl RefUnwindSafe for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl RefUnwindSafe for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl RefUnwindSafe for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl RefUnwindSafe for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> RefUnwindSafe for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> RefUnwindSafe for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> RefUnwindSafe for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> RefUnwindSafe for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> RefUnwindSafe for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> RefUnwindSafe for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !RefUnwindSafe for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !RefUnwindSafe for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> !RefUnwindSafe for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl RefUnwindSafe for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl RefUnwindSafe for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl RefUnwindSafe for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl RefUnwindSafe for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl RefUnwindSafe for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl RefUnwindSafe for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl RefUnwindSafe for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl RefUnwindSafe for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl RefUnwindSafe for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl RefUnwindSafe for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl RefUnwindSafe for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl RefUnwindSafe for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl RefUnwindSafe for Env",1,["flux_fhir_analysis::conv::Env"]],["impl RefUnwindSafe for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl RefUnwindSafe for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl RefUnwindSafe for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl RefUnwindSafe for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl RefUnwindSafe for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl RefUnwindSafe for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl RefUnwindSafe for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl RefUnwindSafe for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl RefUnwindSafe for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl RefUnwindSafe for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl RefUnwindSafe for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl RefUnwindSafe for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl RefUnwindSafe for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl RefUnwindSafe for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl RefUnwindSafe for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl RefUnwindSafe for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl RefUnwindSafe for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl RefUnwindSafe for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> RefUnwindSafe for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> RefUnwindSafe for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> RefUnwindSafe for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> RefUnwindSafe for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> RefUnwindSafe for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> RefUnwindSafe for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !RefUnwindSafe for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !RefUnwindSafe for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !RefUnwindSafe for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> !RefUnwindSafe for ConvCtxt<'genv, 'tcx, P>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> !RefUnwindSafe for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !RefUnwindSafe for Node",1,["flux_infer::refine_tree::Node"]],["impl !RefUnwindSafe for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl !RefUnwindSafe for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl !RefUnwindSafe for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl !RefUnwindSafe for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl !RefUnwindSafe for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl RefUnwindSafe for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl RefUnwindSafe for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl RefUnwindSafe for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl RefUnwindSafe for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl RefUnwindSafe for InferErr",1,["flux_infer::infer::InferErr"]],["impl RefUnwindSafe for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl RefUnwindSafe for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl RefUnwindSafe for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl RefUnwindSafe for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl RefUnwindSafe for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl RefUnwindSafe for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl RefUnwindSafe for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl RefUnwindSafe for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl RefUnwindSafe for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl RefUnwindSafe for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl RefUnwindSafe for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl RefUnwindSafe for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl RefUnwindSafe for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl RefUnwindSafe for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl RefUnwindSafe for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl RefUnwindSafe for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl RefUnwindSafe for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl RefUnwindSafe for Sub",1,["flux_infer::infer::Sub"]],["impl RefUnwindSafe for Tag",1,["flux_infer::infer::Tag"]],["impl RefUnwindSafe for Scope",1,["flux_infer::refine_tree::Scope"]],["impl<'a> !RefUnwindSafe for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> !RefUnwindSafe for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> !RefUnwindSafe for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !RefUnwindSafe for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !RefUnwindSafe for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !RefUnwindSafe for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> !RefUnwindSafe for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> !RefUnwindSafe for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_macros":[["impl RefUnwindSafe for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl RefUnwindSafe for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl RefUnwindSafe for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl RefUnwindSafe for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl RefUnwindSafe for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl RefUnwindSafe for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl RefUnwindSafe for Guard",1,["flux_macros::primops::Guard"]],["impl RefUnwindSafe for Output",1,["flux_macros::primops::Output"]],["impl RefUnwindSafe for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl RefUnwindSafe for DiagnosticDeriveVariantBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl RefUnwindSafe for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl RefUnwindSafe for SubdiagnosticDerive",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDerive"]],["impl RefUnwindSafe for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]],["impl RefUnwindSafe for requires",1,["flux_macros::primops::kw::requires"]],["impl RefUnwindSafe for Arg",1,["flux_macros::primops::Arg"]],["impl RefUnwindSafe for Renderer",1,["flux_macros::primops::Renderer"]],["impl RefUnwindSafe for Requires",1,["flux_macros::primops::Requires"]],["impl RefUnwindSafe for Rule",1,["flux_macros::primops::Rule"]],["impl RefUnwindSafe for Rules",1,["flux_macros::primops::Rules"]],["impl<'a> RefUnwindSafe for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> RefUnwindSafe for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl<'a> RefUnwindSafe for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl<'parent, 'a> RefUnwindSafe for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl<'ty> RefUnwindSafe for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]]], "flux_metadata":[["impl RefUnwindSafe for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl RefUnwindSafe for CStore",1,["flux_metadata::CStore"]],["impl RefUnwindSafe for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> !RefUnwindSafe for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !RefUnwindSafe for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> !RefUnwindSafe for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> RefUnwindSafe for Tables<K>
where\n K: RefUnwindSafe,
",1,["flux_metadata::Tables"]]], diff --git a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 615dc9b1fe..db9704df6b 100644 --- a/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/doc/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -7,7 +7,7 @@ "flux_desugar":[["impl UnwindSafe for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl UnwindSafe for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl UnwindSafe for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl UnwindSafe for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl UnwindSafe for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl UnwindSafe for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl UnwindSafe for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl UnwindSafe for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl UnwindSafe for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl UnwindSafe for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl UnwindSafe for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl UnwindSafe for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl UnwindSafe for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl UnwindSafe for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl UnwindSafe for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl UnwindSafe for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl UnwindSafe for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl UnwindSafe for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl UnwindSafe for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl UnwindSafe for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl UnwindSafe for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl UnwindSafe for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl UnwindSafe for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> UnwindSafe for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> !UnwindSafe for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !UnwindSafe for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> !UnwindSafe for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> !UnwindSafe for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> !UnwindSafe for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> !UnwindSafe for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> UnwindSafe for ScopedVisitorWrapper<V>
where\n V: UnwindSafe,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl UnwindSafe for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl UnwindSafe for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl UnwindSafe for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl UnwindSafe for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl UnwindSafe for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl UnwindSafe for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl UnwindSafe for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl UnwindSafe for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl UnwindSafe for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl UnwindSafe for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl UnwindSafe for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl UnwindSafe for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl UnwindSafe for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl UnwindSafe for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl UnwindSafe for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl UnwindSafe for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl UnwindSafe for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl UnwindSafe for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl UnwindSafe for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl UnwindSafe for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl UnwindSafe for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl UnwindSafe for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl UnwindSafe for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> !UnwindSafe for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> !UnwindSafe for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> !UnwindSafe for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl !UnwindSafe for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> !UnwindSafe for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl UnwindSafe for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl UnwindSafe for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl UnwindSafe for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl UnwindSafe for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl UnwindSafe for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl UnwindSafe for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl UnwindSafe for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl UnwindSafe for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl UnwindSafe for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl UnwindSafe for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl UnwindSafe for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl UnwindSafe for Env",1,["flux_fhir_analysis::conv::Env"]],["impl UnwindSafe for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl UnwindSafe for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl UnwindSafe for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl UnwindSafe for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl UnwindSafe for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl UnwindSafe for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl UnwindSafe for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl UnwindSafe for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl UnwindSafe for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl UnwindSafe for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl UnwindSafe for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl UnwindSafe for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl UnwindSafe for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl UnwindSafe for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl UnwindSafe for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl UnwindSafe for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl UnwindSafe for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl UnwindSafe for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl UnwindSafe for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> UnwindSafe for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> UnwindSafe for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> UnwindSafe for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> UnwindSafe for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> UnwindSafe for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> UnwindSafe for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !UnwindSafe for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !UnwindSafe for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> !UnwindSafe for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl UnwindSafe for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl UnwindSafe for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl UnwindSafe for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl UnwindSafe for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl UnwindSafe for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl UnwindSafe for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl UnwindSafe for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl UnwindSafe for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl UnwindSafe for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl UnwindSafe for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl UnwindSafe for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl UnwindSafe for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl UnwindSafe for Env",1,["flux_fhir_analysis::conv::Env"]],["impl UnwindSafe for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl UnwindSafe for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl UnwindSafe for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl UnwindSafe for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl UnwindSafe for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl UnwindSafe for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl UnwindSafe for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl UnwindSafe for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl UnwindSafe for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl UnwindSafe for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl UnwindSafe for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl UnwindSafe for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl UnwindSafe for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl UnwindSafe for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl UnwindSafe for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl UnwindSafe for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl UnwindSafe for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl UnwindSafe for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> UnwindSafe for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> UnwindSafe for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> UnwindSafe for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> UnwindSafe for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> UnwindSafe for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> UnwindSafe for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !UnwindSafe for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !UnwindSafe for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !UnwindSafe for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> !UnwindSafe for ConvCtxt<'genv, 'tcx, P>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> !UnwindSafe for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !UnwindSafe for Node",1,["flux_infer::refine_tree::Node"]],["impl !UnwindSafe for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl !UnwindSafe for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl !UnwindSafe for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl !UnwindSafe for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl !UnwindSafe for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl UnwindSafe for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl UnwindSafe for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl UnwindSafe for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl UnwindSafe for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl UnwindSafe for InferErr",1,["flux_infer::infer::InferErr"]],["impl UnwindSafe for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl UnwindSafe for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl UnwindSafe for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl UnwindSafe for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl UnwindSafe for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl UnwindSafe for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl UnwindSafe for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl UnwindSafe for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl UnwindSafe for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl UnwindSafe for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl UnwindSafe for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl UnwindSafe for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl UnwindSafe for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl UnwindSafe for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl UnwindSafe for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl UnwindSafe for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl UnwindSafe for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl UnwindSafe for Sub",1,["flux_infer::infer::Sub"]],["impl UnwindSafe for Tag",1,["flux_infer::infer::Tag"]],["impl UnwindSafe for Scope",1,["flux_infer::refine_tree::Scope"]],["impl<'a> !UnwindSafe for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> !UnwindSafe for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> !UnwindSafe for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !UnwindSafe for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !UnwindSafe for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !UnwindSafe for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> !UnwindSafe for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> !UnwindSafe for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_macros":[["impl UnwindSafe for DiagnosticDeriveKind",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveKind"]],["impl UnwindSafe for DiagnosticDeriveError",1,["flux_macros::diagnostics::error::DiagnosticDeriveError"]],["impl UnwindSafe for AllowMultipleAlternatives",1,["flux_macros::diagnostics::utils::AllowMultipleAlternatives"]],["impl UnwindSafe for Applicability",1,["flux_macros::diagnostics::utils::Applicability"]],["impl UnwindSafe for SubdiagnosticKind",1,["flux_macros::diagnostics::utils::SubdiagnosticKind"]],["impl UnwindSafe for SuggestionKind",1,["flux_macros::diagnostics::utils::SuggestionKind"]],["impl UnwindSafe for Guard",1,["flux_macros::primops::Guard"]],["impl UnwindSafe for Output",1,["flux_macros::primops::Output"]],["impl UnwindSafe for Mismatch",1,["flux_macros::diagnostics::diagnostic::Mismatch"]],["impl UnwindSafe for DiagnosticDeriveVariantBuilder",1,["flux_macros::diagnostics::diagnostic_builder::DiagnosticDeriveVariantBuilder"]],["impl UnwindSafe for KindsStatistics",1,["flux_macros::diagnostics::subdiagnostic::KindsStatistics"]],["impl UnwindSafe for SubdiagnosticDerive",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDerive"]],["impl UnwindSafe for SubdiagnosticVariant",1,["flux_macros::diagnostics::utils::SubdiagnosticVariant"]],["impl UnwindSafe for requires",1,["flux_macros::primops::kw::requires"]],["impl UnwindSafe for Arg",1,["flux_macros::primops::Arg"]],["impl UnwindSafe for Renderer",1,["flux_macros::primops::Renderer"]],["impl UnwindSafe for Requires",1,["flux_macros::primops::Requires"]],["impl UnwindSafe for Rule",1,["flux_macros::primops::Rule"]],["impl UnwindSafe for Rules",1,["flux_macros::primops::Rules"]],["impl<'a> UnwindSafe for DiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::DiagnosticDerive"]],["impl<'a> UnwindSafe for LintDiagnosticDerive<'a>",1,["flux_macros::diagnostics::diagnostic::LintDiagnosticDerive"]],["impl<'a> UnwindSafe for FieldInfo<'a>",1,["flux_macros::diagnostics::utils::FieldInfo"]],["impl<'parent, 'a> UnwindSafe for SubdiagnosticDeriveVariantBuilder<'parent, 'a>",1,["flux_macros::diagnostics::subdiagnostic::SubdiagnosticDeriveVariantBuilder"]],["impl<'ty> UnwindSafe for FieldInnerTy<'ty>",1,["flux_macros::diagnostics::utils::FieldInnerTy"]]], "flux_metadata":[["impl UnwindSafe for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl UnwindSafe for CStore",1,["flux_metadata::CStore"]],["impl UnwindSafe for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> !UnwindSafe for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !UnwindSafe for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> !UnwindSafe for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> UnwindSafe for Tables<K>
where\n K: UnwindSafe,
",1,["flux_metadata::Tables"]]], diff --git a/doc/trait.impl/flux_fhir_analysis/conv/trait.ConvPhase.js b/doc/trait.impl/flux_fhir_analysis/conv/trait.ConvPhase.js new file mode 100644 index 0000000000..1a43857164 --- /dev/null +++ b/doc/trait.impl/flux_fhir_analysis/conv/trait.ConvPhase.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"flux_fhir_analysis":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/doc/trait.impl/flux_fhir_analysis/conv/trait.WfckResultsProvider.js b/doc/trait.impl/flux_fhir_analysis/conv/trait.WfckResultsProvider.js new file mode 100644 index 0000000000..1a43857164 --- /dev/null +++ b/doc/trait.impl/flux_fhir_analysis/conv/trait.WfckResultsProvider.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"flux_fhir_analysis":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js b/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js index 8e66506917..a5bdd12a44 100644 --- a/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js +++ b/doc/trait.impl/rustc_data_structures/marker/trait.DynSend.js @@ -4,7 +4,7 @@ "flux_desugar":[["impl DynSend for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl DynSend for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl DynSend for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl DynSend for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl DynSend for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl DynSend for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl DynSend for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl DynSend for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl DynSend for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl DynSend for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl DynSend for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl DynSend for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl DynSend for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl DynSend for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl DynSend for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl DynSend for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl DynSend for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl DynSend for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl DynSend for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl DynSend for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl DynSend for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl DynSend for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl DynSend for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> DynSend for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !DynSend for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !DynSend for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !DynSend for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> DynSend for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !DynSend for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> !DynSend for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> !DynSend for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> !DynSend for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> DynSend for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> DynSend for ScopedVisitorWrapper<V>
where\n V: DynSend,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl DynSend for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl DynSend for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl DynSend for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl DynSend for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl DynSend for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl DynSend for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl DynSend for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl DynSend for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl DynSend for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl DynSend for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl DynSend for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl DynSend for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl DynSend for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl DynSend for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl DynSend for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl DynSend for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl DynSend for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl DynSend for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl DynSend for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl DynSend for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl DynSend for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl DynSend for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl DynSend for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> DynSend for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> !DynSend for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> DynSend for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl DynSend for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> DynSend for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl DynSend for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl DynSend for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl DynSend for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl DynSend for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl DynSend for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl DynSend for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl DynSend for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl DynSend for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl DynSend for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl DynSend for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl DynSend for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl DynSend for Env",1,["flux_fhir_analysis::conv::Env"]],["impl DynSend for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl DynSend for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl DynSend for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl DynSend for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl DynSend for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl DynSend for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl DynSend for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl DynSend for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl DynSend for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl DynSend for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl DynSend for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl DynSend for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl DynSend for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl DynSend for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl DynSend for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl DynSend for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl DynSend for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl DynSend for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl DynSend for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> DynSend for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> DynSend for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> DynSend for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> DynSend for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> DynSend for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> DynSend for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !DynSend for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> !DynSend for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !DynSend for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !DynSend for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !DynSend for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !DynSend for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> DynSend for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl DynSend for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl DynSend for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl DynSend for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl DynSend for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl DynSend for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl DynSend for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl DynSend for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl DynSend for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl DynSend for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl DynSend for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl DynSend for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl DynSend for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl DynSend for Env",1,["flux_fhir_analysis::conv::Env"]],["impl DynSend for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl DynSend for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl DynSend for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl DynSend for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl DynSend for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl DynSend for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl DynSend for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl DynSend for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl DynSend for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl DynSend for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl DynSend for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl DynSend for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl DynSend for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl DynSend for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl DynSend for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl DynSend for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl DynSend for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl DynSend for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> DynSend for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> DynSend for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> DynSend for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> DynSend for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> DynSend for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> DynSend for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !DynSend for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !DynSend for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !DynSend for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !DynSend for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !DynSend for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !DynSend for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> !DynSend for ConvCtxt<'genv, 'tcx, P>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> DynSend for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !DynSend for Node",1,["flux_infer::refine_tree::Node"]],["impl !DynSend for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl !DynSend for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl !DynSend for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl !DynSend for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl !DynSend for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl DynSend for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl DynSend for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl DynSend for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl DynSend for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl DynSend for InferErr",1,["flux_infer::infer::InferErr"]],["impl DynSend for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl DynSend for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl DynSend for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl DynSend for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl DynSend for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl DynSend for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl DynSend for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl DynSend for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl DynSend for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl DynSend for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl DynSend for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl DynSend for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl DynSend for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl DynSend for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl DynSend for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl DynSend for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl DynSend for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl DynSend for Sub",1,["flux_infer::infer::Sub"]],["impl DynSend for Tag",1,["flux_infer::infer::Tag"]],["impl DynSend for Scope",1,["flux_infer::refine_tree::Scope"]],["impl<'a> !DynSend for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> !DynSend for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> !DynSend for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !DynSend for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !DynSend for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !DynSend for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> !DynSend for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> DynSend for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_metadata":[["impl DynSend for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl DynSend for CStore",1,["flux_metadata::CStore"]],["impl DynSend for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> DynSend for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !DynSend for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> DynSend for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> DynSend for Tables<K>
where\n K: DynSend,
",1,["flux_metadata::Tables"]]], "flux_middle":[["impl DynSend for Sign",1,["flux_middle::big_int::Sign"]],["impl DynSend for ExternSpecMappingErr",1,["flux_middle::ExternSpecMappingErr"]],["impl DynSend for ResolvedDefId",1,["flux_middle::ResolvedDefId"]],["impl DynSend for ConstArgKind",1,["flux_middle::fhir::ConstArgKind"]],["impl DynSend for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl DynSend for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl DynSend for Ignored",1,["flux_middle::fhir::Ignored"]],["impl DynSend for InferMode",1,["flux_middle::fhir::InferMode"]],["impl DynSend for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl DynSend for Lit",1,["flux_middle::fhir::Lit"]],["impl DynSend for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl DynSend for PrimSort",1,["flux_middle::fhir::PrimSort"]],["impl DynSend for Res",1,["flux_middle::fhir::Res"]],["impl DynSend for SortRes",1,["flux_middle::fhir::SortRes"]],["impl DynSend for SpecFuncKind",1,["flux_middle::fhir::SpecFuncKind"]],["impl DynSend for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl DynSend for Trusted",1,["flux_middle::fhir::Trusted"]],["impl DynSend for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl DynSend for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl DynSend for BoundReftKind",1,["flux_middle::rty::binder::BoundReftKind"]],["impl DynSend for BoundVariableKind",1,["flux_middle::rty::binder::BoundVariableKind"]],["impl DynSend for CanonicalTy",1,["flux_middle::rty::canonicalize::CanonicalTy"]],["impl DynSend for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl DynSend for BvSize",1,["flux_middle::rty::BvSize"]],["impl DynSend for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl DynSend for Coercion",1,["flux_middle::rty::Coercion"]],["impl DynSend for Ensures",1,["flux_middle::rty::Ensures"]],["impl DynSend for ExistentialPredicate",1,["flux_middle::rty::ExistentialPredicate"]],["impl DynSend for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl DynSend for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl DynSend for NumVarValue",1,["flux_middle::rty::NumVarValue"]],["impl DynSend for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl DynSend for Sort",1,["flux_middle::rty::Sort"]],["impl DynSend for SortArg",1,["flux_middle::rty::SortArg"]],["impl DynSend for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl DynSend for SortInfer",1,["flux_middle::rty::SortInfer"]],["impl DynSend for SortParamKind",1,["flux_middle::rty::SortParamKind"]],["impl DynSend for TyKind",1,["flux_middle::rty::TyKind"]],["impl DynSend for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl DynSend for AggregateKind",1,["flux_middle::rty::expr::AggregateKind"]],["impl DynSend for BinOp",1,["flux_middle::rty::expr::BinOp"]],["impl DynSend for Constant",1,["flux_middle::rty::expr::Constant"]],["impl DynSend for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl DynSend for FieldProj",1,["flux_middle::rty::expr::FieldProj"]],["impl DynSend for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl DynSend for Loc",1,["flux_middle::rty::expr::Loc"]],["impl DynSend for UnOp",1,["flux_middle::rty::expr::UnOp"]],["impl DynSend for Var",1,["flux_middle::rty::expr::Var"]],["impl DynSend for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl DynSend for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl DynSend for TyOrBase",1,["flux_middle::rty::refining::TyOrBase"]],["impl DynSend for BigInt",1,["flux_middle::big_int::BigInt"]],["impl DynSend for ConstArg",1,["flux_middle::fhir::ConstArg"]],["impl DynSend for FhirId",1,["flux_middle::fhir::FhirId"]],["impl DynSend for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl DynSend for ParamId",1,["flux_middle::fhir::ParamId"]],["impl DynSend for PartialRes",1,["flux_middle::fhir::PartialRes"]],["impl DynSend for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl DynSend for BoundVarName",1,["flux_middle::pretty::BoundVarName"]],["impl DynSend for Env",1,["flux_middle::pretty::Env"]],["impl DynSend for Providers",1,["flux_middle::queries::Providers"]],["impl DynSend for QueryErrAt",1,["flux_middle::queries::QueryErrAt"]],["impl DynSend for CanonicalConstrTy",1,["flux_middle::rty::canonicalize::CanonicalConstrTy"]],["impl DynSend for LocalHoister",1,["flux_middle::rty::canonicalize::LocalHoister"]],["impl DynSend for EVar",1,["flux_middle::rty::evars::EVar"]],["impl DynSend for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl DynSend for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl DynSend for EVid",1,["flux_middle::rty::evars::EVid"]],["impl DynSend for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl DynSend for AliasReft",1,["flux_middle::rty::expr::AliasReft"]],["impl DynSend for BoundReft",1,["flux_middle::rty::expr::BoundReft"]],["impl DynSend for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl DynSend for EarlyReftParam",1,["flux_middle::rty::expr::EarlyReftParam"]],["impl DynSend for Expr",1,["flux_middle::rty::expr::Expr"]],["impl DynSend for KVar",1,["flux_middle::rty::expr::KVar"]],["impl DynSend for KVid",1,["flux_middle::rty::expr::KVid"]],["impl DynSend for Lambda",1,["flux_middle::rty::expr::Lambda"]],["impl DynSend for Name",1,["flux_middle::rty::expr::Name"]],["impl DynSend for Path",1,["flux_middle::rty::expr::Path"]],["impl DynSend for Real",1,["flux_middle::rty::expr::Real"]],["impl DynSend for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl DynSend for SpecFuncDefns",1,["flux_middle::rty::normalize::SpecFuncDefns"]],["impl DynSend for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl DynSend for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl DynSend for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl DynSend for AdtSortDef",1,["flux_middle::rty::AdtSortDef"]],["impl DynSend for AdtSortDefData",1,["flux_middle::rty::AdtSortDefData"]],["impl DynSend for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl DynSend for AssocRefinement",1,["flux_middle::rty::AssocRefinement"]],["impl DynSend for AssocRefinements",1,["flux_middle::rty::AssocRefinements"]],["impl DynSend for BvSizeVid",1,["flux_middle::rty::BvSizeVid"]],["impl DynSend for Clause",1,["flux_middle::rty::Clause"]],["impl DynSend for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl DynSend for CoroutineObligPredicate",1,["flux_middle::rty::CoroutineObligPredicate"]],["impl DynSend for ExistentialProjection",1,["flux_middle::rty::ExistentialProjection"]],["impl DynSend for ExistentialTraitRef",1,["flux_middle::rty::ExistentialTraitRef"]],["impl DynSend for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl DynSend for FnSig",1,["flux_middle::rty::FnSig"]],["impl DynSend for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl DynSend for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl DynSend for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl DynSend for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl DynSend for Generics",1,["flux_middle::rty::Generics"]],["impl DynSend for Invariant",1,["flux_middle::rty::Invariant"]],["impl DynSend for NumVid",1,["flux_middle::rty::NumVid"]],["impl DynSend for ParamSort",1,["flux_middle::rty::ParamSort"]],["impl DynSend for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl DynSend for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl DynSend for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl DynSend for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl DynSend for RefinementGenerics",1,["flux_middle::rty::RefinementGenerics"]],["impl DynSend for SortVid",1,["flux_middle::rty::SortVid"]],["impl DynSend for SpecFunc",1,["flux_middle::rty::SpecFunc"]],["impl DynSend for SpecFuncDecl",1,["flux_middle::rty::SpecFuncDecl"]],["impl DynSend for SubsetTy",1,["flux_middle::rty::SubsetTy"]],["impl DynSend for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl DynSend for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl DynSend for Ty",1,["flux_middle::rty::Ty"]],["impl DynSend for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl DynSend for WfckResults",1,["flux_middle::rty::WfckResults"]],["impl DynSend for ConstGenericArgs",1,["flux_middle::rty::subst::ConstGenericArgs"]],["impl DynSend for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl DynSend for PlaceTy",1,["flux_middle::PlaceTy"]],["impl DynSend for ResolverOutput",1,["flux_middle::ResolverOutput"]],["impl DynSend for Specs",1,["flux_middle::Specs"]],["impl DynSend for TheoryFunc",1,["flux_middle::TheoryFunc"]],["impl<'a> DynSend for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a> DynSend for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl<'a> DynSend for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a, 'genv, 'tcx> !DynSend for LiftCtxt<'a, 'genv, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl<'a, 'tcx> DynSend for GenericArgsDelegate<'a, 'tcx>",1,["flux_middle::rty::subst::GenericArgsDelegate"]],["impl<'a, 'tcx, T> !DynSend for WithCx<'a, 'tcx, T>",1,["flux_middle::pretty::WithCx"]],["impl<'a, D> DynSend for GenericsSubstFolder<'a, D>
where\n D: DynSend,
",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl<'a, I> DynSend for Join<'a, I>
where\n I: DynSend,
",1,["flux_middle::pretty::Join"]],["impl<'a, T> DynSend for Parens<'a, T>
where\n T: DynSync,
",1,["flux_middle::pretty::Parens"]],["impl<'a, T> DynSend for LocalTableInContext<'a, T>
where\n T: DynSync,
",1,["flux_middle::rty::LocalTableInContext"]],["impl<'a, T> DynSend for LocalTableInContextMut<'a, T>
where\n T: DynSend,
",1,["flux_middle::rty::LocalTableInContextMut"]],["impl<'fhir> DynSend for AssocItemConstraintKind<'fhir>",1,["flux_middle::fhir::AssocItemConstraintKind"]],["impl<'fhir> DynSend for BaseTyKind<'fhir>",1,["flux_middle::fhir::BaseTyKind"]],["impl<'fhir> DynSend for Ensures<'fhir>",1,["flux_middle::fhir::Ensures"]],["impl<'fhir> DynSend for ExprKind<'fhir>",1,["flux_middle::fhir::ExprKind"]],["impl<'fhir> DynSend for FluxItem<'fhir>",1,["flux_middle::fhir::FluxItem"]],["impl<'fhir> DynSend for GenericArg<'fhir>",1,["flux_middle::fhir::GenericArg"]],["impl<'fhir> DynSend for GenericBound<'fhir>",1,["flux_middle::fhir::GenericBound"]],["impl<'fhir> DynSend for GenericParamKind<'fhir>",1,["flux_middle::fhir::GenericParamKind"]],["impl<'fhir> DynSend for ImplItemKind<'fhir>",1,["flux_middle::fhir::ImplItemKind"]],["impl<'fhir> DynSend for ItemKind<'fhir>",1,["flux_middle::fhir::ItemKind"]],["impl<'fhir> DynSend for Node<'fhir>",1,["flux_middle::fhir::Node"]],["impl<'fhir> DynSend for QPath<'fhir>",1,["flux_middle::fhir::QPath"]],["impl<'fhir> DynSend for RefineArgKind<'fhir>",1,["flux_middle::fhir::RefineArgKind"]],["impl<'fhir> DynSend for Sort<'fhir>",1,["flux_middle::fhir::Sort"]],["impl<'fhir> DynSend for StructKind<'fhir>",1,["flux_middle::fhir::StructKind"]],["impl<'fhir> DynSend for TraitItemKind<'fhir>",1,["flux_middle::fhir::TraitItemKind"]],["impl<'fhir> DynSend for TyKind<'fhir>",1,["flux_middle::fhir::TyKind"]],["impl<'fhir> DynSend for AliasReft<'fhir>",1,["flux_middle::fhir::AliasReft"]],["impl<'fhir> DynSend for AssocItemConstraint<'fhir>",1,["flux_middle::fhir::AssocItemConstraint"]],["impl<'fhir> DynSend for BareFnTy<'fhir>",1,["flux_middle::fhir::BareFnTy"]],["impl<'fhir> DynSend for BaseTy<'fhir>",1,["flux_middle::fhir::BaseTy"]],["impl<'fhir> DynSend for EnumDef<'fhir>",1,["flux_middle::fhir::EnumDef"]],["impl<'fhir> DynSend for Expr<'fhir>",1,["flux_middle::fhir::Expr"]],["impl<'fhir> DynSend for FieldDef<'fhir>",1,["flux_middle::fhir::FieldDef"]],["impl<'fhir> DynSend for FluxItems<'fhir>",1,["flux_middle::fhir::FluxItems"]],["impl<'fhir> DynSend for FnDecl<'fhir>",1,["flux_middle::fhir::FnDecl"]],["impl<'fhir> DynSend for FnOutput<'fhir>",1,["flux_middle::fhir::FnOutput"]],["impl<'fhir> DynSend for FnSig<'fhir>",1,["flux_middle::fhir::FnSig"]],["impl<'fhir> DynSend for FuncSort<'fhir>",1,["flux_middle::fhir::FuncSort"]],["impl<'fhir> DynSend for GenericParam<'fhir>",1,["flux_middle::fhir::GenericParam"]],["impl<'fhir> DynSend for Generics<'fhir>",1,["flux_middle::fhir::Generics"]],["impl<'fhir> DynSend for Impl<'fhir>",1,["flux_middle::fhir::Impl"]],["impl<'fhir> DynSend for ImplAssocReft<'fhir>",1,["flux_middle::fhir::ImplAssocReft"]],["impl<'fhir> DynSend for ImplItem<'fhir>",1,["flux_middle::fhir::ImplItem"]],["impl<'fhir> DynSend for Item<'fhir>",1,["flux_middle::fhir::Item"]],["impl<'fhir> DynSend for MutTy<'fhir>",1,["flux_middle::fhir::MutTy"]],["impl<'fhir> DynSend for OpaqueTy<'fhir>",1,["flux_middle::fhir::OpaqueTy"]],["impl<'fhir> DynSend for Path<'fhir>",1,["flux_middle::fhir::Path"]],["impl<'fhir> DynSend for PathExpr<'fhir>",1,["flux_middle::fhir::PathExpr"]],["impl<'fhir> DynSend for PathSegment<'fhir>",1,["flux_middle::fhir::PathSegment"]],["impl<'fhir> DynSend for PolyFuncSort<'fhir>",1,["flux_middle::fhir::PolyFuncSort"]],["impl<'fhir> DynSend for PolyTraitRef<'fhir>",1,["flux_middle::fhir::PolyTraitRef"]],["impl<'fhir> DynSend for Qualifier<'fhir>",1,["flux_middle::fhir::Qualifier"]],["impl<'fhir> DynSend for RefineArg<'fhir>",1,["flux_middle::fhir::RefineArg"]],["impl<'fhir> DynSend for RefineParam<'fhir>",1,["flux_middle::fhir::RefineParam"]],["impl<'fhir> DynSend for RefinedBy<'fhir>",1,["flux_middle::fhir::RefinedBy"]],["impl<'fhir> DynSend for Requires<'fhir>",1,["flux_middle::fhir::Requires"]],["impl<'fhir> DynSend for SortPath<'fhir>",1,["flux_middle::fhir::SortPath"]],["impl<'fhir> DynSend for SpecFunc<'fhir>",1,["flux_middle::fhir::SpecFunc"]],["impl<'fhir> DynSend for StructDef<'fhir>",1,["flux_middle::fhir::StructDef"]],["impl<'fhir> DynSend for Trait<'fhir>",1,["flux_middle::fhir::Trait"]],["impl<'fhir> DynSend for TraitAssocReft<'fhir>",1,["flux_middle::fhir::TraitAssocReft"]],["impl<'fhir> DynSend for TraitItem<'fhir>",1,["flux_middle::fhir::TraitItem"]],["impl<'fhir> DynSend for Ty<'fhir>",1,["flux_middle::fhir::Ty"]],["impl<'fhir> DynSend for TyAlias<'fhir>",1,["flux_middle::fhir::TyAlias"]],["impl<'fhir> DynSend for VariantDef<'fhir>",1,["flux_middle::fhir::VariantDef"]],["impl<'fhir> DynSend for VariantRet<'fhir>",1,["flux_middle::fhir::VariantRet"]],["impl<'fhir> DynSend for WhereBoundPredicate<'fhir>",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl<'genv, 'tcx> !DynSend for GlobalEnv<'genv, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<'genv, 'tcx> !DynSend for GlobalEnvInner<'genv, 'tcx>",1,["flux_middle::global_env::GlobalEnvInner"]],["impl<'genv, 'tcx> !DynSend for Map<'genv, 'tcx>",1,["flux_middle::global_env::Map"]],["impl<'genv, 'tcx> !DynSend for Queries<'genv, 'tcx>",1,["flux_middle::queries::Queries"]],["impl<'genv, 'tcx> !DynSend for Refiner<'genv, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl<'genv, 'tcx, 'cx> !DynSend for Normalizer<'genv, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl<'tcx> DynSend for PrettyCx<'tcx>",1,["flux_middle::pretty::PrettyCx"]],["impl<D> DynSend for Hoister<D>
where\n D: DynSend,
",1,["flux_middle::rty::canonicalize::Hoister"]],["impl<D> DynSend for BoundVarReplacer<D>
where\n D: DynSend,
",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<D> DynSend for SortSubst<D>
where\n D: DynSend,
",1,["flux_middle::rty::subst::SortSubst"]],["impl<F, E> DynSend for GenericsSubstForSort<F, E>
where\n F: DynSend,
",1,["flux_middle::rty::subst::GenericsSubstForSort"]],["impl<F, G, H> DynSend for BottomUpFolder<F, G, H>
where\n F: DynSend,\n G: DynSend,\n H: DynSend,
",1,["flux_middle::rty::fold::BottomUpFolder"]],["impl<F1, F2> DynSend for FnMutDelegate<F1, F2>
where\n F1: DynSend,\n F2: DynSend,
",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<Id> DynSend for MaybeExternId<Id>
where\n Id: DynSend,
",1,["flux_middle::MaybeExternId"]],["impl<Id> DynSend for ExprRes<Id>
where\n Id: DynSend,
",1,["flux_middle::fhir::ExprRes"]],["impl<T> DynSend for Opaqueness<T>
where\n T: DynSend,
",1,["flux_middle::rty::Opaqueness"]],["impl<T> DynSend for Binder<T>
where\n T: DynSend,
",1,["flux_middle::rty::binder::Binder"]],["impl<T> DynSend for EarlyBinder<T>
where\n T: DynSend,
",1,["flux_middle::rty::binder::EarlyBinder"]],["impl<T> DynSend for EVarCtxt<T>
where\n T: DynSend,
",1,["flux_middle::rty::evars::EVarCtxt"]],["impl<T> DynSend for EVarGen<T>
where\n T: DynSend,
",1,["flux_middle::rty::evars::EVarGen"]]], diff --git a/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js b/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js index bb829889de..e460a2ed25 100644 --- a/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js +++ b/doc/trait.impl/rustc_data_structures/marker/trait.DynSync.js @@ -4,7 +4,7 @@ "flux_desugar":[["impl DynSync for RibKind",1,["flux_desugar::resolver::RibKind"]],["impl DynSync for ScopeKind",1,["flux_desugar::resolver::refinement_resolver::ScopeKind"]],["impl DynSync for IntTooLarge",1,["flux_desugar::errors::IntTooLarge"]],["impl DynSync for InvalidAliasReft",1,["flux_desugar::errors::InvalidAliasReft"]],["impl DynSync for InvalidDotVar",1,["flux_desugar::errors::InvalidDotVar"]],["impl DynSync for InvalidFunc",1,["flux_desugar::errors::InvalidFunc"]],["impl DynSync for InvalidFuncAsVar",1,["flux_desugar::errors::InvalidFuncAsVar"]],["impl DynSync for InvalidLoc",1,["flux_desugar::errors::InvalidLoc"]],["impl DynSync for InvalidNumericSuffix",1,["flux_desugar::errors::InvalidNumericSuffix"]],["impl DynSync for InvalidVariantRet",1,["flux_desugar::errors::InvalidVariantRet"]],["impl DynSync for UnexpectedLiteral",1,["flux_desugar::errors::UnexpectedLiteral"]],["impl DynSync for UnresolvedGenericParam",1,["flux_desugar::errors::UnresolvedGenericParam"]],["impl DynSync for UnresolvedPath",1,["flux_desugar::resolver::errors::UnresolvedPath"]],["impl DynSync for DuplicateParam",1,["flux_desugar::resolver::refinement_resolver::errors::DuplicateParam"]],["impl DynSync for IllegalBinder",1,["flux_desugar::resolver::refinement_resolver::errors::IllegalBinder"]],["impl DynSync for InvalidUnrefinedParam",1,["flux_desugar::resolver::refinement_resolver::errors::InvalidUnrefinedParam"]],["impl DynSync for UnresolvedSort",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedSort"]],["impl DynSync for UnresolvedVar",1,["flux_desugar::resolver::refinement_resolver::errors::UnresolvedVar"]],["impl DynSync for ParamDef",1,["flux_desugar::resolver::refinement_resolver::ParamDef"]],["impl DynSync for ParamRes",1,["flux_desugar::resolver::refinement_resolver::ParamRes"]],["impl DynSync for Scope",1,["flux_desugar::resolver::refinement_resolver::Scope"]],["impl DynSync for Sorts",1,["flux_desugar::resolver::refinement_resolver::Sorts"]],["impl DynSync for Rib",1,["flux_desugar::resolver::Rib"]],["impl<'a> DynSync for UnsupportedSignature<'a>",1,["flux_desugar::resolver::errors::UnsupportedSignature"]],["impl<'a, 'genv, 'tcx> !DynSync for RustItemCtxt<'a, 'genv, 'tcx>",1,["flux_desugar::desugar::RustItemCtxt"]],["impl<'a, 'genv, 'tcx> !DynSync for IllegalBinderVisitor<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::IllegalBinderVisitor"]],["impl<'a, 'genv, 'tcx> !DynSync for RefinementResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::RefinementResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for ItemResolver<'a, 'genv, 'tcx>",1,["flux_desugar::resolver::ItemResolver"]],["impl<'a, 'tcx> DynSync for ImplicitParamCollector<'a, 'tcx>",1,["flux_desugar::resolver::refinement_resolver::ImplicitParamCollector"]],["impl<'genv, 'tcx> !DynSync for FluxItemCtxt<'genv, 'tcx>",1,["flux_desugar::desugar::FluxItemCtxt"]],["impl<'genv, 'tcx> !DynSync for CrateResolver<'genv, 'tcx>",1,["flux_desugar::resolver::CrateResolver"]],["impl<'genv, 'tcx> !DynSync for CrateDesugar<'genv, 'tcx>",1,["flux_desugar::CrateDesugar"]],["impl<'genv, 'tcx> !DynSync for DesugarCtxt<'genv, 'tcx>",1,["flux_desugar::DesugarCtxt"]],["impl<'sess> !DynSync for OpaqueTypeCollector<'sess>",1,["flux_desugar::resolver::OpaqueTypeCollector"]],["impl<V> DynSync for ScopedVisitorWrapper<V>
where\n V: DynSync,
",1,["flux_desugar::resolver::refinement_resolver::ScopedVisitorWrapper"]]], "flux_driver":[["impl DynSync for FluxAttrKind",1,["flux_driver::collector::FluxAttrKind"]],["impl DynSync for FluxCallbacks",1,["flux_driver::callbacks::FluxCallbacks"]],["impl DynSync for AttrOnOpaque",1,["flux_driver::collector::errors::AttrOnOpaque"]],["impl DynSync for CFGError",1,["flux_driver::collector::errors::CFGError"]],["impl DynSync for DuplicatedAttr",1,["flux_driver::collector::errors::DuplicatedAttr"]],["impl DynSync for InvalidAttr",1,["flux_driver::collector::errors::InvalidAttr"]],["impl DynSync for MismatchedSpecName",1,["flux_driver::collector::errors::MismatchedSpecName"]],["impl DynSync for MissingVariant",1,["flux_driver::collector::errors::MissingVariant"]],["impl DynSync for SyntaxErr",1,["flux_driver::collector::errors::SyntaxErr"]],["impl DynSync for CannotResolveTraitImpl",1,["flux_driver::collector::extern_specs::errors::CannotResolveTraitImpl"]],["impl DynSync for DupExternSpec",1,["flux_driver::collector::extern_specs::errors::DupExternSpec"]],["impl DynSync for ExternSpecForLocalDef",1,["flux_driver::collector::extern_specs::errors::ExternSpecForLocalDef"]],["impl DynSync for InvalidImplBlock",1,["flux_driver::collector::extern_specs::errors::InvalidImplBlock"]],["impl DynSync for InvalidItemInInherentImpl",1,["flux_driver::collector::extern_specs::errors::InvalidItemInInherentImpl"]],["impl DynSync for ItemNotInTrait",1,["flux_driver::collector::extern_specs::errors::ItemNotInTrait"]],["impl DynSync for ItemNotInTraitImpl",1,["flux_driver::collector::extern_specs::errors::ItemNotInTraitImpl"]],["impl DynSync for MalformedExternSpec",1,["flux_driver::collector::extern_specs::errors::MalformedExternSpec"]],["impl DynSync for MismatchedGenerics",1,["flux_driver::collector::extern_specs::errors::MismatchedGenerics"]],["impl DynSync for ExternImplItem",1,["flux_driver::collector::extern_specs::ExternImplItem"]],["impl DynSync for CFGSetting",1,["flux_driver::collector::CFGSetting"]],["impl DynSync for FluxAttr",1,["flux_driver::collector::FluxAttr"]],["impl DynSync for FluxAttrCFG",1,["flux_driver::collector::FluxAttrCFG"]],["impl DynSync for FluxAttrs",1,["flux_driver::collector::FluxAttrs"]],["impl<'a, 'sess, 'tcx> !DynSync for ExternSpecCollector<'a, 'sess, 'tcx>",1,["flux_driver::collector::extern_specs::ExternSpecCollector"]],["impl<'genv, 'tcx> !DynSync for CrateChecker<'genv, 'tcx>",1,["flux_driver::callbacks::CrateChecker"]],["impl<'sess, 'tcx> !DynSync for SpecCollector<'sess, 'tcx>",1,["flux_driver::collector::SpecCollector"]]], "flux_errors":[["impl DynSync for FluxSession",1,["flux_errors::FluxSession"]],["impl<'sess> !DynSync for Errors<'sess>",1,["flux_errors::Errors"]]], -"flux_fhir_analysis":[["impl DynSync for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl DynSync for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl DynSync for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl DynSync for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl DynSync for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl DynSync for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl DynSync for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl DynSync for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl DynSync for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl DynSync for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl DynSync for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl DynSync for Env",1,["flux_fhir_analysis::conv::Env"]],["impl DynSync for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl DynSync for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl DynSync for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl DynSync for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl DynSync for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl DynSync for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl DynSync for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl DynSync for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl DynSync for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl DynSync for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl DynSync for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl DynSync for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl DynSync for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl DynSync for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl DynSync for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl DynSync for RefinedUnrefinableType",1,["flux_fhir_analysis::wf::errors::RefinedUnrefinableType"]],["impl DynSync for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl DynSync for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl DynSync for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> DynSync for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> DynSync for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> DynSync for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> DynSync for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> DynSync for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> DynSync for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !DynSync for ConvCtxt<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'a, 'genv, 'tcx> !DynSync for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !DynSync for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !DynSync for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !DynSync for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !DynSync for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'tcx> DynSync for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], +"flux_fhir_analysis":[["impl DynSync for LayerKind",1,["flux_fhir_analysis::conv::LayerKind"]],["impl DynSync for FnSigErr",1,["flux_fhir_analysis::conv::struct_compat::FnSigErr"]],["impl DynSync for IncompatibleSort",1,["flux_fhir_analysis::compare_impl_item::errors::IncompatibleSort"]],["impl DynSync for InvalidAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::InvalidAssocReft"]],["impl DynSync for MissingAssocReft",1,["flux_fhir_analysis::compare_impl_item::errors::MissingAssocReft"]],["impl DynSync for AmbiguousAssocType",1,["flux_fhir_analysis::conv::errors::AmbiguousAssocType"]],["impl DynSync for AssocTypeNotFound",1,["flux_fhir_analysis::conv::errors::AssocTypeNotFound"]],["impl DynSync for GenericArgCountMismatch",1,["flux_fhir_analysis::conv::errors::GenericArgCountMismatch"]],["impl DynSync for InvalidBaseInstance",1,["flux_fhir_analysis::conv::errors::InvalidBaseInstance"]],["impl DynSync for RefinedUnrefinableType",1,["flux_fhir_analysis::conv::errors::RefinedUnrefinableType"]],["impl DynSync for TooFewGenericArgs",1,["flux_fhir_analysis::conv::errors::TooFewGenericArgs"]],["impl DynSync for TooManyGenericArgs",1,["flux_fhir_analysis::conv::errors::TooManyGenericArgs"]],["impl DynSync for Env",1,["flux_fhir_analysis::conv::Env"]],["impl DynSync for Layer",1,["flux_fhir_analysis::conv::Layer"]],["impl DynSync for ParamEntry",1,["flux_fhir_analysis::conv::ParamEntry"]],["impl DynSync for FieldCountMismatch",1,["flux_fhir_analysis::conv::struct_compat::errors::FieldCountMismatch"]],["impl DynSync for IncompatibleParamCount",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleParamCount"]],["impl DynSync for Holes",1,["flux_fhir_analysis::conv::struct_compat::Holes"]],["impl DynSync for Mismatch",1,["flux_fhir_analysis::conv::struct_compat::Mismatch"]],["impl DynSync for DefinitionCycle",1,["flux_fhir_analysis::errors::DefinitionCycle"]],["impl DynSync for ArgCountMismatch",1,["flux_fhir_analysis::wf::errors::ArgCountMismatch"]],["impl DynSync for CannotInferSort",1,["flux_fhir_analysis::wf::errors::CannotInferSort"]],["impl DynSync for DuplicatedEnsures",1,["flux_fhir_analysis::wf::errors::DuplicatedEnsures"]],["impl DynSync for EarlyBoundArgCountMismatch",1,["flux_fhir_analysis::wf::errors::EarlyBoundArgCountMismatch"]],["impl DynSync for FieldNotFound",1,["flux_fhir_analysis::wf::errors::FieldNotFound"]],["impl DynSync for MissingEnsures",1,["flux_fhir_analysis::wf::errors::MissingEnsures"]],["impl DynSync for ParamCountMismatch",1,["flux_fhir_analysis::wf::errors::ParamCountMismatch"]],["impl DynSync for ParamNotDetermined",1,["flux_fhir_analysis::wf::errors::ParamNotDetermined"]],["impl DynSync for SortAnnotationNeeded",1,["flux_fhir_analysis::wf::errors::SortAnnotationNeeded"]],["impl DynSync for SortMismatch",1,["flux_fhir_analysis::wf::errors::SortMismatch"]],["impl DynSync for UnknownQualifier",1,["flux_fhir_analysis::wf::errors::UnknownQualifier"]],["impl<'a> DynSync for LookupResultKind<'a>",1,["flux_fhir_analysis::conv::LookupResultKind"]],["impl<'a> DynSync for LookupResult<'a>",1,["flux_fhir_analysis::conv::LookupResult"]],["impl<'a> DynSync for ExpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::ExpectedFun"]],["impl<'a> DynSync for InvalidParamPos<'a>",1,["flux_fhir_analysis::wf::errors::InvalidParamPos"]],["impl<'a> DynSync for InvalidPrimitiveDotAccess<'a>",1,["flux_fhir_analysis::wf::errors::InvalidPrimitiveDotAccess"]],["impl<'a> DynSync for UnexpectedFun<'a>",1,["flux_fhir_analysis::wf::errors::UnexpectedFun"]],["impl<'a, 'genv, 'tcx> !DynSync for ParamUsesChecker<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::param_usage::ParamUsesChecker"]],["impl<'a, 'genv, 'tcx> !DynSync for FullResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::FullResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for ImplicitParamInferer<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ImplicitParamInferer"]],["impl<'a, 'genv, 'tcx> !DynSync for OpportunisticResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::OpportunisticResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for ShallowResolver<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::ShallowResolver"]],["impl<'a, 'genv, 'tcx> !DynSync for Wf<'a, 'genv, 'tcx>",1,["flux_fhir_analysis::wf::Wf"]],["impl<'genv, 'tcx> !DynSync for Zipper<'genv, 'tcx>",1,["flux_fhir_analysis::conv::struct_compat::Zipper"]],["impl<'genv, 'tcx> !DynSync for InferCtxt<'genv, 'tcx>",1,["flux_fhir_analysis::wf::sortck::InferCtxt"]],["impl<'genv, 'tcx, P> !DynSync for ConvCtxt<'genv, 'tcx, P>",1,["flux_fhir_analysis::conv::ConvCtxt"]],["impl<'tcx> DynSync for IncompatibleRefinement<'tcx>",1,["flux_fhir_analysis::conv::struct_compat::errors::IncompatibleRefinement"]]], "flux_infer":[["impl !DynSync for Node",1,["flux_infer::refine_tree::Node"]],["impl !DynSync for NodePtr",1,["flux_infer::refine_tree::NodePtr"]],["impl !DynSync for ParentsIter",1,["flux_infer::refine_tree::ParentsIter"]],["impl !DynSync for RefineTree",1,["flux_infer::refine_tree::RefineTree"]],["impl !DynSync for Snapshot",1,["flux_infer::refine_tree::Snapshot"]],["impl !DynSync for WeakNodePtr",1,["flux_infer::refine_tree::WeakNodePtr"]],["impl DynSync for KVarEncoding",1,["flux_infer::fixpoint_encoding::KVarEncoding"]],["impl DynSync for DataSort",1,["flux_infer::fixpoint_encoding::fixpoint::DataSort"]],["impl DynSync for Var",1,["flux_infer::fixpoint_encoding::fixpoint::Var"]],["impl DynSync for ConstrReason",1,["flux_infer::infer::ConstrReason"]],["impl DynSync for InferErr",1,["flux_infer::infer::InferErr"]],["impl DynSync for TypeTrace",1,["flux_infer::infer::TypeTrace"]],["impl DynSync for AssumeInvariants",1,["flux_infer::refine_tree::AssumeInvariants"]],["impl DynSync for NodeKind",1,["flux_infer::refine_tree::NodeKind"]],["impl DynSync for FixpointTypes",1,["flux_infer::fixpoint_encoding::fixpoint::fixpoint_generated::FixpointTypes"]],["impl DynSync for GlobalVar",1,["flux_infer::fixpoint_encoding::fixpoint::GlobalVar"]],["impl DynSync for KVid",1,["flux_infer::fixpoint_encoding::fixpoint::KVid"]],["impl DynSync for LocalVar",1,["flux_infer::fixpoint_encoding::fixpoint::LocalVar"]],["impl DynSync for SymStr",1,["flux_infer::fixpoint_encoding::fixpoint::SymStr"]],["impl DynSync for ConstInfo",1,["flux_infer::fixpoint_encoding::ConstInfo"]],["impl DynSync for FixpointKVar",1,["flux_infer::fixpoint_encoding::FixpointKVar"]],["impl DynSync for KVarDecl",1,["flux_infer::fixpoint_encoding::KVarDecl"]],["impl DynSync for KVarEncodingCtxt",1,["flux_infer::fixpoint_encoding::KVarEncodingCtxt"]],["impl DynSync for KVarGen",1,["flux_infer::fixpoint_encoding::KVarGen"]],["impl DynSync for LocalVarEnv",1,["flux_infer::fixpoint_encoding::LocalVarEnv"]],["impl DynSync for SortEncodingCtxt",1,["flux_infer::fixpoint_encoding::SortEncodingCtxt"]],["impl DynSync for TagIdx",1,["flux_infer::fixpoint_encoding::TagIdx"]],["impl DynSync for InferCtxtInner",1,["flux_infer::infer::InferCtxtInner"]],["impl DynSync for Sub",1,["flux_infer::infer::Sub"]],["impl DynSync for Tag",1,["flux_infer::infer::Tag"]],["impl DynSync for Scope",1,["flux_infer::refine_tree::Scope"]],["impl<'a> !DynSync for RefineCtxt<'a>",1,["flux_infer::refine_tree::RefineCtxt"]],["impl<'a, 'infcx, 'genv, 'tcx> !DynSync for InferCtxtAt<'a, 'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxtAt"]],["impl<'a, 'rcx> !DynSync for Unpacker<'a, 'rcx>",1,["flux_infer::refine_tree::Unpacker"]],["impl<'genv, 'tcx> !DynSync for ExprEncodingCtxt<'genv, 'tcx>",1,["flux_infer::fixpoint_encoding::ExprEncodingCtxt"]],["impl<'genv, 'tcx> !DynSync for InferCtxtRoot<'genv, 'tcx>",1,["flux_infer::infer::InferCtxtRoot"]],["impl<'genv, 'tcx, T> !DynSync for FixpointCtxt<'genv, 'tcx, T>",1,["flux_infer::fixpoint_encoding::FixpointCtxt"]],["impl<'infcx, 'genv, 'tcx> !DynSync for InferCtxt<'infcx, 'genv, 'tcx>",1,["flux_infer::infer::InferCtxt"]],["impl<'tcx> DynSync for Key<'tcx>",1,["flux_infer::fixpoint_encoding::Key"]]], "flux_metadata":[["impl DynSync for DuplicateSpec",1,["flux_metadata::errors::DuplicateSpec"]],["impl DynSync for CStore",1,["flux_metadata::CStore"]],["impl DynSync for CrateMetadata",1,["flux_metadata::CrateMetadata"]],["impl<'a> DynSync for DecodeFileError<'a>",1,["flux_metadata::decoder::errors::DecodeFileError"]],["impl<'a, 'tcx> !DynSync for DecodeContext<'a, 'tcx>",1,["flux_metadata::decoder::DecodeContext"]],["impl<'a, 'tcx> DynSync for EncodeContext<'a, 'tcx>",1,["flux_metadata::encoder::EncodeContext"]],["impl<K> DynSync for Tables<K>
where\n K: DynSync,
",1,["flux_metadata::Tables"]]], "flux_middle":[["impl DynSync for Sign",1,["flux_middle::big_int::Sign"]],["impl DynSync for ExternSpecMappingErr",1,["flux_middle::ExternSpecMappingErr"]],["impl DynSync for ResolvedDefId",1,["flux_middle::ResolvedDefId"]],["impl DynSync for ConstArgKind",1,["flux_middle::fhir::ConstArgKind"]],["impl DynSync for FluxLocalDefId",1,["flux_middle::fhir::FluxLocalDefId"]],["impl DynSync for FluxOwnerId",1,["flux_middle::fhir::FluxOwnerId"]],["impl DynSync for Ignored",1,["flux_middle::fhir::Ignored"]],["impl DynSync for InferMode",1,["flux_middle::fhir::InferMode"]],["impl DynSync for Lifetime",1,["flux_middle::fhir::Lifetime"]],["impl DynSync for Lit",1,["flux_middle::fhir::Lit"]],["impl DynSync for ParamKind",1,["flux_middle::fhir::ParamKind"]],["impl DynSync for PrimSort",1,["flux_middle::fhir::PrimSort"]],["impl DynSync for Res",1,["flux_middle::fhir::Res"]],["impl DynSync for SortRes",1,["flux_middle::fhir::SortRes"]],["impl DynSync for SpecFuncKind",1,["flux_middle::fhir::SpecFuncKind"]],["impl DynSync for TraitBoundModifier",1,["flux_middle::fhir::TraitBoundModifier"]],["impl DynSync for Trusted",1,["flux_middle::fhir::Trusted"]],["impl DynSync for KVarArgs",1,["flux_middle::pretty::KVarArgs"]],["impl DynSync for QueryErr",1,["flux_middle::queries::QueryErr"]],["impl DynSync for BoundReftKind",1,["flux_middle::rty::binder::BoundReftKind"]],["impl DynSync for BoundVariableKind",1,["flux_middle::rty::binder::BoundVariableKind"]],["impl DynSync for CanonicalTy",1,["flux_middle::rty::canonicalize::CanonicalTy"]],["impl DynSync for BaseTy",1,["flux_middle::rty::BaseTy"]],["impl DynSync for BvSize",1,["flux_middle::rty::BvSize"]],["impl DynSync for ClauseKind",1,["flux_middle::rty::ClauseKind"]],["impl DynSync for Coercion",1,["flux_middle::rty::Coercion"]],["impl DynSync for Ensures",1,["flux_middle::rty::Ensures"]],["impl DynSync for ExistentialPredicate",1,["flux_middle::rty::ExistentialPredicate"]],["impl DynSync for GenericArg",1,["flux_middle::rty::GenericArg"]],["impl DynSync for GenericParamDefKind",1,["flux_middle::rty::GenericParamDefKind"]],["impl DynSync for NumVarValue",1,["flux_middle::rty::NumVarValue"]],["impl DynSync for PtrKind",1,["flux_middle::rty::PtrKind"]],["impl DynSync for Sort",1,["flux_middle::rty::Sort"]],["impl DynSync for SortArg",1,["flux_middle::rty::SortArg"]],["impl DynSync for SortCtor",1,["flux_middle::rty::SortCtor"]],["impl DynSync for SortInfer",1,["flux_middle::rty::SortInfer"]],["impl DynSync for SortParamKind",1,["flux_middle::rty::SortParamKind"]],["impl DynSync for TyKind",1,["flux_middle::rty::TyKind"]],["impl DynSync for EVarState",1,["flux_middle::rty::evars::EVarState"]],["impl DynSync for AggregateKind",1,["flux_middle::rty::expr::AggregateKind"]],["impl DynSync for BinOp",1,["flux_middle::rty::expr::BinOp"]],["impl DynSync for Constant",1,["flux_middle::rty::expr::Constant"]],["impl DynSync for ExprKind",1,["flux_middle::rty::expr::ExprKind"]],["impl DynSync for FieldProj",1,["flux_middle::rty::expr::FieldProj"]],["impl DynSync for HoleKind",1,["flux_middle::rty::expr::HoleKind"]],["impl DynSync for Loc",1,["flux_middle::rty::expr::Loc"]],["impl DynSync for UnOp",1,["flux_middle::rty::expr::UnOp"]],["impl DynSync for Var",1,["flux_middle::rty::expr::Var"]],["impl DynSync for Precedence",1,["flux_middle::rty::expr::pretty::Precedence"]],["impl DynSync for Candidate",1,["flux_middle::rty::projections::Candidate"]],["impl DynSync for TyOrBase",1,["flux_middle::rty::refining::TyOrBase"]],["impl DynSync for BigInt",1,["flux_middle::big_int::BigInt"]],["impl DynSync for ConstArg",1,["flux_middle::fhir::ConstArg"]],["impl DynSync for FhirId",1,["flux_middle::fhir::FhirId"]],["impl DynSync for ItemLocalId",1,["flux_middle::fhir::ItemLocalId"]],["impl DynSync for ParamId",1,["flux_middle::fhir::ParamId"]],["impl DynSync for PartialRes",1,["flux_middle::fhir::PartialRes"]],["impl DynSync for SortDecl",1,["flux_middle::fhir::SortDecl"]],["impl DynSync for BoundVarName",1,["flux_middle::pretty::BoundVarName"]],["impl DynSync for Env",1,["flux_middle::pretty::Env"]],["impl DynSync for Providers",1,["flux_middle::queries::Providers"]],["impl DynSync for QueryErrAt",1,["flux_middle::queries::QueryErrAt"]],["impl DynSync for CanonicalConstrTy",1,["flux_middle::rty::canonicalize::CanonicalConstrTy"]],["impl DynSync for LocalHoister",1,["flux_middle::rty::canonicalize::LocalHoister"]],["impl DynSync for EVar",1,["flux_middle::rty::evars::EVar"]],["impl DynSync for EVarCxId",1,["flux_middle::rty::evars::EVarCxId"]],["impl DynSync for EVarSol",1,["flux_middle::rty::evars::EVarSol"]],["impl DynSync for EVid",1,["flux_middle::rty::evars::EVid"]],["impl DynSync for UnsolvedEvar",1,["flux_middle::rty::evars::UnsolvedEvar"]],["impl DynSync for AliasReft",1,["flux_middle::rty::expr::AliasReft"]],["impl DynSync for BoundReft",1,["flux_middle::rty::expr::BoundReft"]],["impl DynSync for ESpan",1,["flux_middle::rty::expr::ESpan"]],["impl DynSync for EarlyReftParam",1,["flux_middle::rty::expr::EarlyReftParam"]],["impl DynSync for Expr",1,["flux_middle::rty::expr::Expr"]],["impl DynSync for KVar",1,["flux_middle::rty::expr::KVar"]],["impl DynSync for KVid",1,["flux_middle::rty::expr::KVid"]],["impl DynSync for Lambda",1,["flux_middle::rty::expr::Lambda"]],["impl DynSync for Name",1,["flux_middle::rty::expr::Name"]],["impl DynSync for Path",1,["flux_middle::rty::expr::Path"]],["impl DynSync for Real",1,["flux_middle::rty::expr::Real"]],["impl DynSync for BaseSpanner",1,["flux_middle::rty::normalize::BaseSpanner"]],["impl DynSync for SpecFuncDefns",1,["flux_middle::rty::normalize::SpecFuncDefns"]],["impl DynSync for TVarSubst",1,["flux_middle::rty::projections::TVarSubst"]],["impl DynSync for AdtDef",1,["flux_middle::rty::AdtDef"]],["impl DynSync for AdtDefData",1,["flux_middle::rty::AdtDefData"]],["impl DynSync for AdtSortDef",1,["flux_middle::rty::AdtSortDef"]],["impl DynSync for AdtSortDefData",1,["flux_middle::rty::AdtSortDefData"]],["impl DynSync for AliasTy",1,["flux_middle::rty::AliasTy"]],["impl DynSync for AssocRefinement",1,["flux_middle::rty::AssocRefinement"]],["impl DynSync for AssocRefinements",1,["flux_middle::rty::AssocRefinements"]],["impl DynSync for BvSizeVid",1,["flux_middle::rty::BvSizeVid"]],["impl DynSync for Clause",1,["flux_middle::rty::Clause"]],["impl DynSync for ClosureOblig",1,["flux_middle::rty::ClosureOblig"]],["impl DynSync for CoroutineObligPredicate",1,["flux_middle::rty::CoroutineObligPredicate"]],["impl DynSync for ExistentialProjection",1,["flux_middle::rty::ExistentialProjection"]],["impl DynSync for ExistentialTraitRef",1,["flux_middle::rty::ExistentialTraitRef"]],["impl DynSync for FnOutput",1,["flux_middle::rty::FnOutput"]],["impl DynSync for FnSig",1,["flux_middle::rty::FnSig"]],["impl DynSync for FnTraitPredicate",1,["flux_middle::rty::FnTraitPredicate"]],["impl DynSync for FuncSort",1,["flux_middle::rty::FuncSort"]],["impl DynSync for GenericParamDef",1,["flux_middle::rty::GenericParamDef"]],["impl DynSync for GenericPredicates",1,["flux_middle::rty::GenericPredicates"]],["impl DynSync for Generics",1,["flux_middle::rty::Generics"]],["impl DynSync for Invariant",1,["flux_middle::rty::Invariant"]],["impl DynSync for NumVid",1,["flux_middle::rty::NumVid"]],["impl DynSync for ParamSort",1,["flux_middle::rty::ParamSort"]],["impl DynSync for PolyFuncSort",1,["flux_middle::rty::PolyFuncSort"]],["impl DynSync for ProjectionPredicate",1,["flux_middle::rty::ProjectionPredicate"]],["impl DynSync for Qualifier",1,["flux_middle::rty::Qualifier"]],["impl DynSync for RefineParam",1,["flux_middle::rty::RefineParam"]],["impl DynSync for RefinementGenerics",1,["flux_middle::rty::RefinementGenerics"]],["impl DynSync for SortVid",1,["flux_middle::rty::SortVid"]],["impl DynSync for SpecFunc",1,["flux_middle::rty::SpecFunc"]],["impl DynSync for SpecFuncDecl",1,["flux_middle::rty::SpecFuncDecl"]],["impl DynSync for SubsetTy",1,["flux_middle::rty::SubsetTy"]],["impl DynSync for TraitPredicate",1,["flux_middle::rty::TraitPredicate"]],["impl DynSync for TraitRef",1,["flux_middle::rty::TraitRef"]],["impl DynSync for Ty",1,["flux_middle::rty::Ty"]],["impl DynSync for VariantSig",1,["flux_middle::rty::VariantSig"]],["impl DynSync for WfckResults",1,["flux_middle::rty::WfckResults"]],["impl DynSync for ConstGenericArgs",1,["flux_middle::rty::subst::ConstGenericArgs"]],["impl DynSync for RegionSubst",1,["flux_middle::rty::subst::RegionSubst"]],["impl DynSync for PlaceTy",1,["flux_middle::PlaceTy"]],["impl DynSync for ResolverOutput",1,["flux_middle::ResolverOutput"]],["impl DynSync for Specs",1,["flux_middle::Specs"]],["impl DynSync for TheoryFunc",1,["flux_middle::TheoryFunc"]],["impl<'a> DynSync for UnsupportedHir<'a>",1,["flux_middle::fhir::lift::errors::UnsupportedHir"]],["impl<'a> DynSync for Normalizer<'a>",1,["flux_middle::rty::normalize::Normalizer"]],["impl<'a> DynSync for EVarSubstFolder<'a>",1,["flux_middle::rty::subst::EVarSubstFolder"]],["impl<'a, 'genv, 'tcx> !DynSync for LiftCtxt<'a, 'genv, 'tcx>",1,["flux_middle::fhir::lift::LiftCtxt"]],["impl<'a, 'tcx> DynSync for GenericArgsDelegate<'a, 'tcx>",1,["flux_middle::rty::subst::GenericArgsDelegate"]],["impl<'a, 'tcx, T> !DynSync for WithCx<'a, 'tcx, T>",1,["flux_middle::pretty::WithCx"]],["impl<'a, D> DynSync for GenericsSubstFolder<'a, D>
where\n D: DynSync,
",1,["flux_middle::rty::subst::GenericsSubstFolder"]],["impl<'a, I> !DynSync for Join<'a, I>",1,["flux_middle::pretty::Join"]],["impl<'a, T> DynSync for Parens<'a, T>
where\n T: DynSync,
",1,["flux_middle::pretty::Parens"]],["impl<'a, T> DynSync for LocalTableInContext<'a, T>
where\n T: DynSync,
",1,["flux_middle::rty::LocalTableInContext"]],["impl<'a, T> DynSync for LocalTableInContextMut<'a, T>
where\n T: DynSync,
",1,["flux_middle::rty::LocalTableInContextMut"]],["impl<'fhir> DynSync for AssocItemConstraintKind<'fhir>",1,["flux_middle::fhir::AssocItemConstraintKind"]],["impl<'fhir> DynSync for BaseTyKind<'fhir>",1,["flux_middle::fhir::BaseTyKind"]],["impl<'fhir> DynSync for Ensures<'fhir>",1,["flux_middle::fhir::Ensures"]],["impl<'fhir> DynSync for ExprKind<'fhir>",1,["flux_middle::fhir::ExprKind"]],["impl<'fhir> DynSync for FluxItem<'fhir>",1,["flux_middle::fhir::FluxItem"]],["impl<'fhir> DynSync for GenericArg<'fhir>",1,["flux_middle::fhir::GenericArg"]],["impl<'fhir> DynSync for GenericBound<'fhir>",1,["flux_middle::fhir::GenericBound"]],["impl<'fhir> DynSync for GenericParamKind<'fhir>",1,["flux_middle::fhir::GenericParamKind"]],["impl<'fhir> DynSync for ImplItemKind<'fhir>",1,["flux_middle::fhir::ImplItemKind"]],["impl<'fhir> DynSync for ItemKind<'fhir>",1,["flux_middle::fhir::ItemKind"]],["impl<'fhir> DynSync for Node<'fhir>",1,["flux_middle::fhir::Node"]],["impl<'fhir> DynSync for QPath<'fhir>",1,["flux_middle::fhir::QPath"]],["impl<'fhir> DynSync for RefineArgKind<'fhir>",1,["flux_middle::fhir::RefineArgKind"]],["impl<'fhir> DynSync for Sort<'fhir>",1,["flux_middle::fhir::Sort"]],["impl<'fhir> DynSync for StructKind<'fhir>",1,["flux_middle::fhir::StructKind"]],["impl<'fhir> DynSync for TraitItemKind<'fhir>",1,["flux_middle::fhir::TraitItemKind"]],["impl<'fhir> DynSync for TyKind<'fhir>",1,["flux_middle::fhir::TyKind"]],["impl<'fhir> DynSync for AliasReft<'fhir>",1,["flux_middle::fhir::AliasReft"]],["impl<'fhir> DynSync for AssocItemConstraint<'fhir>",1,["flux_middle::fhir::AssocItemConstraint"]],["impl<'fhir> DynSync for BareFnTy<'fhir>",1,["flux_middle::fhir::BareFnTy"]],["impl<'fhir> DynSync for BaseTy<'fhir>",1,["flux_middle::fhir::BaseTy"]],["impl<'fhir> DynSync for EnumDef<'fhir>",1,["flux_middle::fhir::EnumDef"]],["impl<'fhir> DynSync for Expr<'fhir>",1,["flux_middle::fhir::Expr"]],["impl<'fhir> DynSync for FieldDef<'fhir>",1,["flux_middle::fhir::FieldDef"]],["impl<'fhir> DynSync for FluxItems<'fhir>",1,["flux_middle::fhir::FluxItems"]],["impl<'fhir> DynSync for FnDecl<'fhir>",1,["flux_middle::fhir::FnDecl"]],["impl<'fhir> DynSync for FnOutput<'fhir>",1,["flux_middle::fhir::FnOutput"]],["impl<'fhir> DynSync for FnSig<'fhir>",1,["flux_middle::fhir::FnSig"]],["impl<'fhir> DynSync for FuncSort<'fhir>",1,["flux_middle::fhir::FuncSort"]],["impl<'fhir> DynSync for GenericParam<'fhir>",1,["flux_middle::fhir::GenericParam"]],["impl<'fhir> DynSync for Generics<'fhir>",1,["flux_middle::fhir::Generics"]],["impl<'fhir> DynSync for Impl<'fhir>",1,["flux_middle::fhir::Impl"]],["impl<'fhir> DynSync for ImplAssocReft<'fhir>",1,["flux_middle::fhir::ImplAssocReft"]],["impl<'fhir> DynSync for ImplItem<'fhir>",1,["flux_middle::fhir::ImplItem"]],["impl<'fhir> DynSync for Item<'fhir>",1,["flux_middle::fhir::Item"]],["impl<'fhir> DynSync for MutTy<'fhir>",1,["flux_middle::fhir::MutTy"]],["impl<'fhir> DynSync for OpaqueTy<'fhir>",1,["flux_middle::fhir::OpaqueTy"]],["impl<'fhir> DynSync for Path<'fhir>",1,["flux_middle::fhir::Path"]],["impl<'fhir> DynSync for PathExpr<'fhir>",1,["flux_middle::fhir::PathExpr"]],["impl<'fhir> DynSync for PathSegment<'fhir>",1,["flux_middle::fhir::PathSegment"]],["impl<'fhir> DynSync for PolyFuncSort<'fhir>",1,["flux_middle::fhir::PolyFuncSort"]],["impl<'fhir> DynSync for PolyTraitRef<'fhir>",1,["flux_middle::fhir::PolyTraitRef"]],["impl<'fhir> DynSync for Qualifier<'fhir>",1,["flux_middle::fhir::Qualifier"]],["impl<'fhir> DynSync for RefineArg<'fhir>",1,["flux_middle::fhir::RefineArg"]],["impl<'fhir> DynSync for RefineParam<'fhir>",1,["flux_middle::fhir::RefineParam"]],["impl<'fhir> DynSync for RefinedBy<'fhir>",1,["flux_middle::fhir::RefinedBy"]],["impl<'fhir> DynSync for Requires<'fhir>",1,["flux_middle::fhir::Requires"]],["impl<'fhir> DynSync for SortPath<'fhir>",1,["flux_middle::fhir::SortPath"]],["impl<'fhir> DynSync for SpecFunc<'fhir>",1,["flux_middle::fhir::SpecFunc"]],["impl<'fhir> DynSync for StructDef<'fhir>",1,["flux_middle::fhir::StructDef"]],["impl<'fhir> DynSync for Trait<'fhir>",1,["flux_middle::fhir::Trait"]],["impl<'fhir> DynSync for TraitAssocReft<'fhir>",1,["flux_middle::fhir::TraitAssocReft"]],["impl<'fhir> DynSync for TraitItem<'fhir>",1,["flux_middle::fhir::TraitItem"]],["impl<'fhir> DynSync for Ty<'fhir>",1,["flux_middle::fhir::Ty"]],["impl<'fhir> DynSync for TyAlias<'fhir>",1,["flux_middle::fhir::TyAlias"]],["impl<'fhir> DynSync for VariantDef<'fhir>",1,["flux_middle::fhir::VariantDef"]],["impl<'fhir> DynSync for VariantRet<'fhir>",1,["flux_middle::fhir::VariantRet"]],["impl<'fhir> DynSync for WhereBoundPredicate<'fhir>",1,["flux_middle::fhir::WhereBoundPredicate"]],["impl<'genv, 'tcx> !DynSync for GlobalEnv<'genv, 'tcx>",1,["flux_middle::global_env::GlobalEnv"]],["impl<'genv, 'tcx> !DynSync for GlobalEnvInner<'genv, 'tcx>",1,["flux_middle::global_env::GlobalEnvInner"]],["impl<'genv, 'tcx> !DynSync for Map<'genv, 'tcx>",1,["flux_middle::global_env::Map"]],["impl<'genv, 'tcx> !DynSync for Queries<'genv, 'tcx>",1,["flux_middle::queries::Queries"]],["impl<'genv, 'tcx> !DynSync for Refiner<'genv, 'tcx>",1,["flux_middle::rty::refining::Refiner"]],["impl<'genv, 'tcx, 'cx> !DynSync for Normalizer<'genv, 'tcx, 'cx>",1,["flux_middle::rty::projections::Normalizer"]],["impl<'tcx> !DynSync for PrettyCx<'tcx>",1,["flux_middle::pretty::PrettyCx"]],["impl<D> DynSync for Hoister<D>
where\n D: DynSync,
",1,["flux_middle::rty::canonicalize::Hoister"]],["impl<D> DynSync for BoundVarReplacer<D>
where\n D: DynSync,
",1,["flux_middle::rty::subst::BoundVarReplacer"]],["impl<D> DynSync for SortSubst<D>
where\n D: DynSync,
",1,["flux_middle::rty::subst::SortSubst"]],["impl<F, E> DynSync for GenericsSubstForSort<F, E>
where\n F: DynSync,
",1,["flux_middle::rty::subst::GenericsSubstForSort"]],["impl<F, G, H> DynSync for BottomUpFolder<F, G, H>
where\n F: DynSync,\n G: DynSync,\n H: DynSync,
",1,["flux_middle::rty::fold::BottomUpFolder"]],["impl<F1, F2> DynSync for FnMutDelegate<F1, F2>
where\n F1: DynSync,\n F2: DynSync,
",1,["flux_middle::rty::subst::FnMutDelegate"]],["impl<Id> DynSync for MaybeExternId<Id>
where\n Id: DynSync,
",1,["flux_middle::MaybeExternId"]],["impl<Id> DynSync for ExprRes<Id>
where\n Id: DynSync,
",1,["flux_middle::fhir::ExprRes"]],["impl<T> DynSync for Opaqueness<T>
where\n T: DynSync,
",1,["flux_middle::rty::Opaqueness"]],["impl<T> DynSync for Binder<T>
where\n T: DynSync,
",1,["flux_middle::rty::binder::Binder"]],["impl<T> DynSync for EarlyBinder<T>
where\n T: DynSync,
",1,["flux_middle::rty::binder::EarlyBinder"]],["impl<T> DynSync for EVarCtxt<T>
where\n T: DynSync,
",1,["flux_middle::rty::evars::EVarCtxt"]],["impl<T> DynSync for EVarGen<T>
where\n T: DynSync,
",1,["flux_middle::rty::evars::EVarGen"]]], diff --git a/doc/trait.impl/rustc_errors/diagnostic/trait.Diagnostic.js b/doc/trait.impl/rustc_errors/diagnostic/trait.Diagnostic.js index 22ebd364d1..48249ecf6e 100644 --- a/doc/trait.impl/rustc_errors/diagnostic/trait.Diagnostic.js +++ b/doc/trait.impl/rustc_errors/diagnostic/trait.Diagnostic.js @@ -1,7 +1,7 @@ (function() {var implementors = { "flux_desugar":[["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for UnsupportedSignature<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for IntTooLarge
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidAliasReft
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidDotVar
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidFunc
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidFuncAsVar
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidLoc
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidNumericSuffix
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidVariantRet
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnexpectedLiteral
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnresolvedGenericParam
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnresolvedPath
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DuplicateParam
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for IllegalBinder
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidUnrefinedParam
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnresolvedSort
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnresolvedVar
where\n G: EmissionGuarantee,
"]], "flux_driver":[["impl<'_sess, G> Diagnostic<'_sess, G> for AttrOnOpaque
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for CFGError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DuplicatedAttr
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidAttr
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MismatchedSpecName
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MissingVariant
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for SyntaxErr
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for CannotResolveTraitImpl
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DupExternSpec
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ExternSpecForLocalDef
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidImplBlock
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidItemInInherentImpl
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ItemNotInTrait
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ItemNotInTraitImpl
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MalformedExternSpec
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MismatchedGenerics
where\n G: EmissionGuarantee,
"]], -"flux_fhir_analysis":[["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for ExpectedFun<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for InvalidParamPos<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for InvalidPrimitiveDotAccess<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for UnexpectedFun<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'tcx, G> Diagnostic<'_sess, G> for IncompatibleRefinement<'tcx>
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for IncompatibleSort
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidAssocReft
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MissingAssocReft
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for AmbiguousAssocType
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for AssocTypeNotFound
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for GenericArgCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidBaseInstance
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for TooFewGenericArgs
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for TooManyGenericArgs
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for FieldCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for IncompatibleParamCount
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DefinitionCycle
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ArgCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for CannotInferSort
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DuplicatedEnsures
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for EarlyBoundArgCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for FieldNotFound
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MissingEnsures
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ParamCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ParamNotDetermined
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for RefinedUnrefinableType
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for SortAnnotationNeeded
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for SortMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnknownQualifier
where\n G: EmissionGuarantee,
"]], +"flux_fhir_analysis":[["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for ExpectedFun<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for InvalidParamPos<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for InvalidPrimitiveDotAccess<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for UnexpectedFun<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, 'tcx, G> Diagnostic<'_sess, G> for IncompatibleRefinement<'tcx>
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for IncompatibleSort
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidAssocReft
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MissingAssocReft
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for AmbiguousAssocType
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for AssocTypeNotFound
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for GenericArgCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for InvalidBaseInstance
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for RefinedUnrefinableType
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for TooFewGenericArgs
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for TooManyGenericArgs
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for FieldCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for IncompatibleParamCount
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DefinitionCycle
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ArgCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for CannotInferSort
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DuplicatedEnsures
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for EarlyBoundArgCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for FieldNotFound
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for MissingEnsures
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ParamCountMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ParamNotDetermined
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for SortAnnotationNeeded
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for SortMismatch
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnknownQualifier
where\n G: EmissionGuarantee,
"]], "flux_metadata":[["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for DecodeFileError<'a>
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DuplicateSpec
where\n G: EmissionGuarantee,
"]], "flux_middle":[["impl<'_sess, 'a, G> Diagnostic<'_sess, G> for UnsupportedHir<'a>
where\n G: EmissionGuarantee,
"],["impl<'a> Diagnostic<'a> for QueryErr"],["impl<'a> Diagnostic<'a> for QueryErrAt"]], "flux_refineck":[["impl<'_sess, G> Diagnostic<'_sess, G> for AssertError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for AssignError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for DivError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for ExpectedNeg
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for FoldError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for GotoError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for OverflowError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for RefineError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for RemError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for UnknownError
where\n G: EmissionGuarantee,
"],["impl<'_sess, G> Diagnostic<'_sess, G> for Invalid
where\n G: EmissionGuarantee,
"],["impl<'a> Diagnostic<'a> for CheckerError"]], diff --git a/doc/type.impl/flux_middle/rty/binder/struct.Binder.js b/doc/type.impl/flux_middle/rty/binder/struct.Binder.js index 923db4881b..c82f4117b2 100644 --- a/doc/type.impl/flux_middle/rty/binder/struct.Binder.js +++ b/doc/type.impl/flux_middle/rty/binder/struct.Binder.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"flux_middle":[["
source§

impl<T> Binder<T>
where\n T: TypeFoldable,

source

pub fn replace_bound_vars(\n &self,\n replace_region: impl FnMut(BoundRegion) -> Region,\n replace_expr: impl FnMut(&Sort, InferMode) -> Expr,\n) -> T

source

pub fn replace_bound_refts(&self, exprs: &[Expr]) -> T

source

pub fn replace_bound_reft(&self, expr: &Expr) -> T

source

pub fn replace_bound_refts_with(\n &self,\n f: impl FnMut(&Sort, InferMode, BoundReftKind) -> Expr,\n) -> T

",0,"flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> Binder<T>

source

pub fn bind_with_vars(value: T, vars: BoundVariableKinds) -> Binder<T>

source

pub fn dummy(value: T) -> Binder<T>

source

pub fn bind_with_sorts(value: T, sorts: &[Sort]) -> Binder<T>

source

pub fn bind_with_sort(value: T, sort: Sort) -> Binder<T>

source

pub fn vars(&self) -> &List<BoundVariableKind>

source

pub fn as_ref(&self) -> Binder<&T>

source

pub fn skip_binder(self) -> T

source

pub fn skip_binder_ref(&self) -> &T

source

pub fn rebind<U>(self, value: U) -> Binder<U>

source

pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

source

pub fn try_map<U, E>(\n self,\n f: impl FnOnce(T) -> Result<U, E>,\n) -> Result<Binder<U>, E>

source

pub fn sort(&self) -> Sort

",0,"flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Clone> Clone for Binder<T>

source§

fn clone(&self) -> Binder<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
","Clone","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Pretty> Debug for Binder<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
","Debug","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>
where\n T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

","Decodable<__D>","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>
where\n T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

","Encodable<__E>","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Hash> Hash for Binder<T>

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\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: PartialEq> PartialEq for Binder<T>

source§

fn eq(&self, other: &Binder<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> Pretty for Binder<T>
where\n T: Pretty,

source§

default fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

","Pretty","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl SliceInternable for Binder<ExistentialPredicate>

source§

fn storage() -> &'static InternStorage<[Self]>

","SliceInternable","flux_middle::rty::PolyExistentialPredicate"],["
source§

impl<'tcx, V> ToRustc<'tcx> for Binder<V>
where\n V: ToRustc<'tcx, T: TypeVisitable<TyCtxt<'tcx>>>,

§

type T = Binder<TyCtxt<'tcx>, <V as ToRustc<'tcx>>::T>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

","ToRustc<'tcx>","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeFoldable for Binder<T>
where\n T: TypeFoldable,

source§

fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F,\n) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>(\n &self,\n genv: GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n) -> QueryResult<Self>

source§

fn normalize(&self, defns: &SpecFuncDefns) -> Self

Normalize expressions by applying beta reductions for tuples and lambda abstractions.
source§

fn replace_holes(\n &self,\n f: impl FnMut(&[BoundVariableKinds], HoleKind) -> Expr,\n) -> Self

Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a\nTyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes\n{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

","TypeFoldable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeSuperFoldable for Binder<T>
where\n T: TypeFoldable,

source§

fn try_super_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F,\n) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

","TypeSuperFoldable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeSuperVisitable for Binder<T>
where\n T: TypeVisitable,

source§

fn super_visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V,\n) -> ControlFlow<V::BreakTy>

","TypeSuperVisitable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeVisitable for Binder<T>
where\n T: TypeVisitable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
","TypeVisitable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Eq> Eq for Binder<T>

","Eq","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> StructuralPartialEq for Binder<T>

","StructuralPartialEq","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"]] +"flux_middle":[["
source§

impl<T> Binder<T>
where\n T: TypeFoldable,

source

pub fn replace_bound_vars(\n &self,\n replace_region: impl FnMut(BoundRegion) -> Region,\n replace_expr: impl FnMut(&Sort, InferMode) -> Expr,\n) -> T

source

pub fn replace_bound_refts(&self, exprs: &[Expr]) -> T

source

pub fn replace_bound_reft(&self, expr: &Expr) -> T

source

pub fn replace_bound_refts_with(\n &self,\n f: impl FnMut(&Sort, InferMode, BoundReftKind) -> Expr,\n) -> T

",0,"flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> Binder<T>

source

pub fn bind_with_vars(value: T, vars: BoundVariableKinds) -> Binder<T>

source

pub fn dummy(value: T) -> Binder<T>

source

pub fn bind_with_sorts(value: T, sorts: &[Sort]) -> Binder<T>

source

pub fn bind_with_sort(value: T, sort: Sort) -> Binder<T>

source

pub fn vars(&self) -> &List<BoundVariableKind>

source

pub fn as_ref(&self) -> Binder<&T>

source

pub fn skip_binder(self) -> T

source

pub fn skip_binder_ref(&self) -> &T

source

pub fn rebind<U>(self, value: U) -> Binder<U>

source

pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Binder<U>

source

pub fn try_map<U, E>(\n self,\n f: impl FnOnce(T) -> Result<U, E>,\n) -> Result<Binder<U>, E>

source

pub fn sort(&self) -> Sort

",0,"flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Clone> Clone for Binder<T>

source§

fn clone(&self) -> Binder<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
","Clone","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Pretty> Debug for Binder<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
","Debug","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T, __D: TyDecoder> Decodable<__D> for Binder<T>
where\n T: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

","Decodable<__D>","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T, __E: TyEncoder> Encodable<__E> for Binder<T>
where\n T: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

","Encodable<__E>","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Hash> Hash for Binder<T>

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\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: PartialEq> PartialEq for Binder<T>

source§

fn eq(&self, other: &Binder<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> Pretty for Binder<T>
where\n T: Pretty,

source§

default fn fmt(&self, cx: &PrettyCx<'_>, f: &mut Formatter<'_>) -> Result

source§

fn default_cx(tcx: TyCtxt<'_>) -> PrettyCx<'_>

","Pretty","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl SliceInternable for Binder<ExistentialPredicate>

source§

fn storage() -> &'static InternStorage<[Self]>

","SliceInternable","flux_middle::rty::PolyExistentialPredicate"],["
source§

impl<'tcx, V> ToRustc<'tcx> for Binder<V>
where\n V: ToRustc<'tcx, T: TypeVisitable<TyCtxt<'tcx>>>,

§

type T = Binder<TyCtxt<'tcx>, <V as ToRustc<'tcx>>::T>

source§

fn to_rustc(&self, tcx: TyCtxt<'tcx>) -> Self::T

","ToRustc<'tcx>","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeFoldable for Binder<T>
where\n T: TypeFoldable,

source§

fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F,\n) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>(\n &self,\n genv: GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n) -> QueryResult<Self>

source§

fn normalize(&self, defns: &SpecFuncDefns) -> Self

Normalize expressions by applying beta reductions for tuples and lambda abstractions.
source§

fn replace_holes(\n &self,\n f: impl FnMut(&[BoundVariableKinds], HoleKind) -> Expr,\n) -> Self

Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a\nTyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes\n{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

","TypeFoldable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeSuperFoldable for Binder<T>
where\n T: TypeFoldable,

source§

fn try_super_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F,\n) -> Result<Self, F::Error>

source§

fn super_fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

","TypeSuperFoldable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeSuperVisitable for Binder<T>
where\n T: TypeVisitable,

source§

fn super_visit_with<V: TypeVisitor>(\n &self,\n visitor: &mut V,\n) -> ControlFlow<V::BreakTy>

","TypeSuperVisitable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> TypeVisitable for Binder<T>
where\n T: TypeVisitable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
","TypeVisitable","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T: Eq> Eq for Binder<T>

","Eq","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"],["
source§

impl<T> StructuralPartialEq for Binder<T>

","StructuralPartialEq","flux_middle::rty::PolyTraitPredicate","flux_middle::rty::PolyTraitRef","flux_middle::rty::PolyExistentialPredicate","flux_middle::rty::PolyExistentialTraitRef","flux_middle::rty::PolyVariant","flux_middle::rty::PolyFnSig","flux_middle::rty::TyCtor","flux_middle::rty::SubsetTyCtor"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/doc/type.impl/flux_middle/rty/type.List.js b/doc/type.impl/flux_middle/rty/type.List.js index dc3401e10d..5ba050a6e2 100644 --- a/doc/type.impl/flux_middle/rty/type.List.js +++ b/doc/type.impl/flux_middle/rty/type.List.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"flux_middle":[["
source§

impl<T> TypeFoldable for List<T>
where\n T: TypeFoldable,\n [T]: Internable,

source§

fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F,\n) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>(\n &self,\n genv: GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n) -> QueryResult<Self>

source§

fn normalize(&self, defns: &SpecFuncDefns) -> Self

Normalize expressions by applying beta reductions for tuples and lambda abstractions.
source§

fn replace_holes(\n &self,\n f: impl FnMut(&[BoundVariableKinds], HoleKind) -> Expr,\n) -> Self

Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a\nTyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes\n{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

","TypeFoldable","flux_middle::rty::binder::BoundVariableKinds","flux_middle::rty::Clauses","flux_middle::rty::PolyVariants","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs"],["
source§

impl<T> TypeVisitable for List<T>
where\n T: TypeVisitable,\n [T]: Internable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
","TypeVisitable","flux_middle::rty::binder::BoundVariableKinds","flux_middle::rty::Clauses","flux_middle::rty::PolyVariants","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs"]] +"flux_middle":[["
source§

impl<T> TypeFoldable for List<T>
where\n T: TypeFoldable,\n [T]: Internable,

source§

fn try_fold_with<F: FallibleTypeFolder>(\n &self,\n folder: &mut F,\n) -> Result<Self, F::Error>

source§

fn fold_with<F: TypeFolder>(&self, folder: &mut F) -> Self

source§

fn normalize_projections<'tcx>(\n &self,\n genv: GlobalEnv<'_, 'tcx>,\n infcx: &InferCtxt<'tcx>,\n callsite_def_id: DefId,\n) -> QueryResult<Self>

source§

fn normalize(&self, defns: &SpecFuncDefns) -> Self

Normalize expressions by applying beta reductions for tuples and lambda abstractions.
source§

fn replace_holes(\n &self,\n f: impl FnMut(&[BoundVariableKinds], HoleKind) -> Expr,\n) -> Self

Replaces all holes with the result of calling a closure. The closure takes a list with\nall the layers of bound variables at the point the hole was found. Each layer corresponds\nto the list of sorts bound at that level. The list is ordered from outermost to innermost\nbinder, i.e., the last element is the binder closest to the hole.
source§

fn with_holes(&self) -> Self

Remove all refinements and turn each underlying BaseTy into a TyKind::Exists with a\nTyKind::Constr and a hole. For example, Vec<{v. i32[v] | v > 0}>[n] becomes\n{n. Vec<{v. i32[v] | *}>[n] | *}.
source§

fn replace_evars(&self, evars: &EVarSol) -> Self

source§

fn shift_in_escaping(&self, amount: u32) -> Self

source§

fn shift_out_escaping(&self, amount: u32) -> Self

source§

fn erase_regions(&self) -> Self

","TypeFoldable","flux_middle::rty::binder::BoundVariableKinds","flux_middle::rty::Clauses","flux_middle::rty::PolyVariants","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs"],["
source§

impl<T> TypeVisitable for List<T>
where\n T: TypeVisitable,\n [T]: Internable,

source§

fn visit_with<V: TypeVisitor>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy>

source§

fn has_escaping_bvars(&self) -> bool

source§

fn fvars(&self) -> FxHashSet<Name>

Returns the set of all free variables.\nFor example, Vec<i32[n]>{v : v > m} returns {n, m}.
","TypeVisitable","flux_middle::rty::binder::BoundVariableKinds","flux_middle::rty::Clauses","flux_middle::rty::PolyVariants","flux_middle::rty::RefineArgs","flux_middle::rty::GenericArgs"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file