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

feat: Implement print without newline #3650

Merged

Conversation

grasshopper47
Copy link
Contributor

@grasshopper47 grasshopper47 commented Nov 30, 2023

Description

Problem*

Resolves #3575
Resolves #2912 (duplicate)

Continuation of #3576

Summary*

Refactors println_oracle method into print with boolean indicator, allowing print to coexist with println under the same ForeignCall string symbol.
Updates appropriate tests, and logging.md documentation.
Add a subchapter to 03_string.md documentation for the fmtstr type

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

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

@grasshopper47 grasshopper47 changed the title Feat implement print without newline feat: Implement print without newline Nov 30, 2023
@grasshopper47 grasshopper47 force-pushed the feat-implement-print-without-newline branch from 6ccbe09 to 00010cb Compare November 30, 2023 20:48
@grasshopper47
Copy link
Contributor Author

@jfecher any idea here:
image

@jfecher
Copy link
Contributor

jfecher commented Dec 1, 2023

@TomAFrench do you know why this check is failing?

@kevaundray
Copy link
Contributor

Likely this is to do with the fact that this is being ran on a fork -- we can merge if all else looks good

@TomAFrench
Copy link
Member

Yep, that's a fork issue.

docs/docs/standard_library/logging.md Outdated Show resolved Hide resolved
test_programs/execution_success/strings/src/main.nr Outdated Show resolved Hide resolved
tooling/nargo/src/ops/foreign_calls.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@jfecher jfecher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for keeping up with all the suggestions!

@jfecher jfecher enabled auto-merge December 4, 2023 17:58
@jfecher jfecher disabled auto-merge December 4, 2023 18:00
@jfecher jfecher enabled auto-merge December 4, 2023 18:10
@kevaundray
Copy link
Contributor

Test / Test on ubuntu (pull_request) is failing, can force merge once that is fixed

auto-merge was automatically disabled December 4, 2023 20:39

Head branch was pushed to by a user without write access

@grasshopper47 grasshopper47 force-pushed the feat-implement-print-without-newline branch from e9c64a4 to e22cbc5 Compare December 4, 2023 20:39
@grasshopper47
Copy link
Contributor Author

Test / Test on ubuntu (pull_request) is failing, can force merge once that is fixed

I've swapped the order of the oracle args to be safe(r).

@jfecher what say you? :)

@grasshopper47
Copy link
Contributor Author

JS Tests failing
image

IDK about this, @TomAFrench @kevaundray ?

@grasshopper47
Copy link
Contributor Author

@jfecher I think the auto-merge got disabled since my last push
image

@vezenovm vezenovm enabled auto-merge December 5, 2023 17:05
@vezenovm vezenovm added this pull request to the merge queue Dec 5, 2023
Merged via the queue into noir-lang:master with commit 9827dfe Dec 5, 2023
31 of 33 checks passed
kevaundray added a commit that referenced this pull request Dec 15, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>0.21.0</summary>

## [0.21.0](v0.20.0...v0.21.0)
(2023-12-15)


### ⚠ BREAKING CHANGES

* remove unused `source-resolver` package
([#3791](#3791))
* Make file manager read-only to the compiler
([#3760](#3760))

### Features

* Add `prelude.nr`
([#3693](#3693))
([5f0f81f](5f0f81f))
* Add some traits to the stdlib
([#3796](#3796))
([8e11352](8e11352))
* Add support for writing tracing debug info to file
([#3790](#3790))
([98a5004](98a5004))
* Allow passing custom foreign call handlers when creating proofs in
NoirJS ([#3764](#3764))
([6076e08](6076e08))
* Allow underscores in integer literals
([#3746](#3746))
([2c06a64](2c06a64))
* Avoid overflow checks on boolean multiplication
([#3745](#3745))
([9b5b686](9b5b686))
* Aztec-packages
([#3754](#3754))
([c043265](c043265))
* Dockerfile to test cargo and JS packages
([#3684](#3684))
([513d619](513d619))
* Docs landing page with a playground
([#3667](#3667))
([9a95fbe](9a95fbe))
* Enhance test information output
([#3696](#3696))
([468fbbc](468fbbc))
* Implement print without newline
([#3650](#3650))
([9827dfe](9827dfe))
* **lsp:** Add goto definition for locals
([#3705](#3705))
([9dd465c](9dd465c))
* **lsp:** Add goto definition for structs
([#3718](#3718))
([a576c5b](a576c5b))
* Optimize out unnecessary truncation instructions
([#3717](#3717))
([c9c72ae](c9c72ae))
* Remove experimental feature warning for traits
([#3783](#3783))
([cb52242](cb52242))
* Reorganizing docs to fit diataxis framework
([#3711](#3711))
([54a1ed5](54a1ed5))
* Simplify explicit equality assertions to assert equality directly
([#3708](#3708))
([2fc46e2](2fc46e2))
* Speed up transformation of debug messages
([#3815](#3815))
([2a8af1e](2a8af1e))


### Bug Fixes

* `try_unify` no longer binds types on failure
([#3697](#3697))
([f03e581](f03e581))
* Add missing assertion to test
([#3765](#3765))
([bcbe116](bcbe116))
* Add negative integer literals
([#3690](#3690))
([8b3a68f](8b3a68f))
* Allow trait method references from the trait name
([#3774](#3774))
([cfa34d4](cfa34d4))
* Deserialize odd length hex literals
([#3747](#3747))
([4000fb2](4000fb2))
* **docs:** Trigger `update-docs` workflow when the `release-please` PR
gets merged and not on every merge to master
([#3677](#3677))
([9a3d1d2](9a3d1d2))
* Initialise strings as u8 array
([#3682](#3682))
([8da40b7](8da40b7))
* **lsp:** Package resolution on save
([#3794](#3794))
([14f2fff](14f2fff))
* Parse negative integer literals
([#3698](#3698))
([463ab06](463ab06))
* Pub is required on return for entry points
([#3616](#3616))
([7f1d796](7f1d796))
* Remove `noirc_driver/aztec` feature flag in docker
([#3784](#3784))
([a48d562](a48d562))
* Remove include-keys option
([#3692](#3692))
([95d7ce2](95d7ce2))
* Revert chnage to modify version in workspace file for acvm
dependencies ([#3673](#3673))
([0696f75](0696f75))
* Sequence update-lockfile workflow so it gets modified after the ACVM
version in the root has been changed
([#3676](#3676))
([c00cd85](c00cd85))
* **ssa:** Handle array arguments to side effectual constrain statements
([#3740](#3740))
([028d65e](028d65e))
* Stop cloning Traits!
([#3736](#3736))
([fcff412](fcff412))
* Stop issuing unused variable warnings for variables in trait
definitions ([#3797](#3797))
([0bb44c3](0bb44c3))
* Unsigned integers cannot be negated
([#3688](#3688))
([f904ae1](f904ae1))


### Miscellaneous Chores

* Make file manager read-only to the compiler
([#3760](#3760))
([e3dcc21](e3dcc21))
* Remove unused `source-resolver` package
([#3791](#3791))
([57d2505](57d2505))
</details>

<details><summary>0.37.1</summary>

## [0.37.1](v0.37.0...v0.37.1)
(2023-12-15)


### Features

* Aztec-packages
([#3754](#3754))
([c043265](c043265))
* Speed up transformation of debug messages
([#3815](#3815))
([2a8af1e](2a8af1e))


### Bug Fixes

* Deserialize odd length hex literals
([#3747](#3747))
([4000fb2](4000fb2))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
@Savio-Sou Savio-Sou added the documentation Improvements or additions to documentation label Jan 5, 2024
@Savio-Sou
Copy link
Collaborator

cc @signorecello for the minor doc changes ICYMI

@signorecello
Copy link
Contributor

Very useful and nicely documented, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants