Upgrade rust/crates/async-trait to 0.1.42

Test: make
Change-Id: I59704fdd852efc7dc64f6cf733093632653b0313
diff --git a/src/expand.rs b/src/expand.rs
index aac8e46..fb83df1 100644
--- a/src/expand.rs
+++ b/src/expand.rs
@@ -72,7 +72,9 @@
                         if let Some(block) = block {
                             has_self |= has_self_in_block(block);
                             transform_block(context, sig, block, has_self, is_local);
-                            method.attrs.push(parse_quote!(#[allow(clippy::used_underscore_binding)]));
+                            method
+                                .attrs
+                                .push(parse_quote!(#[allow(clippy::used_underscore_binding)]));
                         }
                         let has_default = method.default.is_some();
                         transform_sig(context, sig, has_self, has_default, is_local);
@@ -102,7 +104,9 @@
                         let has_self = has_self_in_sig(sig) || has_self_in_block(block);
                         transform_block(context, sig, block, has_self, is_local);
                         transform_sig(context, sig, has_self, false, is_local);
-                        method.attrs.push(parse_quote!(#[allow(clippy::used_underscore_binding)]));
+                        method
+                            .attrs
+                            .push(parse_quote!(#[allow(clippy::used_underscore_binding)]));
                     }
                 }
             }
@@ -414,10 +418,22 @@
             if !is_local {
                 self_param.bounds.extend(self_bound);
             }
+            let count = standalone
+                .generics
+                .params
+                .iter()
+                .take_while(|param| {
+                    if let GenericParam::Const(_) = param {
+                        false
+                    } else {
+                        true
+                    }
+                })
+                .count();
             standalone
                 .generics
                 .params
-                .push(GenericParam::Type(self_param));
+                .insert(count, GenericParam::Type(self_param));
             types.push(Ident::new("Self", Span::call_site()));
         }
     }
diff --git a/src/lib.rs b/src/lib.rs
index f0102d8..929af4f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -303,6 +303,8 @@
 //! let object = &value as &dyn ObjectSafe;
 //! ```
 
+#![allow(clippy::match_like_matches_macro)] // matches! requires Rust 1.42
+
 extern crate proc_macro;
 
 mod args;