52

A short post on how variable names can leak out of macros if there is a name collision with a constant. I thought this was a delightful read!

you are viewing a single comment's thread
view the rest of the comments
[-] BB_C@programming.dev 3 points 1 month ago

Maybe a good idea for a post. But the amount of reaches required makes this icky.

  • Pretending people write:
    let Ok(x) = read_input() else { return Err(Error) };
    
    instead of
     let x = read_input().map_err(|_| ...)?;
    
  • Pretending people write:
     const x: &str = "...";
    
    instead of
     const X: &str = "...";
    
  • Pretending there exist people who have such knowledge of rust macros hygiene, ident namespaces, etc, but somehow don't know about how macro code expands (the "shock" about the compile error).

Maybe there is a reason after all why almost no one (maybe no one, period) was ever in that situation.

[-] BB_C@programming.dev 10 points 1 month ago

Also:

A short post on how variable names can leak out of macros

I don't think you understood the blog OP!

this post was submitted on 28 Sep 2024
52 points (100.0% liked)

Rust

6005 readers
4 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS