FuelLabs/sway

DCA improvements

Open

#6,007 opened on May 14, 2024

View on GitHub
 (2 comments) (0 reactions) (1 assignee)Rust (61,702 stars) (5,421 forks)batch import
DCAgood first issue

Description

I think there is room for improvement on our DCA. For example, the screenshot below shows how rustc considers: A, T and f to be dead, because no "live code" actually uses them.

image

We, on the other hand, consider the mere presence of impls enough for them to not be dead.

image

Remove the impl and we now correctly mark this as dead. But the error message is not as clear as rustc's, which says the struct is never "constructed".

image image

This is all done at sway-core/src/control_flow_analysis/dead_code_analysis.rs and seems a candidate for "good first issue".

Contributor guide