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

Bug fixes for targeting a world with resource borrows #300

Merged
merged 5 commits into from
May 22, 2024
Merged

Conversation

calvinrp
Copy link
Collaborator

@calvinrp calvinrp commented May 21, 2024

Expanded test cases to cover issue #299

Also, when specifying an exact semver requirement, adds that exact requirement to the generated Cargo.toml. There was mismatch before.

wit-bindgen-rust generates different bindings for borrow<> of resources, depending on whether that type is exported in the world or not. &SomeType vs SomeTypeBorrow in the generated bindings. Fixed the logic here to match that behavior. The revised test case should better cover future potential breakage.

If interested, here is some of the logic on the wit-bindgen side:
https://github.com/bytecodealliance/wit-bindgen/blob/main/crates/rust/src/interface.rs#L2203-L2225

@calvinrp calvinrp marked this pull request as draft May 21, 2024 13:53
@calvinrp calvinrp marked this pull request as ready for review May 22, 2024 13:53
@calvinrp calvinrp changed the title updated test case to cover failure case Bug fixes for targeting a world with resource borrows May 22, 2024
src/generator.rs Outdated
TypeDefKind::Handle(Handle::Borrow(id)) => {
if in_world {
let type_info = &self.resolve.types[*id];
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: Could we pull the body of this case out into a method called is_export_resource (or something)? Keeps it a little more readable IMO.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yep, good call

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed, thanks

Copy link
Contributor

@fibonacci1729 fibonacci1729 left a comment

Choose a reason for hiding this comment

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

Minor nit, but overall makes sense to me!

@calvinrp calvinrp merged commit 22d9d81 into main May 22, 2024
6 checks passed
@calvinrp calvinrp deleted the fix-generator branch May 22, 2024 18:57
mergify bot pushed a commit to andrzejressel/pulumi-wasm that referenced this pull request Jun 30, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cargo-component](https://github.com/bytecodealliance/cargo-component) | minor | `0.10.1` -> `0.13.0` |

---

### Release Notes

<details>
<summary>bytecodealliance/cargo-component (cargo-component)</summary>

### [`v0.13.2`](https://github.com/bytecodealliance/cargo-component/releases/tag/v0.13.2)

[Compare Source](https://github.com/bytecodealliance/cargo-component/compare/v0.13.1...v0.13.2)

#### What's Changed

-   Add `cargo component serve` subcommand by [@&#8203;primoly](https://github.com/primoly) in [bytecodealliance/cargo-component#305
-   added wasmtime wasi args for `cargo component serve` by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#308

#### New Contributors

-   [@&#8203;primoly](https://github.com/primoly) made their first contribution in [bytecodealliance/cargo-component#305

**Full Changelog**: bytecodealliance/cargo-component@v0.13.1...v0.13.2

### [`v0.13.1`](https://github.com/bytecodealliance/cargo-component/releases/tag/v0.13.1)

[Compare Source](https://github.com/bytecodealliance/cargo-component/compare/v0.13.0...v0.13.1)

#### What's Changed

-   More `cargo component new` generator fixes by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#304

**Full Changelog**: bytecodealliance/cargo-component@v0.13.0...v0.13.1

### [`v0.13.0`](https://github.com/bytecodealliance/cargo-component/releases/tag/v0.13.0)

[Compare Source](https://github.com/bytecodealliance/cargo-component/compare/v0.12.0...v0.13.0)

#### What's Changed

-   set dev version by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#297
-   Bug fixes for targeting a world with resource borrows by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#300

**Full Changelog**: bytecodealliance/cargo-component@v0.12.0...v0.13.0

### [`v0.12.0`](https://github.com/bytecodealliance/cargo-component/releases/tag/v0.12.0)

[Compare Source](https://github.com/bytecodealliance/cargo-component/compare/v0.11.0...v0.12.0)

#### What's Changed

-   add support for missing settings from wit-bindgen by [@&#8203;sehnryr](https://github.com/sehnryr) in [bytecodealliance/cargo-component#273
-   fix kebab case issue by [@&#8203;fibonacci1729](https://github.com/fibonacci1729) in [bytecodealliance/cargo-component#274
-   Help mesasage improvement ([#&#8203;138](https://github.com/bytecodealliance/cargo-component/issues/138)) by [@&#8203;chikoski](https://github.com/chikoski) in [bytecodealliance/cargo-component#278
-   Update the example to use the latest version of cargo-component by [@&#8203;rylev](https://github.com/rylev) in [bytecodealliance/cargo-component#283
-   fix test assertions after rust upgrade by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#287
-   Add `profile.release` to `Cargo.toml` generated by `cargo component new` by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#289
-   Update install instruction to use --locked by [@&#8203;fibonacci1729](https://github.com/fibonacci1729) in [bytecodealliance/cargo-component#292
-   Update to latest Warg release to support registry federation by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#288
-   removed unused warg-credentials dependency by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#295
-   Warg update 0.7 by [@&#8203;calvinrp](https://github.com/calvinrp) in [bytecodealliance/cargo-component#296

#### New Contributors

-   [@&#8203;sehnryr](https://github.com/sehnryr) made their first contribution in [bytecodealliance/cargo-component#273
-   [@&#8203;fibonacci1729](https://github.com/fibonacci1729) made their first contribution in [bytecodealliance/cargo-component#274
-   [@&#8203;chikoski](https://github.com/chikoski) made their first contribution in [bytecodealliance/cargo-component#278
-   [@&#8203;calvinrp](https://github.com/calvinrp) made their first contribution in [bytecodealliance/cargo-component#287

**Full Changelog**: bytecodealliance/cargo-component@v0.11.0...v0.12.0

### [`v0.11.0`](https://github.com/bytecodealliance/cargo-component/releases/tag/v0.11.0)

[Compare Source](https://github.com/bytecodealliance/cargo-component/compare/v0.10.1...v0.11.0)

#### Compatibility

-   Wasmtime: 17.0.0+
-   WASI: 0.2.0
-   Warg (registry support): 0.4.0

#### What's Changed

-   Update wit-bindgen and wasm-tools. by [@&#8203;sunfishcode](https://github.com/sunfishcode) in [bytecodealliance/cargo-component#266
-   Synchronize artifact componentization.  by [@&#8203;peterhuene](https://github.com/peterhuene) in [bytecodealliance/cargo-component#270
-   Bump version to 0.11.0. by [@&#8203;peterhuene](https://github.com/peterhuene) in [bytecodealliance/cargo-component#271

**Full Changelog**: bytecodealliance/cargo-component@v0.10.1...v0.11.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/andrzejressel/pulumi-wasm).
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.

3 participants