core.typed

HMap update simplifies to Nothing too eagerly

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None

Description

The following code should type check to [(HMap) -> (HMap :mandatory {:foo (Vec Any)})].

(cf
(fn> [m :- (HMap)]
(assert (vector? (:foo m)))
m))
;=> [(HMap) -> Nothing]

The source of this bug is the HMap being updated incorrectly:

(clj
(update (parse-type '(HMap))
(parse-filter '(is (clojure.core.typed/Vec Any) m [(Key :foo)]))))
;=> Nothing

Activity

Ambrose Bonnaire-Sergeant made changes -
Field Original Value New Value
Resolution Completed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
Ambrose Bonnaire-Sergeant made changes -
Status Resolved [ 5 ] Closed [ 6 ]

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: