title: Possible to apply constraints on identifiers passed into a macro?
body: <p>Since Rust doesn't yet support <a href="https://doc.rust-lang.org/stable/std/macro.concat_idents.html" rel="nofollow noreferrer"><code>concat_idents</code></a> in stable, it may be necessary to pass in multiple similar identifiers as arguments.</p>
  
  <p>This allows for accidentally passing in the wrong positional arguments.</p>
  
  <p>Is there a way to check the identifiers match some basic rules such as "contains text", "starts with", "ends with", etc.</p>
  
  <pre><code>struct_bitflag_flag_fn_impl!(
      MyStructType, my_struct_flag::SELECT,
      select_test, select_set, select_clear, select_set_bool, select_toggle);
  struct_bitflag_flag_fn_impl!(
      MyStructType, my_struct_flag::HIDDEN,
      hidden_test, hidden_set, hidden_clear, hidden_toggle, hidden_set_bool);
  
  //  Humans make mistakes, how to prevent?     -&gt;  ^^^^^^         ^^^^^^^^
  //  (arguments may be transposed by accident)
  </code></pre>