todo-or-die provides procedural macros that act as checked reminders.

Overview

todo-or-die

todo-or-die provides procedural macros that act as checked reminders.

Build status Crates.io Documentation

Examples

1.0.9000"); // its over 9000! ">
// trigger a compile error if we're past a certain date
todo_or_die::after_date!(3000, 1, 1); // its the year 3000!

// or a GitHub issue has closed
todo_or_die::issue_closed!("rust-lang", "rust", 44265); // GATs are here!

// or the latest version of a crate matches some expression
todo_or_die::crates_io!("serde", ">1.0.9000"); // its over 9000!

More information about this crate can be found in the crate documentation.

The name was shamelessly stolen from the ruby gem todo_or_die.

License

This project is licensed under the MIT license.

You might also like...
Provides two APIs for easily cancelling futures, with the option to fallback to a timeout cancellation

tokio-context Provides two different methods for cancelling futures with a provided handle for cancelling all related futures, with a fallback timeout

global allocator that provides hooks for tracking allocation events

tracking-allocator A GlobalAlloc-compatible allocator implementation that provides the ability to track allocation events. examples As allocators are

`fugit` provides a comprehensive library of `Duration` and `Instant` for the handling of time in embedded systems, doing all it can at compile time.

fugit fugit provides a comprehensive library of Duration and Instant for the handling of time in embedded systems, doing all it can at compile time. T

cooptex provides deadlock-free Mutexes.

cooptex provides deadlock-free Mutexes. The [CoopMutex::lock] method wraps the [std::sync::Mutex] return value with a Result that will request

Provides a Suricata Eve output for Kafka with Suricate Eve plugin

Suricata Eve Kafka Output Plugin for Suricata 6.0.x This plugin provides a Suricata Eve output for Kafka. Base on suricata-redis-output: https://githu

Provides a wrapper to deserialize clap app using serde.

clap-serde Provides a wrapper to deserialize clap app using serde. API Reference toml const CLAP_TOML: &'static str = r#" name = "app_clap_serde" vers

A (mostly) drop-in replacement for Rust's Result that provides backtrace support

Errant A (mostly) drop-in replacement for Rust's Result that provides backtrace support. Please note that Errant is still very early in development an

This repository provides an emulator for iterated prisoner's dilemma.

Iterated Prisoner's Dilemma Emulator Name This repository provides an emulator for iterated prisoner's dilemma. Description You can run the program by

Memory.lol - a tiny web service that provides historical information about social media accounts

memory.lol Overview This project is a tiny web service that provides historical information about social media accounts. It can currently be used to l

Comments
  • Activatable todos

    Activatable todos

    While prototyping (sometimes for a long)), I often bypass universality in multiple places, so spawn todos. But currently, for this case, I can't use this crate: I can't make time predictions for my pet-project to use after_date!, and can't use the rest as I'm still prototyping, so can't integrate Github. So I need some activatable todo, maybe when building release or via some environment variable. To choose time and instead of grepping for todos get compilation errors. May I be not alone?

    Thanks

    opened by makaleks 2
  • Detect whether the build is as a crate or the toplevel?

    Detect whether the build is as a crate or the toplevel?

    Thinking about where I'd like to use this crate, I figured out that I'd love to be using it in crates that I'm also uploading on crates.io. However, this would mean that the crate uploaded to crates.io would stop compiling after some time, which is Bad(tm). So I'm wondering, do you think there's a chance to detect whether the crate is being built directly or as a crates.io dependency, and (dis)able the warnings depending on that?

    My guess would be it's not reasonably doable, but maybe I'm wrong and there's a solution? Besides that, the only other idea I can think of would be to have a feature to enable the todo-or-die, but then one'd have to remember to build with that feature from time to time to check new todos haven't triggered.

    What do you think about this?

    opened by Ekleog 2
  • Cache HTTP requests

    Cache HTTP requests

    Caches HTTP requests for 1 hour by default. Can be customized via env var.

    • [x] env var to clear the cache

    Fixes https://github.com/davidpdrsn/todo-or-die/issues/2

    opened by davidpdrsn 0
Releases(v0.1.2)
Owner
David Pedersen
Software Engineer at @EmbarkStudios, martial artist, gamer, and addicted to Cardistry
David Pedersen
Procedural-generation in Rust

Procedural Generation This is a crate for for procedurally generating maps written in Rust. It's very elegant to use and creates nice results, see the

null 1 Oct 23, 2021
A copypastable guide to implementing simple derive macros in Rust.

A copypastable guide to implementing simple derive macros in Rust. The goal Let's say we have a trait with a getter trait MyTrait {

Imbolc 131 Dec 27, 2022
Jonathan Kelley 33 Dec 6, 2022
twilight-interactions is a set of macros and utilities to work with Discord Interactions using twilight.

Twilight interactions twilight-interactions is a set of macros and utilities to work with Discord Interactions using twilight. Note: This crate is not

null 24 Dec 26, 2022
A metamacro toolkit for writing complex macros.

Big Mac This crate contains the branching_parser! metamacro, which can be used to create complex macros with few lines of code. To use the macro, call

null 1 Nov 14, 2021
proc macros for generating mut and non-mut methods without duplicating code

mwt Hey! You! Read this before using! mwt was thrown together pretty quickly for personal use, because I couldn't find an existing crate that does thi

null 1 Dec 24, 2021
Provide expansion of proc-macros, in a way that rustc directs you directly to the issues at hand

expander Expands a proc-macro into a file, and uses a include! directive in place. Advantages Only expands a particular proc-macro, not all of them. I

Bernhard Schuster 16 Oct 5, 2022
Macros to make writing proc-macro crates easy

proc-easy Macros to make writing proc-macro crates easy. This crate provides mainly macros and supporting types and traits to reduce amount of boilerp

Zakarum 7 Jan 1, 2023
Macros for candle-lora.

candle-lora-macro This library makes using candle-lora as simple as adding 2 macros to your model structs and calling a method! It is inspired by the

Eric Buehler 4 Sep 13, 2023
This crate provides a convenient macro that allows you to generate type wrappers that promise to always uphold arbitrary invariants that you specified.

prae This crate provides a convenient macro that allows you to generate type wrappers that promise to always uphold arbitrary invariants that you spec

null 96 Dec 4, 2022