NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Chenhao Zuo

Developer

Chenhao Zuo

nero@meta.com

441 commits~3 files/commit

Performance

YoY:+385%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthSep'25363 performance
Growth Trend↑52%vs prior period
Avg Files/Commit3files per commit
Active Days139of 455 days
Top Repobuck2441 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

52%Productive TimeGrowth 92% + Fixes 8%
38%Maintenance Time
10%Wasted Time
How it works

Methodology

Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.

Relationship to Growth / Maintenance / Fixes

The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.

Proposed API Endpoint

Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:

POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json

Request:
{
  "startTime": "2025-01-01T00:00:00Z",
  "endTime": "2025-12-31T23:59:59Z",
  "bucketSize": "BUCKET_SIZE_MONTH",
  "groupBy": ["repository_id" | "deliverer_email"]
}

Response:
{
  "productivePct": 74,
  "maintenancePct": 18,
  "wastedPct": 8,
  "buckets": [
    {
      "bucketStart": "2025-01-01T00:00:00Z",
      "productive": 4.2,
      "maintenance": 1.8,
      "wasted": 0.6
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
8479b73This commit **refactors** the build configuration for the **`starlark-rust/benchmark_memory`** module by moving the `libc` crate dependency into a Linux-specific `select` block within the `buck_rust_binary` rule. This **maintenance** change addresses an **unused dependency warning** from `arc rust-check` on non-Linux platforms, as `libc` is only utilized for `malloc_trim` under `#[cfg(target_os = "linux")]`. By making the dependency conditional, it improves build hygiene and ensures that `libc` is only linked when functionally required, preventing unnecessary dependencies on other operating systems.Mar 271maint
0d9e3a8This commit performs **maintenance refactoring** to eliminate **dead code warnings** within the **Buck2 build system** by explicitly marking Linux-specific code and dependencies. It gates `InvocationRecorder::start_time()` in **`buck2_client_ctx`** with `#[cfg(target_os = "linux")]` and adds `#[cfg_attr(not(target_os = "linux"), allow(dead_code))]` to `ValidatedCommand::network_access` in **`buck2_forkserver`**, as these elements are only utilized in Linux-only code paths. Furthermore, the `nix` dependency in `buck2_forkserver/BUCK` is now conditionally included only for Linux builds. This change improves code hygiene and reduces unnecessary compilation and dependencies on non-Linux platforms.Mar 273maint
7d05303This commit **fixes a naming issue** within the **configuration system** where **exec dependency configurations** were incorrectly labeled as `cfg:<empty>` after modifier application. The `cfg_name` function in `prelude/cfg/modifier/name.bzl` is updated to use the **exec platform label** as the configuration name, prepended with `exec_cfg:`, providing a clear and consistent identifier. This **maintenance fix** ensures that exec dependency configurations are properly named and identifiable, improving debugging and build graph clarity. A new test case has been added to verify this correct naming behavior.Mar 263grow
778ffadThis commit **removes** a "flag cleaned" configuration previously associated with the **`exec` modifier**. This is a **maintenance** and **cleanup** task, as the configuration has become redundant. A recent update or "bump" to the codebase has already incorporated the necessary changes, making this specific configuration obsolete. The removal simplifies the configuration logic for the `exec` modifier, streamlining the codebase by eliminating unnecessary settings.Mar 252–
9c4f85bThis commit introduces a **new capability** to the **Starlark interpreter's heap management** by making `FrozenHeapName` hashable, which is crucial for serialization and deserialization processes. It achieves this by replacing the generic `Any` type with a new object-safe `UserHeapName` trait for user-defined heap names within `FrozenHeapName`. The `UserHeapName` trait provides a `dyn_hash` method, effectively wrapping the non-object-safe `Hash` trait, with a blanket implementation ensuring compatibility for existing types. This **refactoring** primarily impacts the `starlark::values::layout::heap` module, allowing `FrozenHeapName` to now implement `Hash`, `PartialEq`, and `Eq`, and directly benefits components like `StarlarkEvalKind` by providing a stable hashing mechanism for its internal state.Mar 244grow
c7ff65dThis commit **refactors** the **Starlark heap management** within the `starlark` crate by feature-gating the unnamed `freeze()` and `into_ref()` APIs behind the `pagable` feature flag. This **maintenance** change enforces that all frozen heaps in Buck2 must be created with a name, completing a migration to **named heaps**. When `pagable` is enabled, the `freeze` function in `starlark-rust/starlark/src/environment/modules.rs` and `into_ref` in `starlark-rust/starlark/src/values/layout/heap/heap_type.rs` are hidden, requiring the use of their named counterparts. Documentation and examples in `starlark-rust/starlark/src/lib.rs` and `starlark-rust/starlark/src/values/owned.rs` are updated to reflect this new requirement. External consumers of the `starlark` crate not using the `pagable` feature are **unaffected**, as the original APIs remain available to them.Mar 244maint
f16e2a4This commit **refactors** the **Starlark compiler's def-inlining optimization** by assigning a specific name to the `local_as_value` static cache heap. The `local_as_value` function is updated to use `singleton_heap_name!()`, and the `FrozenHeapName` enum is extended with a `Singleton` variant to categorize such heaps. This **maintenance** change improves the clarity and manageability of singleton heaps within the compiler's **heap management system**, specifically for the `local_as_value` cache, without altering its functional behavior.Mar 242maint
f7fd7fcThis commit **refactors** the internal testing infrastructure by migrating various test callers in both the **`starlark`** and **`buck2`** crates to use `freeze_named` and `into_ref_named` with dedicated, private testing sentinels. Specifically, `StarlarkTestHeapName` is introduced for `starlark`'s internal tests, and `Buck2TestHeapName` for `buck2`'s shared test crates, defined in `buck2_interpreter::testing`. This **improves the encapsulation of test-only concerns**, preventing test-specific heap naming from polluting the public `FrozenHeapName` API while still allowing distinct test sentinel types for different parts of the codebase. The change primarily affects **test helper functions and test cases** across multiple modules, enhancing the maintainability and clarity of the testing setup.Mar 2416maint
acd92c5This commit **enhances the observability** of the **Starlark CLI tool** by assigning meaningful names to its memory heaps. It configures the heaps within `eval.rs` and `bazel.rs` to utilize `FrozenHeapName::User`, incorporating the file path currently being evaluated. This **maintenance improvement** provides clearer identification of memory allocations during Starlark script execution, significantly aiding in profiling and debugging efforts for the CLI tool's operations.Mar 244–
43b7cb2This commit **refactors** the **Starlark environment methods** by conditionally hiding the `MethodsStatic::methods()` function behind a `#[cfg(not(starlark_require_heap_names))]` attribute. This **maintenance** change, coupled with an update to the `starlark-rust/starlark/BUCK` file, ensures that the `starlark_require_heap_names` flag is set when the `pagable` feature is enabled in Buck builds. The primary goal is to **prevent the introduction of new unnamed methods heaps** in specific build environments by making the unnamed API a compile-time error, thereby enforcing a stricter naming convention. While the unnamed API remains available for OSS, non-Buck, and Cargo builds, this **build system enforcement** ensures adherence to architectural constraints in environments where the `pagable` feature is active.Mar 243maint
a3196c0This commit **refactors** the **Buck2 interpreter's `host_info()` built-in function** by assigning a specific name to its singleton heap. Previously unnamed, this heap now explicitly identifies the memory region holding the frozen OS, architecture, and Xcode version struct returned by `host_info()`. This **maintenance improvement** enhances internal clarity and consistency in the **interpreter's memory management** for built-in values. Specifically, it affects how the **host information struct** is managed as a singleton, providing better internal identification without altering its functional behavior or user-facing output.Mar 241maint
aa7ed9aThis commit **refactors** the **Starlark environment's module freezing mechanism** by explicitly naming the heap used by the `FrozenModule::from_globals` function. Specifically, it updates the `starlark-rust/starlark/src/environment/modules.rs` file to assign `FrozenHeapName::Singleton(singleton_heap_name!())` to the heap associated with `from_globals`. This **maintenance** change improves internal consistency and clarity for heap identification during module freezing. The **downstream impact is minimal**, as `FrozenModule::from_globals` is currently only called in a single test within Buck2.Mar 241maint
ac3a77aThis commit **enhances the `benchmark_memory` tool** by assigning a specific name to its heap. It modifies the `main` function within `starlark-rust/benchmark_memory/src/main.rs` to utilize `singleton_heap_name!()`, ensuring the tool's memory allocation is clearly identified. This is a **maintenance improvement** for the standalone memory benchmarking utility, which operates with a single freeze per process. By explicitly naming the heap, it improves the **clarity and traceability** of memory usage for this specific benchmarking component.Mar 241grow
fcc412fThis commit introduces a **new capability** to the **Starlark runtime's heap management** by defining the `SingletonFrozenHeapName` type and its associated `singleton_heap_name!()` macro. The `SingletonFrozenHeapName` acts as a **type-safe, unique, and cross-process stable identifier** for singleton heaps, derived from their source code location (`file:line:col`). This enhancement improves the robustness and clarity of identifying specific heap objects within the `starlark` crate's `values` module. The new type is exported for public use, facilitating more reliable management and referencing of these critical heap elements.Mar 242grow
d4e21d3This commit **refactors** the **Starlark interpreter's global heap management** within Buck2 by introducing explicit naming for all global heaps. It extends the `FrozenHeapName` enum with a `Global` variant and modifies `GlobalsBuilder` and `GlobalsStatic` in the `starlark-rust` library to support assigning these names. Specifically, it ensures that inner cache heaps created by `#[starlark_module]`, single function heaps from `#[internal_provider]`, and the main `GlobalInterpreterState` composition heap are all given descriptive names. This **enhancement** improves **observability and debugging** by allowing better identification and tracking of memory usage for different Starlark components within Buck2.Mar 244maint
3c65e69This commit **adds comprehensive documentation** for the **Persistent Workers** feature, specifically targeting **Rule Authors**. It introduces a new page, `persistent_workers.md`, detailing worker identity, how to define and use workers via `WorkerInfo` and `WorkerRunInfo`, and the recommended pattern of sharing workers through toolchains. The documentation also covers supported protocols like local gRPC and remote Bazel, along with various configuration options. This **new documentation** significantly improves the clarity and usability of this advanced build system capability for rule authors. The website's sidebar configuration is updated to include this valuable new resource.Mar 202maint
3517dbbThis commit **adds new documentation** to `docs/rule_authors/test_execution.md`, providing a comprehensive explanation of how **Buck2 caches test listings**. It details the operational specifics of the caching mechanism, including local upload behavior, methods for opting out, and relevant configuration options. This **documentation update** clarifies an important aspect of **test execution** for **rule authors**, enabling them to better understand and manage their build processes. The change improves the overall clarity and usability of the **Buck2 documentation**.Mar 201maint
bdc2bfbThis commit performs a **system-wide refactoring** by **migrating all remaining call sites** from `RES.methods(f)` to `RES.methods_named::<Self::Canonical>(f)`. This change ensures that every `Methods` heap within the Starlark runtime now has a name derived from its associated `StarlarkValue`'s `Canonical` type. The **mechanical migration** affects numerous modules across `starlark-rust`, various `buck2 app crates` (e.g., `buck2_action_impl`, `buck2_build_api`, `buck2_bxl`), and the `provider derive macro`. This is an **internal change** with **no behavioral impact**, primarily improving internal consistency and potentially aiding future introspection or debugging of Starlark method resolution.Mar 2072maint
a4adf29This commit performs a significant **refactoring** of the **Starlark runtime's method registration system**, specifically for core value types like dictionaries, lists, sets, and strings. It **removes standalone helper functions** such as `dict_methods()`, `list_methods()`, `set_methods()`, and `str_methods()`, inlining their method registration logic directly into each type's respective `get_methods()` implementation. This change simplifies the internal architecture of the **`starlark-rust/starlark/src/values/types` module**, making the method setup more cohesive and directly associated with the types themselves. The **`known_methods.rs` module** is updated to reflect this, now calling the type-specific `get_methods()` functions directly, resulting in improved code organization and reduced indirection without any functional changes to the Starlark language's behavior.Mar 205maint
f0ef00dThis commit introduces a **new capability** for uniquely naming **Starlark method heaps**, essential for pagable serialization and deduplication across serialization boundaries. It defines `MethodFrozenHeapName` and extends `FrozenHeapName` with a `Method` variant to identify these heaps. The `MethodsStatic::methods_for_type::<T>()` API is added to derive deterministic heap names from type information, and `MethodsStatic::populate()` now accepts a `name` parameter, which the `#[starlark_module]` macro automatically generates. This **enhancement** ensures that method heaps can be consistently identified and deduplicated, improving the efficiency and correctness of the Starlark runtime's persistence layer, and includes a minor **bug fix** in `buck2_sketches.rs`.Mar 205grow
8479b73Mar 27

This commit **refactors** the build configuration for the **`starlark-rust/benchmark_memory`** module by moving the `libc` crate dependency into a Linux-specific `select` block within the `buck_rust_binary` rule. This **maintenance** change addresses an **unused dependency warning** from `arc rust-check` on non-Linux platforms, as `libc` is only utilized for `malloc_trim` under `#[cfg(target_os = "linux")]`. By making the dependency conditional, it improves build hygiene and ensures that `libc` is only linked when functionally required, preventing unnecessary dependencies on other operating systems.

1 filesmaint
0d9e3a8Mar 27

This commit performs **maintenance refactoring** to eliminate **dead code warnings** within the **Buck2 build system** by explicitly marking Linux-specific code and dependencies. It gates `InvocationRecorder::start_time()` in **`buck2_client_ctx`** with `#[cfg(target_os = "linux")]` and adds `#[cfg_attr(not(target_os = "linux"), allow(dead_code))]` to `ValidatedCommand::network_access` in **`buck2_forkserver`**, as these elements are only utilized in Linux-only code paths. Furthermore, the `nix` dependency in `buck2_forkserver/BUCK` is now conditionally included only for Linux builds. This change improves code hygiene and reduces unnecessary compilation and dependencies on non-Linux platforms.

3 filesmaint
7d05303Mar 26

This commit **fixes a naming issue** within the **configuration system** where **exec dependency configurations** were incorrectly labeled as `cfg:<empty>` after modifier application. The `cfg_name` function in `prelude/cfg/modifier/name.bzl` is updated to use the **exec platform label** as the configuration name, prepended with `exec_cfg:`, providing a clear and consistent identifier. This **maintenance fix** ensures that exec dependency configurations are properly named and identifiable, improving debugging and build graph clarity. A new test case has been added to verify this correct naming behavior.

3 filesgrow
778ffadMar 25

This commit **removes** a "flag cleaned" configuration previously associated with the **`exec` modifier**. This is a **maintenance** and **cleanup** task, as the configuration has become redundant. A recent update or "bump" to the codebase has already incorporated the necessary changes, making this specific configuration obsolete. The removal simplifies the configuration logic for the `exec` modifier, streamlining the codebase by eliminating unnecessary settings.

2 files–
9c4f85bMar 24

This commit introduces a **new capability** to the **Starlark interpreter's heap management** by making `FrozenHeapName` hashable, which is crucial for serialization and deserialization processes. It achieves this by replacing the generic `Any` type with a new object-safe `UserHeapName` trait for user-defined heap names within `FrozenHeapName`. The `UserHeapName` trait provides a `dyn_hash` method, effectively wrapping the non-object-safe `Hash` trait, with a blanket implementation ensuring compatibility for existing types. This **refactoring** primarily impacts the `starlark::values::layout::heap` module, allowing `FrozenHeapName` to now implement `Hash`, `PartialEq`, and `Eq`, and directly benefits components like `StarlarkEvalKind` by providing a stable hashing mechanism for its internal state.

4 filesgrow
c7ff65dMar 24

This commit **refactors** the **Starlark heap management** within the `starlark` crate by feature-gating the unnamed `freeze()` and `into_ref()` APIs behind the `pagable` feature flag. This **maintenance** change enforces that all frozen heaps in Buck2 must be created with a name, completing a migration to **named heaps**. When `pagable` is enabled, the `freeze` function in `starlark-rust/starlark/src/environment/modules.rs` and `into_ref` in `starlark-rust/starlark/src/values/layout/heap/heap_type.rs` are hidden, requiring the use of their named counterparts. Documentation and examples in `starlark-rust/starlark/src/lib.rs` and `starlark-rust/starlark/src/values/owned.rs` are updated to reflect this new requirement. External consumers of the `starlark` crate not using the `pagable` feature are **unaffected**, as the original APIs remain available to them.

4 filesmaint
f16e2a4Mar 24

This commit **refactors** the **Starlark compiler's def-inlining optimization** by assigning a specific name to the `local_as_value` static cache heap. The `local_as_value` function is updated to use `singleton_heap_name!()`, and the `FrozenHeapName` enum is extended with a `Singleton` variant to categorize such heaps. This **maintenance** change improves the clarity and manageability of singleton heaps within the compiler's **heap management system**, specifically for the `local_as_value` cache, without altering its functional behavior.

2 filesmaint
f7fd7fcMar 24

This commit **refactors** the internal testing infrastructure by migrating various test callers in both the **`starlark`** and **`buck2`** crates to use `freeze_named` and `into_ref_named` with dedicated, private testing sentinels. Specifically, `StarlarkTestHeapName` is introduced for `starlark`'s internal tests, and `Buck2TestHeapName` for `buck2`'s shared test crates, defined in `buck2_interpreter::testing`. This **improves the encapsulation of test-only concerns**, preventing test-specific heap naming from polluting the public `FrozenHeapName` API while still allowing distinct test sentinel types for different parts of the codebase. The change primarily affects **test helper functions and test cases** across multiple modules, enhancing the maintainability and clarity of the testing setup.

16 filesmaint
acd92c5Mar 24

This commit **enhances the observability** of the **Starlark CLI tool** by assigning meaningful names to its memory heaps. It configures the heaps within `eval.rs` and `bazel.rs` to utilize `FrozenHeapName::User`, incorporating the file path currently being evaluated. This **maintenance improvement** provides clearer identification of memory allocations during Starlark script execution, significantly aiding in profiling and debugging efforts for the CLI tool's operations.

4 files–
43b7cb2Mar 24

This commit **refactors** the **Starlark environment methods** by conditionally hiding the `MethodsStatic::methods()` function behind a `#[cfg(not(starlark_require_heap_names))]` attribute. This **maintenance** change, coupled with an update to the `starlark-rust/starlark/BUCK` file, ensures that the `starlark_require_heap_names` flag is set when the `pagable` feature is enabled in Buck builds. The primary goal is to **prevent the introduction of new unnamed methods heaps** in specific build environments by making the unnamed API a compile-time error, thereby enforcing a stricter naming convention. While the unnamed API remains available for OSS, non-Buck, and Cargo builds, this **build system enforcement** ensures adherence to architectural constraints in environments where the `pagable` feature is active.

3 filesmaint
a3196c0Mar 24

This commit **refactors** the **Buck2 interpreter's `host_info()` built-in function** by assigning a specific name to its singleton heap. Previously unnamed, this heap now explicitly identifies the memory region holding the frozen OS, architecture, and Xcode version struct returned by `host_info()`. This **maintenance improvement** enhances internal clarity and consistency in the **interpreter's memory management** for built-in values. Specifically, it affects how the **host information struct** is managed as a singleton, providing better internal identification without altering its functional behavior or user-facing output.

1 filesmaint
aa7ed9aMar 24

This commit **refactors** the **Starlark environment's module freezing mechanism** by explicitly naming the heap used by the `FrozenModule::from_globals` function. Specifically, it updates the `starlark-rust/starlark/src/environment/modules.rs` file to assign `FrozenHeapName::Singleton(singleton_heap_name!())` to the heap associated with `from_globals`. This **maintenance** change improves internal consistency and clarity for heap identification during module freezing. The **downstream impact is minimal**, as `FrozenModule::from_globals` is currently only called in a single test within Buck2.

1 filesmaint
ac3a77aMar 24

This commit **enhances the `benchmark_memory` tool** by assigning a specific name to its heap. It modifies the `main` function within `starlark-rust/benchmark_memory/src/main.rs` to utilize `singleton_heap_name!()`, ensuring the tool's memory allocation is clearly identified. This is a **maintenance improvement** for the standalone memory benchmarking utility, which operates with a single freeze per process. By explicitly naming the heap, it improves the **clarity and traceability** of memory usage for this specific benchmarking component.

1 filesgrow
fcc412fMar 24

This commit introduces a **new capability** to the **Starlark runtime's heap management** by defining the `SingletonFrozenHeapName` type and its associated `singleton_heap_name!()` macro. The `SingletonFrozenHeapName` acts as a **type-safe, unique, and cross-process stable identifier** for singleton heaps, derived from their source code location (`file:line:col`). This enhancement improves the robustness and clarity of identifying specific heap objects within the `starlark` crate's `values` module. The new type is exported for public use, facilitating more reliable management and referencing of these critical heap elements.

2 filesgrow
d4e21d3Mar 24

This commit **refactors** the **Starlark interpreter's global heap management** within Buck2 by introducing explicit naming for all global heaps. It extends the `FrozenHeapName` enum with a `Global` variant and modifies `GlobalsBuilder` and `GlobalsStatic` in the `starlark-rust` library to support assigning these names. Specifically, it ensures that inner cache heaps created by `#[starlark_module]`, single function heaps from `#[internal_provider]`, and the main `GlobalInterpreterState` composition heap are all given descriptive names. This **enhancement** improves **observability and debugging** by allowing better identification and tracking of memory usage for different Starlark components within Buck2.

4 filesmaint
3c65e69Mar 20

This commit **adds comprehensive documentation** for the **Persistent Workers** feature, specifically targeting **Rule Authors**. It introduces a new page, `persistent_workers.md`, detailing worker identity, how to define and use workers via `WorkerInfo` and `WorkerRunInfo`, and the recommended pattern of sharing workers through toolchains. The documentation also covers supported protocols like local gRPC and remote Bazel, along with various configuration options. This **new documentation** significantly improves the clarity and usability of this advanced build system capability for rule authors. The website's sidebar configuration is updated to include this valuable new resource.

2 filesmaint
3517dbbMar 20

This commit **adds new documentation** to `docs/rule_authors/test_execution.md`, providing a comprehensive explanation of how **Buck2 caches test listings**. It details the operational specifics of the caching mechanism, including local upload behavior, methods for opting out, and relevant configuration options. This **documentation update** clarifies an important aspect of **test execution** for **rule authors**, enabling them to better understand and manage their build processes. The change improves the overall clarity and usability of the **Buck2 documentation**.

1 filesmaint
bdc2bfbMar 20

This commit performs a **system-wide refactoring** by **migrating all remaining call sites** from `RES.methods(f)` to `RES.methods_named::<Self::Canonical>(f)`. This change ensures that every `Methods` heap within the Starlark runtime now has a name derived from its associated `StarlarkValue`'s `Canonical` type. The **mechanical migration** affects numerous modules across `starlark-rust`, various `buck2 app crates` (e.g., `buck2_action_impl`, `buck2_build_api`, `buck2_bxl`), and the `provider derive macro`. This is an **internal change** with **no behavioral impact**, primarily improving internal consistency and potentially aiding future introspection or debugging of Starlark method resolution.

72 filesmaint
a4adf29Mar 20

This commit performs a significant **refactoring** of the **Starlark runtime's method registration system**, specifically for core value types like dictionaries, lists, sets, and strings. It **removes standalone helper functions** such as `dict_methods()`, `list_methods()`, `set_methods()`, and `str_methods()`, inlining their method registration logic directly into each type's respective `get_methods()` implementation. This change simplifies the internal architecture of the **`starlark-rust/starlark/src/values/types` module**, making the method setup more cohesive and directly associated with the types themselves. The **`known_methods.rs` module** is updated to reflect this, now calling the type-specific `get_methods()` functions directly, resulting in improved code organization and reduced indirection without any functional changes to the Starlark language's behavior.

5 filesmaint
f0ef00dMar 20

This commit introduces a **new capability** for uniquely naming **Starlark method heaps**, essential for pagable serialization and deduplication across serialization boundaries. It defines `MethodFrozenHeapName` and extends `FrozenHeapName` with a `Method` variant to identify these heaps. The `MethodsStatic::methods_for_type::<T>()` API is added to derive deterministic heap names from type information, and `MethodsStatic::populate()` now accepts a `name` parameter, which the `#[starlark_module]` macro automatically generates. This **enhancement** ensures that method heaps can be consistently identified and deduplicated, improving the efficiency and correctness of the Starlark runtime's persistence layer, and includes a minor **bug fix** in `buck2_sketches.rs`.

5 filesgrow

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch