Unify E0109, E0110 and E0111 errors
diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs
index df8b1bc..c65f344 100644
--- a/src/librustc_typeck/astconv.rs
+++ b/src/librustc_typeck/astconv.rs
@@ -1486,37 +1486,34 @@
             segment.with_generic_args(|generic_args| {
                 let (mut err_for_lt, mut err_for_ty, mut err_for_ct) = (false, false, false);
                 for arg in &generic_args.args {
-                    let (mut span_err, span, kind) = match arg {
-                        // FIXME(varkor): unify E0109, E0110 and E0111.
+                    let (span, kind) = match arg {
                         hir::GenericArg::Lifetime(lt) => {
                             if err_for_lt { continue }
                             err_for_lt = true;
                             has_err = true;
-                            (struct_span_err!(self.tcx().sess, lt.span, E0110,
-                                              "lifetime arguments are not allowed on this entity"),
-                             lt.span,
-                             "lifetime")
+                            (lt.span, "lifetime")
                         }
                         hir::GenericArg::Type(ty) => {
                             if err_for_ty { continue }
                             err_for_ty = true;
                             has_err = true;
-                            (struct_span_err!(self.tcx().sess, ty.span, E0109,
-                                              "type arguments are not allowed on this entity"),
-                             ty.span,
-                             "type")
+                            (ty.span, "type")
                         }
                         hir::GenericArg::Const(ct) => {
                             if err_for_ct { continue }
                             err_for_ct = true;
-                            (struct_span_err!(self.tcx().sess, ct.span, E0111,
-                                              "const parameters are not allowed on this type"),
-                             ct.span,
-                             "const")
+                            (ct.span, "const")
                         }
                     };
-                    span_err.span_label(span, format!("{} argument not allowed", kind))
-                            .emit();
+                    let mut err = struct_span_err!(
+                        self.tcx().sess,
+                        span,
+                        E0109,
+                        "{} arguments are not allowed for this type",
+                        kind,
+                    );
+                    err.span_label(span, format!("{} argument not allowed", kind));
+                    err.emit();
                     if err_for_lt && err_for_ty && err_for_ct {
                         break;
                     }