Split processing of impl methods in two phases (part 1). (#4890)

## Description

This PR mainly refactors existing code around type checking and
processing of functions.

[Split type checking and namespace insertion for parameters and type
parameters](327deace24)

[Split processing of functions in two
phases.](e3cf148f3f)

I've split this up from the rest of the PR for fixing impl methods
calling to make it easier to review (also made it easier for me to find
and fix some regressions).

I also threw in another round of clippy fixes that my Rust toolchain was
complaining about.

## 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).
- [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.
This commit is contained in:
João Matos 2023-08-07 23:40:09 +01:00 committed by GitHub
parent b6c95b5de7
commit f4b155f337
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 213 additions and 115 deletions

View file

@ -397,7 +397,7 @@ pub enum ConvertInputError {
WitnessPredicateMismatch,
}
const EXAMPLES: &str = r#"EXAMPLES:
const EXAMPLES: &str = r"EXAMPLES:
# An example constructing a `create` transaction.
forc tx create \
--bytecode ./my-contract/out/debug/my-contract.bin \
@ -453,7 +453,7 @@ const EXAMPLES: &str = r#"EXAMPLES:
output contract-created \
--contract-id 0xCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC \
--state-root 0x0000000000000000000000000000000000000000000000000000000000000000
"#;
";
impl ParseError {
/// Print the error with clap's fancy formatting.