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: use DebugArtifacts instead of FileManager to report errors #2641

Merged
merged 5 commits into from
Sep 12, 2023

Conversation

TomAFrench
Copy link
Member

Description

Problem*

We currently have no way to get program execution diagnostics for a Noir program unless we've just compiled it. This PR makes it possible to load a DebugArtifact along with a circuit and get the same experience as if you compiled from source.

Summary*

This PR implements the necessary Files trait on DebugArtifact so that it can be used to link from a failing opcode back up to a location in a Noir source file. This allows us to not leak the FileManager out from after compilation and just have the DebugArtifact as another compilation output as opposed to constructing it immediately before it's written to file.

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.

@TomAFrench TomAFrench marked this pull request as draft September 11, 2023 19:22
@TomAFrench TomAFrench marked this pull request as ready for review September 11, 2023 19:41
@TomAFrench TomAFrench marked this pull request as draft September 11, 2023 19:42
@TomAFrench
Copy link
Member Author

I'll need to check this once #2643 is in.

* master:
  chore: Move tooling related items into their own directory (#2644)
  chore: add `CompilationResult` helper type (#2639)
  fix: initialise arrays returned by brillig (#2048)
* master:
  fix: Fix `update_acir` deleting all debug information (#2643)
@TomAFrench TomAFrench marked this pull request as ready for review September 11, 2023 23:09
@kevaundray kevaundray added this pull request to the merge queue Sep 12, 2023
Merged via the queue into master with commit 87ad7d7 Sep 12, 2023
14 checks passed
@kevaundray kevaundray deleted the tf/use-debug-artifacts branch September 12, 2023 11:49
TomAFrench added a commit that referenced this pull request Sep 12, 2023
* master:
  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)
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