crate_interface 0.3.0

Provides a way to define an interface (trait) in a crate, but can implement or use it in any crate.
Documentation
[workspace]
members = ["crate_interface_lite"]
exclude = ["test_crates"]

[package]
name = "crate_interface"
version = "0.3.0"
edition = "2021"
authors = ["Yuekai Jia <equation618@gmail.com>", "Su Mingxian <aarkegz@gmail.com>"]
description = "Provides a way to define an interface (trait) in a crate, but can implement or use it in any crate."
license = "Apache-2.0"
homepage = "https://github.com/arceos-org/arceos"
repository = "https://github.com/arceos-org/crate_interface"
documentation = "https://docs.rs/crate_interface"
keywords = ["arceos", "api", "macro"]
categories = ["development-tools::procedural-macro-helpers", "no-std"]
rust-version = "1.68"

[dependencies]
proc-macro2 = "1.0"
quote = "1.0"
syn = { version = "2.0", features = ["full", "visit-mut"] }

[features]
default = []
# Generate weak symbol functions for trait methods with default implementations.
# Requires nightly Rust and `#![feature(linkage)]` in the crate that uses this.
weak_default = []

[lib]
proc-macro = true