* Fix issue where function bodies were not being monomorphized.
* Implement part of generic impl self.
* Remove print statements.
* WIP
* Clippy warnings.
* Create a CompilerWarning to alert users when they have used a type parameter that is not in upper snake case form.
* Prep for change to how type ascriptions are used.
* Implement custom hash type.
* Fix non-deterministic bug.
* documentation
* Introduce types into Custom type.
* Make distinction between type params and type args in parser. Remove stale implementation of generic traits and generic supertraits.
* WIP
* Actually use type ascriptions.
* update
* Add actual TypeArguments.
* Have function application use TypeArgument.
* Improve how types are unified for structs.
* Evaluate type ascriptions recursively.
* Fix broken component.
* Done for structs, minus some edge cases.
* Fix type ascription usage.
* Fix bug with how enums are sized.
* Generic impl selfs works for enums.
* Turbofish works.
* fix bug
* Revert changes to lock file.
* Fix IR test cases.
* Fix bug.
* Tidy up test case.
* PR feedback.
* Add `kebab_to_snake_case` function to `forc-util` for dependency names
* Add support for `package` field under `dependencies`
This allows for the dependency name to differ from the dependency's
package name.
Closes#977.
* Add test for forc's dependency `package` field support
* Ensure that pinned package names match their associated manifest
* Update forc lock files of tests that depend on std
It is no longer valid for packages to contain a manifest with a name
that does not match the name of the pinned package within the lock file.
As a result, the lock files of these tests have been invalidated and
regenerated.
* Update context_testing_contract test
* Update caller_context_test
* Fix some minor documenation nits
* Move forc's util and pkg related code into `forc-util`, `forc-pkg`
This makes a start on #863 by refactoring the "package" handling code
into a `forc-pkg` crate. This new crate is solely responsible for
building, fetching, locking and updating of forc packages.
`forc-pkg` pulls in around 170 dependencies altogether, as opposed to
`forc`'s current ~460. This should be useful for downstream crates that
may want to depend on `forc` without all the bloat of the CLI tooling,
explorer, etc. The `sway-lsp` crate comes to mind.
To achieve this, some of forc's utility functionality has been moved
into `forc-util` so that it may be shared between `forc-pkg` and `forc`
itself.
* Address some clippy nits
* Update tests for parsing the default manifest and test manifest strings
* Fix dependency order in forc-pkg Cargo.toml
* Improve `forc-pkg`, `forc-util` manifest descriptions
Also tweaks the version declarations for forc-pkg dependencies.
* Specify full version for sway deps to be publish-friendly
* Specify full versions for `forc-*` deps ready for publishing