v0.43.0
What's Changed
- Catch compiler panics in e2e tests by @anton-trunov in #4776
- Fix: const_eval bugs by @xunilrj in #4761
- Fixes missing replace_decl for variable declarations. by @esdrubal in #4777
- Fix weird formatting by @SwayStar123 in #4785
- Sway Ref: Style Guide single use variables by @Braqzen in #4664
- constcombine pass optimizing unary and binary operators by @xunilrj in #4780
- Improve error message when contract calls its own method by @anton-trunov in #4791
- stdlib: remove
decompose
function foru256
by @anton-trunov in #4802 - Improve flag library functionality by @SwayStar123 in #4793
- Add documentation for LSP with different IDEs by @sdankel in #4801
- Sway Ref: Style guide unused variables by @Braqzen in #4660
- chore: bump rust version to 1.71 by @kayagokalp in #4805
- Collect storage keyword and assign type_def to storage fields by @JoshuaBatty in #4810
- Use relatives jumps by @vaivaswatha in #4804
- Delete experimental.sw by @SwayStar123 in #4811
- Update Sway Book and ownership example to use ownership library and src-5 standard by @bitzoic in #4751
- chore: add forc-pkg codeowner by @kayagokalp in #4808
- Give more helpful error when shadowing constants by @ironcev in #4819
- Remove dependency on external library for Ownership example by @bitzoic in #4832
- ci: bump nightly rust version to 2023-04-01 by @kayagokalp in #4825
- Fixes generic trait methods not found. by @esdrubal in #4807
- Show compiler error messages for unit tests that do not compile by @anton-trunov in #4840
- Numeric type inference by @IGI-111 in #4829
- Don't force inliner in case of ref type function args by @vaivaswatha in #4823
- Collect module kind span for ParseModule by @JoshuaBatty in #4822
- Make ABI impl methods part of contract interface by @anton-trunov in #4843
- feat: forc-deploy suggests creating a new wallet if the wallet is missing by @kayagokalp in #4827
- Correct usage of terms "ABI" and "JSON ABI" by @AlicanC in #4847
- Fix clippy warnings introduced recently. by @tritao in #4853
- Update fuel-core to 0.19 by @Dentosal in #4718
- Fix flaky lsp test: publish_diagnostics_dead_code_warning by @JoshuaBatty in #4856
- assign correct semantics to struct expression name accounting for
Self
by @JoshuaBatty in #4860 - Assign correct type_defs to struct field and function param names by @JoshuaBatty in #4858
- Use the
Self
annotation in implementation blocks by @bitzoic in #4871 - chore: remove unused keys from examples under sway repo reference by @gr00vytvniks in #4854
- Update
CallPath<T>
impl ofDisplay
by @andrewvious in #4873 - SuperABIs for ABIs by @anton-trunov in #4272
- Custom on_enter LSP method by @sdankel in #4876
- Refactor compiler error handling by @IGI-111 in #4878
- Support for u256 constants by @xunilrj in #4887
- Another round of fixing warnings. by @tritao in #4888
- refactor did_* lsp notifications to log errors in server module by @JoshuaBatty in #4894
- More error handling refactoring by @IGI-111 in #4895
- Support multi-span errors and warnings by @ironcev in #4892
- Fixes replace_decls issue with nested and multiple types. by @esdrubal in #4889
- Workaround: Do not inline functions that have pointer args by @vaivaswatha in #4899
- Bump to v0.43.0 by @IGI-111 in #4897
Breaking changes
- The
std::flags
module has been improved in a non compatible fashion. - Improvements to constant folding break ABI compatibility
- Numeric conversions are no longer implicit, converting from one integer type to the other has to be explicitly done using the newly introduced methods such as
as_u8
New Contributors
- @ironcev made their first contribution in #4819
- @andrewvious made their first contribution in #4873
Full Changelog: v0.42.1...v0.43.0