make-noop 0.1.0

Attribute macros that replace function, method, and impl-block bodies with no-ops, with customizable return values.
Documentation
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0] - 2026-06-12

### Added

- `#[make_noop]` attribute macro that replaces the body of a free function, a
  single method, or every method in an `impl` block with a no-op. Functions that
  return a value yield `Default::default()`.
- `#[noop_returns(EXPR)]` attribute macro to return a custom expression. Works on
  a free function or method, and on an entire `impl` block — where `EXPR` is the
  shared return value for every method, overridable per method with another
  `#[noop_returns(OTHER)]`.
- `#[make_unit]` attribute macro that strips a struct's fields, turning it into a
  unit struct. Works on named-field and tuple structs; attributes, visibility,
  and generics are preserved.
- Functions with no return value are given an empty body and never return a value.
- The original body is discarded: the replacement body does not type-check or
  execute it. Anything referenced only from inside a no-op'd body may therefore
  be reported as unused.

[Unreleased]: https://github.com/s23b/make-noop/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/s23b/make-noop/releases/tag/v0.1.0