                             (butlast fdecl)
                             fdecl)
                     m (conj {:arglists (core/list 'quote (sigs fdecl))} m)
-                    m (core/let [inline (:inline m)
-                                 ifn (first inline)
-                                 iname (second inline)]
-                        ;; same as: (if (and (= 'fn ifn) (not (symbol? iname))) ...)
-                        (if (if #?(:clj (clojure.lang.Util/equiv 'fn ifn)
-                                   :cljs (= 'fn ifn))
-                              (if #?(:clj (core/instance? clojure.lang.Symbol iname)
-                                     :cljs (core/instance? Symbol iname)) false true))
-                          ;; inserts the same fn name to the inline fn if it does not have one
-                          (assoc m :inline (cons ifn (cons (clojure.lang.Symbol/intern (.concat (.getName ^clojure.lang.Symbol name) "__inliner"))
-                                                       (next inline))))
-                          m))
+                    ;; no support for :inline
+                    ;m (core/let [inline (:inline m)
+                    ;             ifn (first inline)
+                    ;             iname (second inline)]
+                    ;    ;; same as: (if (and (= 'fn ifn) (not (symbol? iname))) ...)
+                    ;    (if (if #?(:clj (clojure.lang.Util/equiv 'fn ifn)
+                    ;               :cljs (= 'fn ifn))
+                    ;          (if #?(:clj (core/instance? clojure.lang.Symbol iname)
+                    ;                 :cljs (core/instance? Symbol iname)) false true))
+                    ;      ;; inserts the same fn name to the inline fn if it does not have one
+                    ;      (assoc m
+                    ;        :inline (cons ifn
+                    ;                  (cons (clojure.lang.Symbol/intern
+                    ;                          (.concat (.getName ^clojure.lang.Symbol name) "__inliner"))
+                    ;                    (next inline))))
+                    ;      m))
                     m (conj (if (meta name) (meta name) {}) m)]
-           (cond
+           (core/cond
              (multi-arity-fn? fdecl)
              (multi-arity-fn name m fdecl)
 


(core/defn- warn-and-update-protocol [p type env]
  (core/when-not (= 'Object p)
    (if-let [var (cljs.analyzer/resolve-existing-var (dissoc env :locals) p)]
      (do
        (core/when-not (:protocol-symbol var)
          (cljs.analyzer/warning :invalid-protocol-symbol env {:protocol p}))
        (core/when (core/and (:protocol-deprecated cljs.analyzer/*cljs-warnings*)
                (-> var :deprecated)
                (not (-> p meta :deprecation-nowarn)))
          (cljs.analyzer/warning :protocol-deprecated env {:protocol p}))
        (core/when (:protocol-symbol var)
          (swap! env/*compiler* update-in [:cljs.analyzer/namespaces]

         ret)))))

(core/defn- collect-protocols [impls env]
  (core/->> impls
      (filter core/symbol?)
      (map #(:name (cljs.analyzer/resolve-var (dissoc env :locals) %)))
      (into #{})))
