diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index a638e3f..d7f5c7b 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
 {
   "git": {
-    "sha1": "a4aab7b9285e4912d16f1f4733cfb99fc8aa37da"
+    "sha1": "651ddc1131325b08c1b76ae6b65c1f23ca4cf7cf"
   }
 }
diff --git a/Android.bp b/Android.bp
index 4bc7fa9..22a10c5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -52,5 +52,5 @@
 // dependent_library ["feature_list"]
 //   proc-macro2-1.0.26 "default,proc-macro"
 //   quote-1.0.9 "default,proc-macro"
-//   syn-1.0.68 "clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote,visit,visit-mut"
+//   syn-1.0.69 "clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote,visit,visit-mut"
 //   unicode-xid-0.2.1 "default"
diff --git a/Cargo.toml b/Cargo.toml
index 5b222ec..e97aafa 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,11 +13,12 @@
 [package]
 edition = "2018"
 name = "async-trait"
-version = "0.1.48"
+version = "0.1.50"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 description = "Type erasure for async trait methods"
 documentation = "https://docs.rs/async-trait"
 readme = "README.md"
+keywords = ["async"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/dtolnay/async-trait"
 [package.metadata.docs.rs]
@@ -34,6 +35,9 @@
 [dependencies.syn]
 version = "1.0.61"
 features = ["full", "visit-mut"]
+[dev-dependencies.futures]
+version = "0.3"
+
 [dev-dependencies.rustversion]
 version = "1.0"
 
@@ -41,10 +45,7 @@
 version = "0.1.14"
 
 [dev-dependencies.tracing-attributes]
-version = "0.1.8"
-
-[dev-dependencies.tracing-futures]
-version = "0.2"
+version = "0.1.14"
 
 [dev-dependencies.trybuild]
 version = "1.0.19"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index d5599b1..8af0b3b 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "async-trait"
-version = "0.1.48"
+version = "0.1.50"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 edition = "2018"
 license = "MIT OR Apache-2.0"
@@ -8,6 +8,7 @@
 repository = "https://github.com/dtolnay/async-trait"
 documentation = "https://docs.rs/async-trait"
 readme = "README.md"
+keywords = ["async"]
 
 [lib]
 proc-macro = true
@@ -18,10 +19,10 @@
 syn = { version = "1.0.61", features = ["full", "visit-mut"] }
 
 [dev-dependencies]
+futures = "0.3"
 rustversion = "1.0"
 tracing = "0.1.14"
-tracing-attributes = "0.1.8"
-tracing-futures = "0.2"
+tracing-attributes = "0.1.14"
 trybuild = { version = "1.0.19", features = ["diff"] }
 
 [package.metadata.docs.rs]
diff --git a/METADATA b/METADATA
index 3e6f11b..4f74759 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/async-trait/async-trait-0.1.48.crate"
+    value: "https://static.crates.io/crates/async-trait/async-trait-0.1.50.crate"
   }
-  version: "0.1.48"
+  version: "0.1.50"
   license_type: NOTICE
   last_upgrade_date {
     year: 2021
     month: 4
-    day: 1
+    day: 21
   }
 }
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 0000000..0f4f93c
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,8 @@
+// Generated by update_crate_tests.py for tests that depend on this crate.
+{
+  "presubmit": [
+    {
+      "name": "authfs_device_test_src_lib"
+    }
+  ]
+}
diff --git a/src/receiver.rs b/src/receiver.rs
index 64ab65e..f6ea327 100644
--- a/src/receiver.rs
+++ b/src/receiver.rs
@@ -2,7 +2,7 @@
 use std::iter::FromIterator;
 use syn::visit_mut::{self, VisitMut};
 use syn::{
-    Block, ExprPath, Ident, Item, Macro, Pat, PatIdent, PatPath, Receiver, Signature, Token,
+    Block, ExprPath, Ident, Item, Macro, Pat, PatIdent, PatPath, Path, Receiver, Signature, Token,
     TypePath,
 };
 
@@ -139,11 +139,28 @@
         self.prepend_underscore_to_self(i);
     }
 
+    fn visit_path_mut(&mut self, p: &mut Path) {
+        if p.segments.len() == 1 {
+            // Replace `self`, but not `self::function`.
+            self.visit_ident_mut(&mut p.segments[0].ident);
+        }
+        for segment in &mut p.segments {
+            self.visit_path_arguments_mut(&mut segment.arguments);
+        }
+    }
+
     fn visit_item_mut(&mut self, i: &mut Item) {
         // Visit `macro_rules!` because locally defined macros can refer to
-        // `self`. Otherwise, do not recurse into nested items.
+        // `self`.
+        //
+        // Visit `futures::select` and similar select macros, which commonly
+        // appear syntactically like an item despite expanding to an expression.
+        //
+        // Otherwise, do not recurse into nested items.
         if let Item::Macro(i) = i {
-            if i.mac.path.is_ident("macro_rules") {
+            if i.mac.path.is_ident("macro_rules")
+                || i.mac.path.segments.last().unwrap().ident == "select"
+            {
                 self.visit_macro_mut(&mut i.mac)
             }
         }
diff --git a/tests/test.rs b/tests/test.rs
index 604d092..6f95576 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -1,6 +1,6 @@
 #![cfg_attr(
     async_trait_nightly_testing,
-    feature(min_specialization, min_const_generics, type_alias_impl_trait)
+    feature(min_specialization, min_type_alias_impl_trait)
 )]
 #![allow(
     clippy::let_underscore_drop,
@@ -615,7 +615,6 @@
     }
 
     #[test]
-    #[should_panic]
     fn tracing() {
         // Create the future outside of the subscriber, as no call to tracing
         // should be made until the future is polled.
@@ -1322,3 +1321,43 @@
         }
     }
 }
+
+// https://github.com/dtolnay/async-trait/issues/158
+pub mod issue158 {
+    use async_trait::async_trait;
+
+    fn f() {}
+
+    #[async_trait]
+    pub trait Trait {
+        async fn f(&self) {
+            self::f()
+        }
+    }
+}
+
+// https://github.com/dtolnay/async-trait/issues/161
+#[allow(clippy::mut_mut)]
+pub mod issue161 {
+    use async_trait::async_trait;
+    use futures::future::FutureExt;
+    use std::sync::Arc;
+
+    #[async_trait]
+    pub trait Trait {
+        async fn f(self: Arc<Self>);
+    }
+
+    pub struct MyStruct(bool);
+
+    #[async_trait]
+    impl Trait for MyStruct {
+        async fn f(self: Arc<Self>) {
+            futures::select! {
+                _ = async {
+                    println!("{}", self.0);
+                }.fuse() => {}
+            }
+        }
+    }
+}
