message: Prettier macro
diff: @@ -15,6 +15,9 @@ macro_rules! run_blocking {
  /// The macro takes a variable number of functions with the signature you'd
  /// expect for an endpoint: public, async, and with a docstring. In order to
  /// capture the docstring, it has to use the `#[doc]` macro.
  +///
  +/// It also takes into account basic generic parameters, but more complex
  +/// signatures may fail to compile.
  #[macro_export]
  macro_rules! endpoint_impl {
  (
  @@ -22,10 +25,9 @@ macro_rules! endpoint_impl {
  $(
  #[$attr:meta]
  )*
  - pub async fn $name:ident
  - // Taking into account basic generic parameters
  - $(< $( $lt:tt $( : $clt:tt $(+ $dlt:tt )* )? ),+ >)?
  - (
  + pub async fn $name:ident $(<
  + $( $lt:tt $( : $clt:tt $(+ $dlt:tt )* )? ),+
  + >)? (
  // With this, it's possible to use `self` in the functions
  // declared inside this macro, but it's limited to an
  // immutable reference for now.
  @@ -39,7 +41,12 @@ macro_rules! endpoint_impl {
  impl $crate::client::Spotify {
  $(
  $(#[$attr])*
  - pub async fn $name $(< $( $lt $( : $clt $(+ $dlt )* )? ),+ >)? (&$self, $($param : $paramty),*) -> $ret $code
  + pub async fn $name $(<
  + $( $lt $( : $clt $(+ $dlt )* )? ),+
  + >)? (
  + &$self,
  + $($param : $paramty),*
  + ) -> $ret $code
  )*
  }
  @@ -47,7 +54,12 @@ macro_rules! endpoint_impl {
  impl $crate::blocking::client::Spotify {
  $(
  $(#[$attr])*
  - pub fn $name $(< $( $lt $( : $clt $(+ $dlt )* )? ),+ >)? (&$self, $($param : $paramty),*) -> $ret {
  + pub fn $name $(<
  + $( $lt $( : $clt $(+ $dlt )* )? ),+
  + >)? (
  + &$self,
  + $($param : $paramty),*
  + ) -> $ret {
  $crate::run_blocking! {
  $crate::client::Spotify::$name($self.0, $($param),*)
  }
  