Skip to content

Commit

Permalink
Abbreviate lib top-level docs
Browse files Browse the repository at this point in the history
  • Loading branch information
dhardy committed Dec 20, 2024
1 parent 5428e49 commit b7d3834
Showing 1 changed file with 10 additions and 16 deletions.
26 changes: 10 additions & 16 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,25 @@

//! # Impl-tools
//!
//! [`#[autoimpl]`](macro@autoimpl) is a partial replacement for
//! [`#[derive]`](https://doc.rust-lang.org/stable/reference/attributes/derive.html),
//! supporting:
//! [`#[autoimpl]`](macro@autoimpl) is an alternative to
//! [`#[derive]`](macro@derive) with more features (also usable on traits).
//!
//! - Explicit `where` clause on generic parameters
//! - No implicit bounds on generic parameters beyond those required by the type
//! - Traits like `Deref` by `using` a named field
//! - Traits like `Debug` may `ignore` named fields
//! [`#[impl_default]`](macro@impl_default) is shorthand for implementing
//! [`Default`] with an explicit default value.
//! It supports structs and enums.
//!
//! [`#[autoimpl]`](macro@autoimpl) may also be used on trait definitions to *re-implement* the
//! trait for given reference types.
//! [`impl_scope!`] is a function-like macro used to define a type together with
//! its implementations. This allows:
//!
//! [`impl_scope!`] is a function-like macro used to define a type plus its
//! implementations. It supports two things:
//!
//! - `impl Self` syntax
//! - Evaluation of advanced attribute macros, which may use field
//! initializers and read/write other impls within the scope
//! - `impl Self` syntax (avoid repeated definitions of generics)
//! - Evaluation of some more complex attribute macros
//!
//! [`impl_anon!`] is a function-like macro used to define and instantiate a
//! unique (single-use) type. It supports everything supported by [`impl_scope!`]
//! plus field initializers and (limited) automatic typing of fields.
//!
//! User-extensions to both [`#[autoimpl]`](macro@autoimpl) and [`impl_scope!`]
//! are possible, by writing your own proc-macro crate depending on
//! are possible with a custom proc-macro crate depending on
//! [impl-tools-lib](https://crates.io/crates/impl-tools-lib).
#[cfg(doctest)]
Expand Down

0 comments on commit b7d3834

Please sign in to comment.