ad-astra-export 1.0.0

Embeddable scripting language platform Ad Astra. Macro Crate.
Documentation
////////////////////////////////////////////////////////////////////////////////
// This file is part of "Ad Astra", an embeddable scripting programming       //
// language platform.                                                         //
//                                                                            //
// This work is proprietary software with source-available code.              //
//                                                                            //
// To copy, use, distribute, or contribute to this work, you must agree to    //
// the terms of the General License Agreement:                                //
//                                                                            //
// https://github.com/Eliah-Lakhin/ad-astra/blob/master/EULA.md               //
//                                                                            //
// The agreement grants a Basic Commercial License, allowing you to use       //
// this work in non-commercial and limited commercial products with a total   //
// gross revenue cap. To remove this commercial limit for one of your         //
// products, you must acquire a Full Commercial License.                      //
//                                                                            //
// If you contribute to the source code, documentation, or related materials, //
// you must grant me an exclusive license to these contributions.             //
// Contributions are governed by the "Contributions" section of the General   //
// License Agreement.                                                         //
//                                                                            //
// Copying the work in parts is strictly forbidden, except as permitted       //
// under the General License Agreement.                                       //
//                                                                            //
// If you do not or cannot agree to the terms of this Agreement,              //
// do not use this work.                                                      //
//                                                                            //
// This work is provided "as is", without any warranties, express or implied, //
// except where such disclaimers are legally invalid.                         //
//                                                                            //
// Copyright (c) 2024 Ilya Lakhin (Илья Александрович Лахин).                 //
// All rights reserved.                                                       //
////////////////////////////////////////////////////////////////////////////////

mod attr;
mod context;
mod declaration;
mod derive;
mod facade;
mod invoke;
mod manifest;
mod morphism;
mod ops;
mod path;
mod print;
mod resolve;
mod seed;
mod shallow;
mod ty;

#[allow(unused_imports)]
pub use crate::utils::{
    attr::*,
    context::{Context, IdRef, OriginRef},
    declaration::{
        Component,
        Group,
        Operator,
        OperatorOrigin,
        Package,
        Prototype,
        TypeFamily,
        TypeMeta,
    },
    derive::DeriveMeta,
    facade::Facade,
    invoke::Invocation,
    manifest::ManifestMeta,
    morphism::{
        EmptyPolymorphism,
        FunctionPolymorphism,
        ImplPolymorphism,
        PolymorphicScope,
        SignaturePolymorphism,
        TraitPolymorphism,
        TypePolymorphism,
    },
    ops::*,
    path::{FnMeta, PathMeta, PathUtils},
    print::Printer,
    seed::{
        seed_hash_map,
        seed_hash_map_with_capacity,
        seed_hash_set,
        seed_hash_set_with_capacity,
        seed_hasher,
    },
    shallow::Shallow,
    ty::{new_type, Coercion, TypeUtils},
};