Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong DCA warning while using struct method defined in impl self. #4328

Closed
esdrubal opened this issue Mar 23, 2023 · 0 comments · Fixed by #4337
Closed

Wrong DCA warning while using struct method defined in impl self. #4328

esdrubal opened this issue Mar 23, 2023 · 0 comments · Fixed by #4337
Assignees
Labels
compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen DCA Everything to do with Dead Code Analysis

Comments

@esdrubal
Copy link
Contributor

While compiling the following:

struct MyStruct1 {}

impl MyStruct1 {
    fn foo() {}
}

fn main() {
    MyStruct1::foo();
}

We are getting this DCA warnings:

warning
 --> /home/marcos/Documents/dev/sway/test/src/e2e_vm_tests/test_programs/should_pass/dca/impl_self/src/main.sw:3:8
  |
1 | 
2 | 
3 | struct MyStruct1 {}
  |        --------- This struct is never used.

In rust there are no warnings emitted, as shown in this playground.

The current DCA graph to the example is as follows:
bug3

@esdrubal esdrubal added compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen DCA Everything to do with Dead Code Analysis labels Mar 23, 2023
@esdrubal esdrubal self-assigned this Mar 23, 2023
esdrubal added a commit that referenced this issue Mar 24, 2023
Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method defined in an impl self.

Closes #4283
Closes #4328
esdrubal added a commit that referenced this issue Mar 24, 2023
Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method defined in an impl self.

Closes #4283
Closes #4328
esdrubal added a commit that referenced this issue Mar 24, 2023
Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method defined in an impl self.

Closes #4283
Closes #4328
esdrubal added a commit that referenced this issue Mar 28, 2023
Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method defined in an impl self.

Closes #4283
Closes #4328
esdrubal added a commit that referenced this issue Apr 10, 2023
Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method defined in an impl self.

Closes #4283
Closes #4328
esdrubal added a commit that referenced this issue Apr 19, 2023
Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method defined in an impl self.

Closes #4283
Closes #4328
IGI-111 pushed a commit that referenced this issue Apr 24, 2023
## Description

Adds support for aliases in DCA.

Fixes #4328 where a DCA warning was emmited while using struct method
defined in an impl self.

Closes #4283
Closes #4328

## Checklist

- [x] I have linked to any relevant issues.
- [x] I have commented my code, particularly in hard-to-understand
areas.
- [ ] I have updated the documentation where relevant (API docs, the
reference, and the Sway book).
- [x] I have added tests that prove my fix is effective or that my
feature works.
- [x] I have added (or requested a maintainer to add) the necessary
`Breaking*` or `New Feature` labels where relevant.
- [x] I have done my best to ensure that my PR adheres to [the Fuel Labs
Code Review
Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md).
- [x] I have requested a review from the relevant team or maintainers.

---------

Co-authored-by: Sophie Dankel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen DCA Everything to do with Dead Code Analysis
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant