Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. macro_rules! path {
  2. (!$($rest:tt)*) => {{
  3. ::std::path::PathBuf::from(
  4. ::std::path::MAIN_SEPARATOR.to_string()
  5. ).join(path!($($rest)*))
  6. }};
  7. ($part:ident) => {{
  8. ::std::path::PathBuf::from(stringify!($part))
  9. }};
  10. ($part:ident / $($rest:tt)*) => {{
  11. path!($part).join(path!($($rest)*))
  12. }};
  13. }
  14.  
  15. fn main() {
  16. println!("{:?}", path!(foo/bar/baz));
  17. println!("{:?}", path!(!usr/bin/sh)); // absolute
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement