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

chore: defer reporting of errors until after compilation and optimization is finished #2659

Merged
merged 1 commit into from
Sep 12, 2023

Conversation

TomAFrench
Copy link
Member

@TomAFrench TomAFrench commented Sep 12, 2023

Description

Problem*

Progress towards #2613

Summary*

This PR reworks compile_contracts and compile_package so that they return a CompilationResult<T>. This means that they no longer report their errors/warnings as soon as they can, but delegate this to compile_cmd::run. This is useful for #2613 as we can now construct two vectors of CompilationResult<T> (one for programs, one for contracts) in parallel and then simply iterate through them to print out the warnings/errors safely.

The file manager is leaking again as we need to get report_all_errors to pick up the debug artifacts. This would require us to have a debug artifact for a failed compilation which seems uglier in my mind. We should probably maintain the usage of FileManager for compilation errors and just use DebugArtifact for execution errors.

Documentation

  • This PR requires documentation updates when merged.

    • I will submit a noir-lang/docs PR.
    • I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Base automatically changed from tf/use-debug-artifacts to master September 12, 2023 11:49
@TomAFrench TomAFrench marked this pull request as ready for review September 12, 2023 11:57
@kevaundray kevaundray added this pull request to the merge queue Sep 12, 2023
Merged via the queue into master with commit b80cd40 Sep 12, 2023
17 checks passed
@kevaundray kevaundray deleted the tf/defer-compilation-warnings branch September 12, 2023 12:52
TomAFrench added a commit that referenced this pull request Sep 12, 2023
* master:
  chore: defer reporting of errors until after compilation and optimization is finished (#2659)
TomAFrench added a commit that referenced this pull request Sep 12, 2023
* master:
  chore: defer reporting of errors until after compilation and optimization is finished (#2659)
  fix: fix compilation using `aztec` feature flag (#2663)
  fix: remove duplicate file extension in stack trace (#2655)
TomAFrench added a commit that referenced this pull request Sep 13, 2023
* master:
  chore: fix npm token for abi_wasm publishing (#2633)
  chore(ci): switch to using `Swatinem/rust-cache` action (#2671)
  feat: compile circuits and query circuit sizes in parallel for `nargo info` (#2665)
  chore(ci): use mock backend for all tests (#2670)
  chore!: Restrict packages to contain at most a single contract (#2668)
  chore: Embed a file map into `CompiledProgram`/`CompiledContract` (#2666)
  feat: Compile workspace packages in parallel (#2612)
  fix(wasm): Avoid requesting stdlib paths from the source-resolver (#2650)
  chore: add abi_wasm to release-please (#2664)
  chore: refactor `execute_cmd` (#2656)
  chore: defer reporting of errors until after compilation and optimization is finished (#2659)
  fix: fix compilation using `aztec` feature flag (#2663)
  fix: remove duplicate file extension in stack trace (#2655)
  chore: use `DebugArtifact`s instead of `FileManager` to report errors (#2641)
  chore: Fix clippy warnings for rust version 1.67.0 (#2661)
  fix(wasm): Apply transformation map to circuit debug information in `noir_wasm` (#2635)
  fix: Fix `update_acir` deleting all debug information (#2643)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants