Skip to content

Conversation

@LeWimbes
Copy link
Contributor

Summary

This PR updates the project to Rust Edition 2024 and Resolver Version 3.
While updating the dependencies, I chose not to specify the patch version for prost (0.14 instead of 0.14.1) since it never seemed to be specified for other dependencies. Please let me know if this was not your intention.
Rust Edition 2024 requires the explicit use of unsafe blocks in the unsafe extern "C" functions. For now, I have used the blocks in a way that gives them minimal scope. Of course, we could also wrap the entire function bodies in unsafe blocks. Let me know what you prefer.

Checklist

  • I have tested this change locally
  • I have documented any public APIs or CLI changes
  • I have added appropriate examples or comments
  • The code builds and passes all checks (cargo check, cargo test)
  • I have updated the changelog if applicable

@LeWimbes
Copy link
Contributor Author

The tests seem to fail because, when creating the eCAL version auto-select system, I didn't consider that the API returns releases in the order they were released, not in SemVer order. Currently, the setup is selecting 5.13.4 instead of 6.0.0.
I'll create a separate PR to fix that.
For now, you should be able to manually run the workflow and select the correct version.

@LeWimbes LeWimbes mentioned this pull request Aug 21, 2025
5 tasks
@LeWimbes
Copy link
Contributor Author

I’ve rebased everything on main, and the workflows are passing now :)

@rex-schilasky
Copy link
Collaborator

@LeWimbes great! Thank you.

@rex-schilasky rex-schilasky requested a review from Copilot August 25, 2025 10:58
Copy link

Copilot AI left a comment

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 migrates the project from Rust Edition 2021 to Rust Edition 2024 and adds Resolver Version 3. The changes ensure compatibility with Rust Edition 2024 requirements, including explicit unsafe blocks in extern "C" functions and updated import ordering to match the new edition's conventions.

  • Updates all Cargo.toml files to use edition = "2024"
  • Adds resolver = "3" to the workspace configuration
  • Updates dependency versions (prost from 0.13 to 0.14, bindgen from 0.71 to 0.72)
  • Adds explicit unsafe blocks within extern "C" functions as required by Edition 2024
  • Reorders imports to match Edition 2024 conventions (alphabetical ordering)

Reviewed Changes

Copilot reviewed 33 out of 33 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Cargo.toml Adds resolver = "3" and fixes trailing comma
rustecal*/Cargo.toml Updates edition to "2024" across all crates
rustecal-sys/Cargo.toml Updates bindgen dependency from 0.71 to 0.72
rustecal-types-protobuf/Cargo.toml Updates prost dependency from 0.13 to 0.14
person_send/Cargo.toml, person_receive/Cargo.toml Updates prost and prost-build to 0.14
rustecal-pubsub/src/payload_writer.rs Adds explicit unsafe blocks in extern "C" functions
Multiple import files Reorders imports alphabetically per Edition 2024 conventions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@rex-schilasky rex-schilasky merged commit debaefd into eclipse-ecal:main Aug 25, 2025
6 of 7 checks passed
@LeWimbes LeWimbes deleted the edition-2024 branch August 25, 2025 11:35
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