Transient rrb-vectors can return incorrect value for nth and thus also (transient-vec idx)

Description

Reported by Max Deineko on Clojurians Slack, and I believe earlier by another person who noticed it, but I neglected to create an issue then.

To reproduce with core.rrb-vector version 0.1.2 (and likely also with earlier versions):

```
(require '[clojure.core.rrb-vector :as fv])

(let [v (vector 1 2 3)
t (transient v)]
[(v 1) (t 1)])
;; => [2 2]

(let [v (fv/vector 1 2 3)
t (transient v)]
[(v 1) (t 1)])
;; => [2 nil]. WRONG: expect to get back [2 2]
```

Environment

None

Activity

Show:
Andy Fingerhut
December 27, 2020, 2:25 AM

In the several commits leading up to this one: I have committed new automated test cases that fail without the fixes that were committed in the few commits that follow. I can look into releasing a new version of the library as long as the official build box also passes all tests, as I expect it will.

Assignee

Unassigned

Reporter

Andy Fingerhut

Labels

None

Approval

None

Patch

None

Priority

Major