[PR #1337] [MERGED] Vendor paguro's RrbTree, fix an int overflow breaking large Lists #1026

Closed
opened 2025-12-30 01:28:21 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/apple/pkl/pull/1337
Author: @HT154
Created: 12/3/2025
Status: Merged
Merged: 12/3/2025
Merged by: @HT154

Base: mainHead: vendor-rrbtree


📝 Commits (2)

  • e2b8b71 Vendor paguro's RrbTree, fix an int overflow breaking large Lists
  • 1dad669 Address review feedback

📊 Changes

8 files changed (+1983 additions, -11 deletions)

View changed files

📝 pkl-core/pkl-core.gradle.kts (+6 -0)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmList.java (+3 -3)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmMap.java (+4 -4)
📝 pkl-core/src/main/java/org/pkl/core/runtime/VmSet.java (+4 -4)
pkl-core/src/main/java/org/pkl/core/util/paguro/RrbTree.java (+1934 -0)
pkl-core/src/main/java/org/pkl/core/util/paguro/package-info.java (+30 -0)
📝 pkl-core/src/test/files/LanguageSnippetTests/input/api/list.pkl (+1 -0)
📝 pkl-core/src/test/files/LanguageSnippetTests/output/api/list.pcf (+1 -0)

📄 Description

Paguro is unmaintained, so in lieu of replacing it entirely (which we'd like to do eventually) this PR vendors just the part of it that we need to fix the bug.

Paguro contains some code that is EPL 1.0-licensed (originally from Clojure) and some that is Apache 2.0 licensed. The RrbTree class I've vendored here falls under the Apache 2.0 license.

Supersedes #1336


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/apple/pkl/pull/1337 **Author:** [@HT154](https://github.com/HT154) **Created:** 12/3/2025 **Status:** ✅ Merged **Merged:** 12/3/2025 **Merged by:** [@HT154](https://github.com/HT154) **Base:** `main` ← **Head:** `vendor-rrbtree` --- ### 📝 Commits (2) - [`e2b8b71`](https://github.com/apple/pkl/commit/e2b8b71329586eaa8eb74a5b50939e249dc980bb) Vendor paguro's `RrbTree`, fix an int overflow breaking large `List`s - [`1dad669`](https://github.com/apple/pkl/commit/1dad669ae4906d5f495d86b169aea046cf7e177c) Address review feedback ### 📊 Changes **8 files changed** (+1983 additions, -11 deletions) <details> <summary>View changed files</summary> 📝 `pkl-core/pkl-core.gradle.kts` (+6 -0) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmList.java` (+3 -3) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmMap.java` (+4 -4) 📝 `pkl-core/src/main/java/org/pkl/core/runtime/VmSet.java` (+4 -4) ➕ `pkl-core/src/main/java/org/pkl/core/util/paguro/RrbTree.java` (+1934 -0) ➕ `pkl-core/src/main/java/org/pkl/core/util/paguro/package-info.java` (+30 -0) 📝 `pkl-core/src/test/files/LanguageSnippetTests/input/api/list.pkl` (+1 -0) 📝 `pkl-core/src/test/files/LanguageSnippetTests/output/api/list.pcf` (+1 -0) </details> ### 📄 Description Paguro is unmaintained, so in lieu of replacing it entirely (which we'd like to do eventually) this PR vendors just the part of it that we need to fix the bug. Paguro contains some code that is EPL 1.0-licensed (originally from Clojure) and some that is Apache 2.0 licensed. The `RrbTree` class I've vendored here falls under the Apache 2.0 license. Supersedes #1336 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-30 01:28:21 +01:00
adam closed this issue 2025-12-30 01:28:21 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#1026