quote

Rust quasi-quoting (by dtolnay)

Quote Alternatives

Similar projects and alternatives to quote

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better quote alternative or higher similarity.

quote reviews and mentions

Posts with mentions or reviews of quote. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-06.
  • C++ vs. Rust Build Times
    12 projects | news.ycombinator.com | 6 Jan 2023
    A surprising source of slow compile times can be declarative macros in Rust [0].

    I believe the core of the problem is that it has to reparse the code to pattern match for the macro.

    One egregious patter is tt-munchers [1] where your macro is implemented recursively, requiring it to reparse the source on each call [2].

    In one of my projects, someone decided to wrap a lot of core functions in simple macros (ie nt tt-munchers) to simplify the signatures. Unlike most macros which are used occasionally and have small inputs, this was a lot of input. When I refactored the code, I suspect dropping the macros is the reason CI times were cut in half and a clean `cargo check` went from 3s to 0.5s.

    [0]: https://nnethercote.github.io/2022/04/12/how-to-speed-up-the...

    [1]: https://veykril.github.io/tlborm/decl-macros/patterns/tt-mun...

    [2]: https://github.com/dtolnay/quote/blob/31c3be473d0457e29c4f47...

  • Is generating code from JSON a good macro use case?
    3 projects | /r/rust | 1 Feb 2022
    In the build.rs, call your code generation function (probably in a separate crate added in build-dependencies). This function will read your input files, and use something like quote to generate code.
  • Any good resources for learning Rust macros?
    7 projects | /r/rust | 19 Dec 2021
    Or you can pair them with crates like syn, and quote for quasi-quoting, and then it's easy to make transformations on the AST of Rust input code. A lot of libraries do this for code-generation and hiding away a lot of complexity (example wasm-bindgen).
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 10 May 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Stats

Basic quote repo stats
3
1,231
7.3
23 days ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com