D2 is a strongly-typed, statically-typed, (mostly) inferred-type compiled language.

compiler compiler-construction compiler-optimization language optimizers programming-language
4 Open Issues Need Help Last updated: Sep 5, 2025

Open Issues Need Help

View All on GitHub
Upgrade to Truth 1.4.0 about 2 months ago

AI Summary: This issue requests an upgrade of the Google Truth testing library to version 1.4.0. A key change in this version is that the `Truth8` artifact, previously used for Java 8 compatibility, has been folded into the main `Truth` library, meaning projects should now use the singular `Truth` dependency.

Complexity: 3/5
good first issue build testing

D2 is a strongly-typed, statically-typed, (mostly) inferred-type compiled language.

Java
#compiler#compiler-construction#compiler-optimization#language#optimizers#programming-language

AI Summary: This issue proposes refactoring existing code by replacing usages of the `@AutoValue` annotation with Java records. The task is categorized as a cleanup effort and is considered a good first issue, suggesting a straightforward refactoring task.

Complexity: 1/5
good first issue cleanup

D2 is a strongly-typed, statically-typed, (mostly) inferred-type compiled language.

Java
#compiler#compiler-construction#compiler-optimization#language#optimizers#programming-language

AI Summary: This issue proposes refactoring the `d2lang` repository by replacing instances where unique strings (likely identifiers or labels, often generated using incrementing `id` variables as indicated by `id++` patterns) are created manually. The goal is to standardize this process by utilizing a dedicated utility function, `Labels.nextLabel`, to improve code consistency and maintainability.

Complexity: 1/5
good first issue cleanup

D2 is a strongly-typed, statically-typed, (mostly) inferred-type compiled language.

Java
#compiler#compiler-construction#compiler-optimization#language#optimizers#programming-language
Move Labels to common about 2 months ago

AI Summary: The `Labels.java` class, currently located within the `codegen` package, needs to be moved to a more general or common package. This refactoring is intended because its functionality is applicable throughout the project, not exclusively for code generation, making it a cleanup task suitable for new contributors.

Complexity: 1/5
good first issue cleanup

D2 is a strongly-typed, statically-typed, (mostly) inferred-type compiled language.

Java
#compiler#compiler-construction#compiler-optimization#language#optimizers#programming-language