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

User defined CONTRACT_ID configurable creates internal compiler error on forc test #6137

Open
bitzoic opened this issue Jun 17, 2024 · 0 comments
Labels
bug Something isn't working compiler General compiler. Should eventually become more specific as the issue is triaged

Comments

@bitzoic
Copy link
Member

bitzoic commented Jun 17, 2024

If a user-defined configurable has the name CONTRACT_ID, the compiler will crash when running tests. The variable name CONTRACT_ID should be explicitly disallowed.

Minimal Repro:

contract;

configurable {
    CONTRACT_ID: ContractId = ContractId::zero(),
}

Run forc test.

This issue does not get caught on forc build.

Tested with forc v0.60.0

@bitzoic bitzoic added bug Something isn't working compiler General compiler. Should eventually become more specific as the issue is triaged labels Jun 17, 2024
@bitzoic bitzoic changed the title User defined CONTRACT_ID as configurable creates internal compiler error on forc test User defined CONTRACT_ID configurable creates internal compiler error on forc test Jun 17, 2024
IGI-111 added a commit that referenced this issue Jun 25, 2024
…rom `CONTRACT_ID` to `MY_CONTRACT_ID` (#6167)

## Description

As described in #6137, the
`configurables_in_contract` test has a `ContractId` defined as
`CONTRACT_ID` in the configurable block. If `forc test` were to be run
on the sdk-harness, it would fail to compile.

Until the compiler explicitly disallows `CONTRACT_ID` in a configurable
block, this configurable has been changed to `MY_CONTRACT_ID`.

## Checklist

- [x] I have linked to any relevant issues.
- [x] I have commented my code, particularly in hard-to-understand
areas.
- [x] I have updated the documentation where relevant (API docs, the
reference, and the Sway book).
- [ ] If my change requires substantial documentation changes, I have
[requested support from the DevRel
team](https://github.com/FuelLabs/devrel-requests/issues/new/choose)
- [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: IGI-111 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compiler General compiler. Should eventually become more specific as the issue is triaged
Projects
None yet
Development

No branches or pull requests

1 participant