← Back to issue list

Rust plugin: rewrite the Rust plugin for core20

View original Github issue

Metadata

Project
snapcraft
Number
#4297
Type
pull request
State
merged
Author
liushuyu
Labels
Created
Updated
Closed

Current evaluation

Merged a core20 Rust plugin rewrite migrating to the new plugin system. Added LTO support, custom toolchain channel selection, and default feature disabling. Resolved test mocking issues and CI feedback prior to merge.

Suggested action:

No scores available.

Issue body

- [X] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [X] Have you successfully run `make lint`? - [X] Have you successfully run `pytest tests/unit`? ----- This pull request migrates the Rust plugin to the new plugin system and also makes it more intelligent. Three new options have been added: - One option for enabling LTO (more optimized binary) - One option for specifying Rust toolchain channel/version - One option for disabling default features in the Rust crate

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged a core20 Rust plugin rewrite migrating to the new plugin system. Added LTO support, custom toolchain channel selection, and default feature disabling. Resolved test mocking issues and CI feedback prior to merge.
qwen3.6-35b-a3b-mtp-q6 Merged after rewriting the Rust plugin for core20 to use the new plugin system. Added LTO, toolchain, and default feature options. Corrected incorrect function mocking in tests and rebased against main before final merge.
qwen3.6-35b-a3b-mtp-q6 Merged after fixing tests and rebasing. Rewrites the Rust plugin for core20 with the new plugin system, adding LTO, toolchain, and feature options. Functionality was later consolidated in craft-parts PR #530.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#530 plugins/rust_plugin: rewrite the plugin to improve UX craft-parts merged Merged a Rust plugin rewrite improving UX with default Rustup, LTO, toolchain version, and feature toggles. Failing tests for Ubuntu 20.04 Chisel support were resolved via a separate PR and rebasing prior to merge.
81%
#560 rust_plugin: multiple fixes craft-parts merged Merged Rust plugin fixes resolving issue #559. Changes remove unnecessary rust_channel override typing checks and improve compiler plugin identification and removal. Approved by reviewers and merged despite an unrelated CI pylint failure.
71%
#2373 rust plugin: add support for bases snapcraft merged Merged update to the Rust plugin adding base support for core16 and core18. Resolves Launchpad bug #1798681. Approved, passed CI, and achieved 100% diff coverage with a net zero line change across 23 files.
70%