knave 0.9.19

A small Lisp for humans and agents that infers types and ownership and compiles to readable Rust
Documentation
mod associated;
mod assumed_collections;
mod binding;
mod borrowed_items;
mod boxes;
mod checker;
mod collection;
mod copy;
mod coverage;
mod deferred_definitions;
mod derives;
mod display;
mod enums;
mod finalize;
mod form_results;
mod graph;
mod impl_overlap;
mod infer;
mod literal_fit;
mod lowering;
mod main_result;
mod method_receivers;
mod missing_annotations;
mod opaque_positions;
mod parameter_calls;
mod pattern_placement;
mod pending;
mod pinning;
mod pipelines;
mod problems;
mod projection;
mod rust_types;
mod selection;
mod selfless_methods;
mod size;
mod string_view;
mod structs;
mod structural;
mod template_clauses;
mod templates;
mod traits;
mod ty;
mod type_text;
mod typed;
#[cfg(test)]
mod typed_source;
mod unifier;
mod walk;
mod wrapper;

pub use crate::core::ClosureKind;
pub use binding::GenericBinding;
pub use checker::TypeChecker;
pub use collection::{Collection, CollectionKind};
pub use copy::{CopyRules, InferredCopies};
pub use display::TypeDisplay;
pub use enums::{EnumDefinition, EnumTable, VariantDefinition, VariantPayload};
pub use form_results::{FormResult, FormResults};
pub use graph::DefinitionGraph;
pub use main_result::MainResult;
pub use pinning::{InstantiationReport, LiteralDefaults, Pinning};
pub use pipelines::Pipelines;
pub use projection::{AssociatedType, ProjectionTable};
pub use rust_types::{RustType, RustTypeTable};
pub use structs::{StructDefinition, StructTable};
pub use structural::{StructuralTrait, StructuralUse, StructuralUses};
pub use template_clauses::TemplateClauses;
pub use templates::TemplateBorrows;
pub use traits::{Implementor, RustTrait, TraitTable};
pub use ty::{Bound, GenericId, GenericParam, Lifetime, Scheme, Type, TypeVar};
pub use typed::{
    Borrow, ClosureType, FieldOrder, FieldPlace, PendingModeCheck, ReceiverKind, TraitMethodInfo,
    TypedArgument, TypedArm, TypedAssociatedType, TypedBinder, TypedBlock, TypedBodyItem,
    TypedControl, TypedConversion, TypedDefinition, TypedExpr, TypedExprKind, TypedImplMethod,
    TypedLambda, TypedLeaf, TypedMatch, TypedModule, TypedPattern, TypedPatternKind, TypedProgram,
    TypedStructExpr, TypedTrait, TypedTraitImpl, TypedTraitMethod,
};
#[cfg(test)]
pub use typed_source::TypedSource;
pub use wrapper::{FunctionValueWrapper, PreparedFunctionValue};