macro_rules! x_range_right_x {
    () => { ... };
    ($a:expr $(,)*) => { ... };
    ($a:expr, $b:expr $(,)*) => { ... };
    ($a:expr, $b:expr, $c:expr $(,)*) => { ... };
    ($a:expr, $b:expr, $c:expr, $($rest:tt)*) => { ... };
}
Expand description

Based on x_range_right_x()

Examples:

#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
assert_eq!(
  x_range_right_x!(4),
  vec![3_isize, 2, 1, 0]
);
assert_eq!(
  x_range_right_x!(-4),
  vec![-3_isize, -2, -1, 0]
);
assert_eq!(
  x_range_right_x!(1, 5),
  vec![4_isize, 3, 2, 1]
);
assert_eq!(
  x_range_right_x!(0, 20, 5),
  vec![15_isize, 10, 5, 0]
);
assert_eq!(
  x_range_right_x!(0, -4, -1),
  vec![-3_isize, -2, -1, 0]
);
assert_eq!(
  x_range_right_x!(1, 4, 0),
  vec![1_isize, 1, 1]
);
let expect: Vec<isize> = vec![];
assert_eq!(
  x_range_right_x!(0),
  expect
);

More examples:

let expect: Vec<isize> = vec![];
assert_eq!(x_range_right_x!(), expect);