feat: Add compiler_unstable_features to Nargo.toml#9219
Conversation
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 9e6e073 | Previous: 39a504c | Ratio |
|---|---|---|---|
rollup-root |
0.005 s |
0.004 s |
1.25 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 32dd1a6 | Previous: e5c6d5d | Ratio |
|---|---|---|---|
rollup-block-root-single-tx |
255 s |
196 s |
1.30 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
🚀 Deployed on https://6878ea148061f046050896da--noir-docs.netlify.app |
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 2ddd080 | Previous: 69827d1 | Ratio |
|---|---|---|---|
test_report_zkpassport_noir_rsa_ |
2 s |
1 s |
2 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
FYI @noir-lang/developerrelations on Noir doc changes. |
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(SSA): validate MakeArray instruction (noir-lang/noir#9183) chore(docs): Add links to ACIR and source reference docs (noir-lang/noir#9260) fix: comptime code not mutating shared ref to struct field (noir-lang/noir#9250) fix(acir_gen): Bail out of `handle_constant_index` when it encounters `DynamicArray` (noir-lang/noir#9259) feat: allow paths in l-values (noir-lang/noir#9254) fix: parse AsTraitPath in type expressions (noir-lang/noir#9258) chore: add acir-gen unit tests per ssa instruction (2) (noir-lang/noir#9185) fix(licm): Ensure that all nested loops the current block is part of are guaranteed to execute (noir-lang/noir#9249) chore: bump external pinned commits (noir-lang/noir#9256) chore: enforce clippy in `ssa_fuzzer` (noir-lang/noir#9247) chore: clippy (noir-lang/noir#9246) chore: skip `ram_blowup_regression` on PRs (noir-lang/noir#9231) chore: mark bignum as expected to pass (noir-lang/noir#9244) fix: suggest traits via visible reexports if they are not directly visible (noir-lang/noir#9242) fix: bind self when type-checking AsTraitPath (noir-lang/noir#9236) chore(docs): Include list to hashing libraries at the top of the relevant docs page (noir-lang/noir#9239) fix(fuzz): Use scoping for variable dynamism (noir-lang/noir#9233) fix(ssa): Change constraint message to "multiply" (noir-lang/noir#9230) feat: Add `compiler_unstable_features` to `Nargo.toml` (noir-lang/noir#9219) chore(fuzz): Increase loop frequency in Brillig (noir-lang/noir#9228) chore: bump noir-edwards dep (noir-lang/noir#9229) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(SSA): validate MakeArray instruction (noir-lang/noir#9183) chore(docs): Add links to ACIR and source reference docs (noir-lang/noir#9260) fix: comptime code not mutating shared ref to struct field (noir-lang/noir#9250) fix(acir_gen): Bail out of `handle_constant_index` when it encounters `DynamicArray` (noir-lang/noir#9259) feat: allow paths in l-values (noir-lang/noir#9254) fix: parse AsTraitPath in type expressions (noir-lang/noir#9258) chore: add acir-gen unit tests per ssa instruction (2) (noir-lang/noir#9185) fix(licm): Ensure that all nested loops the current block is part of are guaranteed to execute (noir-lang/noir#9249) chore: bump external pinned commits (noir-lang/noir#9256) chore: enforce clippy in `ssa_fuzzer` (noir-lang/noir#9247) chore: clippy (noir-lang/noir#9246) chore: skip `ram_blowup_regression` on PRs (noir-lang/noir#9231) chore: mark bignum as expected to pass (noir-lang/noir#9244) fix: suggest traits via visible reexports if they are not directly visible (noir-lang/noir#9242) fix: bind self when type-checking AsTraitPath (noir-lang/noir#9236) chore(docs): Include list to hashing libraries at the top of the relevant docs page (noir-lang/noir#9239) fix(fuzz): Use scoping for variable dynamism (noir-lang/noir#9233) fix(ssa): Change constraint message to "multiply" (noir-lang/noir#9230) feat: Add `compiler_unstable_features` to `Nargo.toml` (noir-lang/noir#9219) chore(fuzz): Increase loop frequency in Brillig (noir-lang/noir#9228) chore: bump noir-edwards dep (noir-lang/noir#9229) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Description
Problem*
Resolves #9164
Summary*
Adds a new
compiler_unstable_featuresfield toNargo.tomlunder[package], which can be used by the current package or its dependencies to require an unstable feature to be enabled during compilation for files in that crate.This allows the LSP to pick up whether the currently edited package does or doesn't need a feature, without having to edit the plugin settings where CLI arguments can be passed.
The requirement is on a crate-by-crate basis, so if dependency
foorequiresenums, but another dependencybardoes not state that it does, then it would be an error inbarto use amatch, unless the feature is enabled globally via CLI with-Zenums.Required unstable features are ignored if features are explicitly enabled on the CLI, e.g. if
foorequiresenums, but we pass-Zownership, then enums are still disabled, because we interpret-Zas the developer taking control of what exactly is acceptable globally.The PR also adds a
--no-unstable-featuresCLI argument to ignore all requirements in manifests, in case someone finds it important to make sure no unstable features sneaked in from dependencies.Additional Context
Example:
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.