| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Optionally print IR metadata block (#7684) ## Description This PR makes printing of the IR metadata block optional. For IR analysis, in most of the cases, the printed IR just introduces clutter. It is now not printed by default. To print it, `print-md` directive must be added to the `--ir` CLI argument (or `--print-ir` in E2E tests). E.g.: ``` --ir all modified print-md --if final print-md ``` IR metadata is removed from almost all the snapshots, except the two that use the whole `sway-lib-std`. Seeing changes in metadata when changing `std` code is still useful. The `filter-fn` option in snapshot tests was previously relying on the first `!0` as an end of the printed IR step. This is now changed to checking for a `}` in at the beginning of a line. ## Breaking Change Strictly seen, this is a breaking change, in case someone prints IR and relies on having metadata printed. ## Checklist - [ ] 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). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [ ] 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. | 1 个月前 | |
Removing verify-ir from the CLI (#7672) ## Description This PR removes "verify-ir" from the CLI, because we now run verify after each optimization pass. The performance impact seems to be minimal and it is well worthy the extra security it brings. This brought to attention a problem that the pass "arg-demotion" had with blocks with "never" as arguments. A better fix will be pushed later, but for now, the pass does not generate a miscompilation anymore. Otehr smal fixes were "filter-fn" not working with contracts, and the IR printer not correctly printings storage key address with 64 characters when they start with zero. ## 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. | 1 个月前 | |
Larger clippy::pedantic and code quality pass on whole repo (#5945) ## Description There's still a ton more to do but going to open this to get merged to avoid conflicts. We can possibly add in some of these rules into CI in a future PR. ## Checklist - [ ] I have linked to any relevant issues. - [ ] 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). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] I have added (or requested a maintainer to add) the necessary `Breaking*` or `New Feature` labels where relevant. - [ ] 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). - [ ] I have requested a review from the relevant team or maintainers. | 2 年前 | |
Remove `forc json-abi` because it's not very useful on its own (#2580) | 3 年前 | |
refactor: better error formatting for `ForcResult` (#4460) ## Description closes #4461. We introduced `ForcResult` in #4455. While implementing it I took a look at the cargo's design and saw that they also have `CargoCliResult` which did not make a lot of sense then but it looks like without that piece we cannot format the error nicely because of rust's orphan rule. This PR introduces `ForcCliResult` which enables us to return nice and clean errors. | 3 年前 |