Skip to content

Instantly share code, notes, and snippets.

@mk
Created January 17, 2023 15:22
Show Gist options
  • Save mk/d8f60f0b13bf6a63c6afc89d6f7e7565 to your computer and use it in GitHub Desktop.
Save mk/d8f60f0b13bf6a63c6afc89d6f7e7565 to your computer and use it in GitHub Desktop.

Revisions

  1. mk created this gist Jan 17, 2023.
    3 changes: 3 additions & 0 deletions deps.edn
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    {:paths ["."]
    :deps {org.clojure/tools.analyzer {:mvn/version "1.1.0"}
    org.clojure/tools.analyzer.jvm {:mvn/version "1.1.0"}}}
    3 changes: 3 additions & 0 deletions out.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    $ clj -M repro.clj
    :hash-code/before 308316550
    :hash-code/after 1108589630
    13 changes: 13 additions & 0 deletions repro.clj
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    (ns repro
    (:require [clojure.tools.analyzer.jvm :as ana-jvm]))

    (defrecord MyRecord [form])

    (prn :hash-code/before (.hashCode MyRecord))

    (do
    (let [form '(defrecord MyRecord [form])]
    (ana-jvm/analyze form (ana-jvm/empty-env) {}))
    :analyzed)

    (prn :hash-code/after (.hashCode MyRecord))