Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

* src/clj/cljs/core.clj: if we have a protocol mask no need to call t…

…ype_satisfies_
  • Loading branch information...
commit 9c023d3b4af772aee1935c7c03c59b039db0f519 1 parent e8c5412
David Nolen authored
Showing with 7 additions and 5 deletions.
  1. +7 −5 src/clj/cljs/core.clj
View
12 src/clj/cljs/core.clj
@@ -549,11 +549,13 @@
[part bit] (fast-path-protocols p)
msym (symbol (core/str "-cljs$lang$protocol_mask$partition" part "$"))]
`(let [~xsym ~x]
- (if (and (coercive-not= ~xsym nil)
- (or
- ~(if bit `(unsafe-bit-and (. ~xsym ~msym) ~bit))
- ~(bool-expr `(. ~xsym ~(symbol (core/str "-" prefix))))))
- true
+ (if (coercive-not= ~xsym nil)
+ (if (or ~(if bit `(unsafe-bit-and (. ~xsym ~msym) ~bit))
+ ~(bool-expr `(. ~xsym ~(symbol (core/str "-" prefix)))))
+ true
+ (if (coercive-not (. ~xsym ~msym))
+ (cljs.core/type_satisfies_ ~psym ~xsym)
+ false))
(cljs.core/type_satisfies_ ~psym ~xsym)))))
(defmacro lazy-seq [& body]
Please sign in to comment.
Something went wrong with that request. Please try again.