Defect

  • [CTYP-32] - Cannot instantiate variables that have bounds
  • [CTYP-49] - Applying flow filter resulted in local being bottom
  • [CTYP-52] - Heterogeneous Vector is not ISeqable in CLJS
  • [CTYP-87] - Constraint generation does not handle variance well
  • [CTYP-88] - with-meta doesn't type check with vectors or hash-maps.
  • [CTYP-102] - large hashmaps: failure to discover subtype and error-output to complex to understand
  • [CTYP-140] - HSequential things should correctly erase dotted arguments
  • [CTYP-173] - (first (filter ...)) type checks in Clojure, not ClojureScript
  • [CTYP-176] - No such var: ana/ns->relpath when loading the ClojureScript typechecker
  • [CTYP-177] - Compile error with core.async
  • [CTYP-178] - Dissimilar lengths of HVecs in a union doesn't type-check
  • [CTYP-182] - macros which define functions containing named anonymous functions crash
  • [CTYP-191] - Bad type syntax when parsing types of macro-generated anonymous functions from required namespaces (when the types are composed, for instance (Option AnyInteger))
  • [CTYP-195] - Support for clojure.core/extend is broken when used with typed.core/defprotocol
  • [CTYP-197] - No matching arities when defining multiple arity protocol method
  • [CTYP-201] - Calling a multimethod from a protocol function breaks the type checker
  • [CTYP-204] - Assoc doesn't work with multiple entries
  • [CTYP-209] - method-type is broken
  • [CTYP-219] - RPS example does not type check
  • [CTYP-221] - group-by produces "Cannot resolve type: Seqable"
  • [CTYP-222] - if-let on an hmap with an optional entry always expected to succeed
  • [CTYP-223] - checking clojure.core/keep produces Internal Error--Cannot resolve type: Option
  • [CTYP-225] - Intersections of value types broken
  • [CTYP-231] - (Array X) is broken and undocumented
  • [CTYP-241] - Let-aliased variables of plain Map lookups should update original map
  • [CTYP-242] - adding stop-gap annotation for 'hash-map' results in runtime exception
  • [CTYP-262] - Accessing keys from a Heterogeneous Map w/ Polymorphic type signature throws type error
  • [CTYP-270] - "Method code too large!" with protocols (more than 38 functions in the protocol)
  • [CTYP-272] - check-ns: Assert failed: (r/Type? t)
  • [CTYP-274] - Inferred type for {{defn}} and {{typed/fn}} with the same body are different
  • [CTYP-275] - Bad call to path-type: nil
  • [CTYP-277] - Typechecking fails with internal assert error
  • [CTYP-278] - Impossible to annotate protocol in other namespace
  • [CTYP-279] - An invalid type annotation for a function with a record argument passes a type check
  • [CTYP-282] - Internal error with t/defn, sort-by and no refer all
  • [CTYP-303] - cast doesn't work for recursive types
  • [CTYP-306] - pred doesn't work for non-literal HVecs with varargs
  • [CTYP-326] - Let-aliasing breaks flow inference for results of `class`

Enhancement

  • [CTYP-8] - Support complex map manipulation functions
  • [CTYP-50] - Support overriding fields
  • [CTYP-72] - merge doesn't seem to like records
  • [CTYP-76] - Support KwArgsSeq in apply
  • [CTYP-98] - Implement a defrecord macro for Clojure
  • [CTYP-129] - select-keys on HMap returns Map with union key and value types
  • [CTYP-131] - Support (apply f (apply concat hmap))
  • [CTYP-133] - Typechecker fails when checking involves an object from reify
  • [CTYP-143] - extend & extend-protocol with (Class/forName "[B") as Class dispatch value fails
  • [CTYP-167] - Several failure cases for comp for polyadic fns and type variables
  • [CTYP-192] - Use memoization in file-mapping to improve performance.
  • [CTYP-232] - Let-aliased variabled of HVec lookups should update original HVec
  • [CTYP-235] - Warn on duplicate defalias'
  • [CTYP-249] - Propositional subtyping should consider the lexical type environment
  • [CTYP-267] - bigdec, bigint and biginteger eats (U Number String)
  • [CTYP-271] - reduce form with (U nil Num) accumulator needs inst to type check
  • [CTYP-273] - `recur` treated differently from a recursive call
  • [CTYP-276] - first on HVec strange/wrong result
  • [CTYP-301] - Abstract over keyword arguments
  • [CTYP-309] - Export typed vars with contracts to untyped namespaces
  • [CTYP-327] - Adding annotations for clojure.string namespace.

Task

  • [CTYP-15] - Eliminate the need to specify all ancestors in alter-class.
  • [CTYP-245] - Remove NotTypeFilter
  • [CTYP-310] - Remove support for mixing "typed eval" and check-ns

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.