Skip to content

Bump version to 23.5.2 - #1730

Closed
github-actions[bot] wants to merge 2 commits into
release/v23.5.1from
release/v23.5.2
Closed

Bump version to 23.5.2#1730
github-actions[bot] wants to merge 2 commits into
release/v23.5.1from
release/v23.5.2

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

What

Bump version to 23.5.2, creating release branch.

Why

Triggered by @leighmcculloch in https://github.com/stellar/rs-soroban-sdk/actions/runs/21989979419.

What is next

See the release instructions for a full rundown on the release process:
https://github.com/stellar/actions/blob/main/README-rust-release.md

Commit any changes to the release/v23.5.2 branch that are needed in this release.

If this is a regular release releasing from main, merge this PR when ready, and after merging, create a release for this version by going to this link: https://github.com/stellar/rs-soroban-sdk/releases/new?tag=v23.5.2&title=23.5.2

If this is a backport or patch release of a past version, see the release instructions. When ready to release this branch create a release by going to this link:
https://github.com/stellar/rs-soroban-sdk/releases/new?tag=v23.5.2&title=23.5.2&target=release/v23.5.2

@github-actions
github-actions Bot requested review from Copilot and removed request for Copilot February 13, 2026 14:14
### What
Use fully qualified syntax (`<Type as Trait>::func()`) in
macro-generated WASM exports when `#[contractimpl]` is applied to a
trait impl block.

### Why
Rust's name resolution prefers inherent methods over trait methods when
using `<Type>::func()` syntax. If a contract type has both an inherent
method and a trait method with the same name, the generated export
incorrectly calls the inherent method instead of the trait method the
`#[contractimpl]` block is defined for.

(cherry picked from commit e92a393)
Copilot AI review requested due to automatic review settings February 13, 2026 14:24
@leighmcculloch
leighmcculloch changed the base branch from main to release/v23.5.1 February 13, 2026 14:24
@leighmcculloch
leighmcculloch marked this pull request as draft February 13, 2026 14:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR bumps the Rust workspace to v23.5.2 for the release branch, and also includes a small but important #[contractimpl] macro codegen fix to ensure trait-associated functions are invoked via UFCS when the impl is for a trait, with accompanying regression test updates.

Changes:

  • Bump workspace and crate versions from 23.5.1 to 23.5.2 (including Cargo.lock).
  • Update soroban-sdk-macros codegen so generated wrappers call <Type as Trait>::func for trait impls.
  • Add a regression test + snapshot, and refresh tests-expanded/* expected outputs to match the new expansion.

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Cargo.toml Bumps workspace package/dependency versions to 23.5.2.
Cargo.lock Updates lockfile versions to 23.5.2 across workspace crates/tests.
soroban-sdk-macros/src/derive_fn.rs Adjusts generated call site to use UFCS for trait impls; removes now-unnecessary use super::Trait in wrappers.
soroban-sdk/src/tests/contractimpl_trait_call_resolution.rs Adds regression test ensuring trait fn is called instead of an inherent fn with the same name.
soroban-sdk/src/tests.rs Registers the new regression test module.
soroban-sdk/test_snapshots/tests/contractimpl_trait_call_resolution/calls_trait_fn.1.json Adds snapshot output for the new regression test.
tests-expanded/test_multiimpl_wasm32v1-none.rs Updates expanded output to use <Contract as Trait>::... in wrappers.
tests-expanded/test_multiimpl_tests.rs Same expanded-wrapper UFCS update for native tests.
tests-expanded/test_contracttrait_trait_tests.rs Updates generated wrapper calls to use <Contract as AllTypes>::....
tests-expanded/test_contracttrait_impl_partial_wasm32v1-none.rs Refreshes expansion to UFCS-style trait calls.
tests-expanded/test_contracttrait_impl_partial_tests.rs Same expansion refresh for native tests.
tests-expanded/test_contracttrait_impl_full_wasm32v1-none.rs Refreshes expansion to UFCS-style trait calls.
tests-expanded/test_contracttrait_impl_full_tests.rs Same expansion refresh for native tests.
tests-expanded/test_associated_types_wasm32v1-none.rs Refreshes expansion to UFCS-style trait calls.
tests-expanded/test_associated_types_tests.rs Same expansion refresh for native tests.
tests-expanded/test_associated_types_contracttrait_wasm32v1-none.rs Refreshes expansion to UFCS-style trait calls.
tests-expanded/test_associated_types_contracttrait_tests.rs Same expansion refresh for native tests.
tests-expanded/test_account_wasm32v1-none.rs Updates wrapper call to use <Contract as CustomAccountInterface>::__check_auth.
tests-expanded/test_account_tests.rs Same wrapper UFCS update for native tests.

Comment thread Cargo.toml
@leighmcculloch

Copy link
Copy Markdown
Member

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