Open
Description
While building Circom from source, several "dead code" warnings were identified in the constraint generation module. These warnings indicate multiple struct fields that are defined but never read in the codebase.
Specific Locations
In constraint_generation/src/execution_data/executed_bus.rs
:
-
BusConnexion
struct:full_name: String
dag_offset: usize
dag_jump: usize
-
ExecutedBus
struct:report_name: String
bus_id: Option<usize>
In constraint_generation/src/execution_data/type_definitions.rs
:
-
BusData
struct:name: String
-
AccessingInformation
struct:tag_access: Option<String>
Questions for Maintainers
- Are these fields intentionally kept for future implementation?
- If not, would removing these unused fields be a welcome contribution?
- If the fields should be retained, would you prefer:
- Adding documentation explaining their intended future use?
- Adding
#[allow(dead_code)]
annotations? - Implementing functionality that utilizes these fields?
Proposed Solutions
I'm willing to contribute a PR with one of these approaches:
- Remove unused fields if they're no longer needed
- Add proper documentation if they're for future use
- Add
#[allow(dead_code)]
annotations if preferred - Implement missing functionality if there's a specific intended use
Additional Context
These warnings appear during the build process with:
cargo build --release
cargo install --path circom
Metadata
Metadata
Assignees
Labels
No labels