Add `expand` feature for proc-macro debugging

finchie
Apr 2, 2025, 6:03 AM
XGRU7WZEM6PTUCSHUA6QGNK7N34M7OPE52BTDC33BHSUEWM6B4FAC

Dependencies

  • [2] VQBJBFEX Improve error handling for missing Fluent messages
  • [3] OWXLFLRM Merge `cli_macros` shim into `fluent_embed`
  • [4] CESJ4CTO Move macro-specific code into `macro_impl` module
  • [*] UKFEFT6L Create basic `Output` proc-macro
  • [*] 7M4UI3TW Update dependencies to latest versions
  • [*] VZYZRAO4 Move `output-macros` crate into workspace
  • [*] O77KA6C4 Create `fluent_embed` crate

Change contents

  • edit in Cargo.lock at line 64
    [7.7885]
    [2.5119]
    [[package]]
    name = "blake2"
    version = "0.10.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
    dependencies = [
    "digest",
    ]
    [[package]]
    name = "block-buffer"
    version = "0.10.4"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
    dependencies = [
    "generic-array",
    ]
  • edit in Cargo.lock at line 138
    [2.6697]
    [2.6697]
    ]
    [[package]]
    name = "crypto-common"
    version = "0.1.6"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
    dependencies = [
    "generic-array",
    "typenum",
  • edit in Cargo.lock at line 155
    [2.6888]
    [2.6888]
    [[package]]
    name = "digest"
    version = "0.10.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
    dependencies = [
    "block-buffer",
    "crypto-common",
    "subtle",
    ]
  • edit in Cargo.lock at line 219
    [2.8237]
    [2.8237]
    ]
    [[package]]
    name = "expander"
    version = "2.2.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2"
    dependencies = [
    "blake2",
    "file-guard",
    "fs-err",
    "prettyplease",
    "proc-macro2",
    "quote",
    "syn 2.0.99",
    ]
    [[package]]
    name = "file-guard"
    version = "0.2.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c"
    dependencies = [
    "libc",
    "winapi",
  • edit in Cargo.lock at line 301
    [2.9516]
    [2.9516]
    "expander",
  • edit in Cargo.lock at line 319
    [2.9796]
    [2.9796]
    ]
    [[package]]
    name = "fs-err"
    version = "2.11.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
    dependencies = [
    "autocfg",
  • edit in Cargo.lock at line 371
    [2.10957]
    [2.10957]
    ]
    [[package]]
    name = "generic-array"
    version = "0.14.7"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
    dependencies = [
    "typenum",
    "version_check",
  • edit in Cargo.lock at line 1038
    [2.28533]
    [2.28533]
    ]
    [[package]]
    name = "prettyplease"
    version = "0.2.31"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb"
    dependencies = [
    "proc-macro2",
    "syn 2.0.99",
  • edit in Cargo.lock at line 1309
    [2.35040]
    [2.35040]
    [[package]]
    name = "subtle"
    version = "2.6.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
  • edit in Cargo.lock at line 1474
    [2.39066]
    [2.39066]
    [[package]]
    name = "typenum"
    version = "1.18.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
  • edit in Cargo.lock at line 1554
    [2.41217]
    [2.41217]
    ]
    [[package]]
    name = "winapi"
    version = "0.3.9"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
    dependencies = [
    "winapi-i686-pc-windows-gnu",
    "winapi-x86_64-pc-windows-gnu",
  • edit in Cargo.lock at line 1565
    [2.41219]
    [2.41219]
    [[package]]
    name = "winapi-i686-pc-windows-gnu"
    version = "0.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
  • edit in Cargo.lock at line 1580
    [2.41449]
    [2.41449]
    [[package]]
    name = "winapi-x86_64-pc-windows-gnu"
    version = "0.4.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
  • edit in Cargo.toml at line 8
    [7.5666]
    [7.5666]
    expander = "2.2.1"
  • edit in fluent_embed_derive/Cargo.toml at line 13
    [9.1410]
    [7.1035]
    expander = { workspace = true, optional = true }
  • edit in fluent_embed_derive/Cargo.toml at line 33
    [7.1475]
    [features]
    default = ["expand"]
    expand = ["dep:expander"]
  • replacement in fluent_embed_derive/src/lib.rs at line 20
    [3.5365][3.5365:5386]()
    quote! {
    [3.5365]
    [3.5386]
    let token_stream = quote! {
  • edit in fluent_embed_derive/src/lib.rs at line 25
    [3.5450]
    [3.5450]
    };
    // Optionally expand the macro for debugging purposes if the "expand" feature is enabled
    if cfg!(feature = "expand") {
    expander::Expander::new("fluent_embed_derive")
    .write_to_out_dir(token_stream)
    .unwrap()
    } else {
    token_stream