diff --git a/gen/write.rs b/gen/write.rs
index 8f3ecc0..9ab6e38 100644
--- a/gen/write.rs
+++ b/gen/write.rs
@@ -374,7 +374,7 @@
         if receiver.mutability.is_none() {
             write!(out, "const ");
         }
-        write!(out, "{} *self$", receiver.ident);
+        write!(out, "{} *self", receiver.ident);
     }
     for (i, arg) in efn.args.iter().enumerate() {
         if i > 0 || efn.receiver.is_some() {
@@ -442,7 +442,7 @@
     }
     match &efn.receiver {
         None => write!(out, "{}$(", efn.ident),
-        Some(_) => write!(out, "(self$->*{}$)(", efn.ident),
+        Some(_) => write!(out, "(self->*{}$)(", efn.ident),
     }
     for (i, arg) in efn.args.iter().enumerate() {
         if i > 0 {
@@ -541,7 +541,7 @@
         if receiver.mutability.is_none() {
             write!(out, "const ");
         }
-        write!(out, "{} &self$", receiver.ident);
+        write!(out, "{} &self", receiver.ident);
         needs_comma = true;
     }
     for arg in &sig.args {
