Repository: slint-ui/slint (language: rust)

Issue:
Update MSRV to 1.82 for Skia
To fix #6615 a Skia update is necessary. That in turn requires a newer Rust version.

See https://github.com/slint-ui/slint/actions/runs/12116793866/job/33777891902 for a failing build that requires 1.82. Also https://github.com/rust-skia/rust-skia/pull/1084 get this more centrally defined in Skia.


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 15319864d9b..689d6d12f87 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -30,7 +30,7 @@ jobs:
         strategy:
             matrix:
                 os: [ubuntu-22.04, macos-14, windows-2022]
-                rust_version: [stable, "1.77"]
+                rust_version: [stable, "1.82"]
                 include:
                     - os: windows-2022
                       extra_args: "--exclude ffmpeg --exclude gstreamer-player"
@@ -43,8 +43,8 @@ jobs:
                       rust_version: "nightly"
                 exclude:
                     - os: macos-14
-                      rust_version: "1.77"
-                    # We already test 1.77 and nightly. Stable is in the middle and already covered by other jobs
+                      rust_version: "1.82"
+                    # We already test 1.82 and nightly. Stable is in the middle and already covered by other jobs
                     - os: ubuntu-22.04
                       rust_version: "stable"
 
@@ -78,13 +78,13 @@ jobs:
               with:
                   toolchain: ${{ matrix.rust_version }}
                   key: x-v3
-            - name: Pin dependencies to make it build with our MSRV
-              if: matrix.rust_version == '1.77'
-              shell: bash
-              run: |
-                 if [ ! -f ./Cargo.lock ]; then
-                   cargo update -p home --precise 0.5.9
-                 fi
+#            - name: Pin dependencies to make it build with our MSRV
+#              if: matrix.rust_version == '1.82'
+#              shell: bash
+#              run: |
+#                 if [ ! -f ./Cargo.lock ]; then
+#                   cargo update -p home --precise 0.5.9
+#                 fi
             - name: Run tests (not qt)
               run:  cargo test --verbose --all-features --workspace ${{ matrix.extra_args }} --exclude slint-node --exclude pyslint --exclude test-driver-node --exclude slint-node --exclude test-driver-nodejs --exclude test-driver-cpp --exclude mcu-board-support --exclude printerdemo_mcu --exclude uefi-demo --exclude slint-cpp --exclude slint-python -- --skip=_qt::t
               env:
@@ -233,7 +233,7 @@ jobs:
             matrix:
                 include:
                     - os: macos-14
-                      rust_version: "1.77"
+                      rust_version: "1.82"
                     - os: windows-2022
                       rust_version: "nightly"
                     - os: ubuntu-22.04
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bde318ea57c..2c775e1da8e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,12 @@
 # Changelog
 All notable changes to this project are documented in this file.
 
+## 1.10.0 - Unreleased
+
+### General
+
+ - Minimum Supported Rust Version (MSRV) is 1.82.
+
 ## 1.9.2 - 2025-01-13
 
 ### General
diff --git a/Cargo.toml b/Cargo.toml
index 8321cb595f1..799fbeca8a1 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -105,7 +105,7 @@ homepage = "https://slint.dev"
 keywords = ["gui", "toolkit", "graphics", "design", "ui"]
 license = "GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0"
 repository = "https://github.com/slint-ui/slint"
-rust-version = "1.77"
+rust-version = "1.82"
 version = "1.10.0"
 
 [workspace.dependencies]
diff --git a/api/cpp/CMakeLists.txt b/api/cpp/CMakeLists.txt
index 810c67f9414..cef1213b948 100644
--- a/api/cpp/CMakeLists.txt
+++ b/api/cpp/CMakeLists.txt
@@ -18,7 +18,7 @@ FetchContent_Declare(
 FetchContent_MakeAvailable(Corrosion)
 
 list(PREPEND CMAKE_MODULE_PATH ${Corrosion_SOURCE_DIR}/cmake)
-find_package(Rust 1.77 REQUIRED MODULE)
+find_package(Rust 1.82 REQUIRED MODULE)
 
 option(BUILD_SHARED_LIBS "Build Slint as shared library" ON)
 option(SLINT_FEATURE_COMPILER "Enable support for compiling .slint files to C++ ahead of time" ON)
diff --git a/api/cpp/docs/cmake.md b/api/cpp/docs/cmake.md
index 5a3b5b1d1b1..188b8f82dd5 100644
--- a/api/cpp/docs/cmake.md
+++ b/api/cpp/docs/cmake.md
@@ -49,7 +49,7 @@ In the next section you will learn how to use the installed library in your appl
 First you need to install the prerequisites:
 
 * Install Rust by following the [Rust Getting Started Guide](https://www.rust-lang.org/learn/get-started). If you already
-  have Rust installed, make sure that it's at least version 1.77 or newer. You can check which version you have installed
+  have Rust installed, make sure that it's at least version 1.82 or newer. You can check which version you have installed
   by running `rustc --version`. Once this is done, you should have the `rustc` compiler and the `cargo` build system installed in your path.
 
 You can either choose to compile Slint from source along with your application or include Slint as an external CMake package.
diff --git a/api/cpp/docs/mcu/generic.md b/api/cpp/docs/mcu/generic.md
index 247655c5b04..64121af2a6d 100644
--- a/api/cpp/docs/mcu/generic.md
+++ b/api/cpp/docs/mcu/generic.md
@@ -9,7 +9,7 @@ following generic instructions on what's needed to compile and use Slint.
 ## Prerequisites
 
 * Install Rust by following the [Rust Getting Started Guide](https://www.rust-lang.org/learn/get-started). If you already
-  have Rust installed, make sure that it's at least version 1.77 or newer. You can check which version you have installed
+  have Rust installed, make sure that it's at least version 1.82 or newer. You can check which version you have installed
   by running `rustc --version`. Once this is done, you should have the `rustc` compiler and the `cargo` build system installed in your path.
 
 * A C++ cross-compiler compiler that supports C++20.
diff --git a/api/node/README.md b/api/node/README.md
index efe949bcc3b..dee1ad56e97 100644
--- a/api/node/README.md
+++ b/api/node/README.md
@@ -33,7 +33,7 @@ You need to install the following components:
 
   * **[Node.js](https://nodejs.org/download/release/)** (v16. or newer)
   * **[pnpm](https://www.pnpm.io/)**
-  * **[Rust compiler](https://www.rust-lang.org/tools/install)** (1.77 or newer)
+  * **[Rust compiler](https://www.rust-lang.org/tools/install)** (1.82 or newer)
 
 You will also need a few more dependencies, see <https://github.com/slint-ui/slint/blob/master/docs/building.md#prerequisites>
 
diff --git a/api/node/cover.md b/api/node/cover.md
index 2cd8b03dfd9..9034117d323 100644
--- a/api/node/cover.md
+++ b/api/node/cover.md
@@ -34,7 +34,7 @@ To use Slint with Deno, ensure the following programs are installed:
 Slint-node comes with pre-built binaries for macOS, Linux, and Windows. If you'd like to use Slint-node on a system
 without pre-built binaries, you need to additional software:
 
-  * **[Rust compiler](https://www.rust-lang.org/tools/install)** (1.77 or newer) * Depending on your operating system, you may need additional components. For a list of required system libraries,
+  * **[Rust compiler](https://www.rust-lang.org/tools/install)** (1.82 or newer) * Depending on your operating system, you may need additional components. For a list of required system libraries,
     see <https://github.com/slint-ui/slint/blob/master/docs/building.md#prerequisites>.
 
 ## Getting Started (Node.js)
diff --git a/docs/building.md b/docs/building.md
index c44f12957a7..a1f55b32cb8 100644
--- a/docs/building.md
+++ b/docs/building.md
@@ -9,7 +9,7 @@ This page explains how to build and test Slint.
 ### Installing Rust
 
 Install Rust by following the [Rust Getting Started Guide](https://www.rust-lang.org/learn/get-started). If you already
-have Rust installed, make sure that it's at least version 1.77 or newer. You can check which version you have installed
+have Rust installed, make sure that it's at least version 1.82 or newer. You can check which version you have installed
 by running `rustc --version`.
 
 Once this is done, you should have the `rustc` compiler and the `cargo` build system installed in your path.


Test patch: