diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index ff903a6c8b2..2ac931c9d1d 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -23,7 +23,7 @@ jobs: # Allow deprecated warning because we are using nightly and some things might be deprecated in nightly # for which the stable alternative is not yet available. RUSTFLAGS: -D warnings -W deprecated - RUSTDOCFLAGS: --html-in-header=/home/runner/work/slint/slint/docs/astro/src/utils/slint-docs-highlight.html -D warnings -W deprecated --cfg docsrs + RUSTDOCFLAGS: --html-in-header=/home/runner/work/slint/slint/docs/astro/src/utils/slint-docs-highlight.html -D warnings -W deprecated --cfg docsrs -Zunstable-options --generate-link-to-definition SLINT_NO_QT: 1 CARGO_INCREMENTAL: false RELEASE_INPUT: ${{ inputs.release }} diff --git a/api/rs/build/Cargo.toml b/api/rs/build/Cargo.toml index cb7fbc0db54..5fc850e6bc4 100644 --- a/api/rs/build/Cargo.toml +++ b/api/rs/build/Cargo.toml @@ -30,3 +30,4 @@ derive_more = { workspace = true, features = ["std", "error"] } [package.metadata.docs.rs] all-features = true +rustdoc-args = ["--generate-link-to-definition"] diff --git a/api/rs/macros/Cargo.toml b/api/rs/macros/Cargo.toml index 88659547e1d..015ecd448e2 100644 --- a/api/rs/macros/Cargo.toml +++ b/api/rs/macros/Cargo.toml @@ -27,3 +27,6 @@ i-slint-compiler = { workspace = true, features = ["default", "proc_macro_span", proc-macro2 = "1.0.17" quote = "1.0" spin_on = { workspace = true } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/api/rs/slint/Cargo.toml b/api/rs/slint/Cargo.toml index cb7d6efd199..de6a9a1ea01 100644 --- a/api/rs/slint/Cargo.toml +++ b/api/rs/slint/Cargo.toml @@ -259,3 +259,4 @@ features = [ "raw-window-handle-06", "unstable-wgpu-24", ] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/api/rs/slint/android.rs b/api/rs/slint/android.rs index a739abfdc60..e242096e668 100644 --- a/api/rs/slint/android.rs +++ b/api/rs/slint/android.rs @@ -113,9 +113,14 @@ use crate::platform::SetPlatformError; /// /// See also [`init_with_event_listener`] pub fn init(app: android_activity::AndroidApp) -> Result<(), SetPlatformError> { - crate::platform::set_platform(Box::new(i_slint_backend_android_activity::AndroidPlatform::new( - app, - ))) + #[cfg(not(target_os = "android"))] + unreachable!(); + #[cfg(target_os = "android")] + { + crate::platform::set_platform(Box::new( + i_slint_backend_android_activity::AndroidPlatform::new(app), + )) + } } /// Similar to [`init()`], which allow to listen to android-activity's event @@ -145,7 +150,14 @@ pub fn init_with_event_listener( app: android_activity::AndroidApp, listener: impl Fn(&android_activity::PollEvent<'_>) + 'static, ) -> Result<(), SetPlatformError> { - crate::platform::set_platform(Box::new( - i_slint_backend_android_activity::AndroidPlatform::new_with_event_listener(app, listener), - )) + #[cfg(not(target_os = "android"))] + unreachable!(); + #[cfg(target_os = "android")] + { + crate::platform::set_platform(Box::new( + i_slint_backend_android_activity::AndroidPlatform::new_with_event_listener( + app, listener, + ), + )) + } } diff --git a/internal/backends/android-activity/Cargo.toml b/internal/backends/android-activity/Cargo.toml index 1e4346909fd..34885d3ba55 100644 --- a/internal/backends/android-activity/Cargo.toml +++ b/internal/backends/android-activity/Cargo.toml @@ -39,3 +39,4 @@ android-build = "0.1.2" [package.metadata.docs.rs] targets = ["aarch64-linux-android", "armv7-linux-androideabi", "i686-linux-android", "x86_64-linux-android"] features = ["native-activity", "aa-06"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/backends/linuxkms/Cargo.toml b/internal/backends/linuxkms/Cargo.toml index b19b315da81..82b1e4ac4a6 100644 --- a/internal/backends/linuxkms/Cargo.toml +++ b/internal/backends/linuxkms/Cargo.toml @@ -45,3 +45,6 @@ glutin = { workspace = true, optional = true, default-features = false, features raw-window-handle = { version = "0.6.2", optional = true } bytemuck = { workspace = true, optional = true, features = ["derive"] } memmap2 = { version = "0.9.4", optional = true } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/backends/qt/Cargo.toml b/internal/backends/qt/Cargo.toml index 99439c12f8d..e450ce4f0ee 100644 --- a/internal/backends/qt/Cargo.toml +++ b/internal/backends/qt/Cargo.toml @@ -37,3 +37,6 @@ qttypes = { version = "0.2.7", default-features = false, optional = true } [build-dependencies] cpp_build = { version = "0.5.5", optional = true } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/backends/selector/Cargo.toml b/internal/backends/selector/Cargo.toml index dede09f07e6..9372d80c989 100644 --- a/internal/backends/selector/Cargo.toml +++ b/internal/backends/selector/Cargo.toml @@ -82,3 +82,6 @@ i-slint-common = { workspace = true } [dev-dependencies] slint = { path = "../../../api/rs/slint", default-features = false, features = ["std", "compat-1-2", "backend-winit", "renderer-software", "unstable-winit-030"] } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/backends/testing/Cargo.toml b/internal/backends/testing/Cargo.toml index 4ffff184038..784e800953f 100644 --- a/internal/backends/testing/Cargo.toml +++ b/internal/backends/testing/Cargo.toml @@ -40,3 +40,6 @@ pb-rs = { version = "0.10.0", optional = true, default-features = false } slint = { path = "../../../api/rs/slint", default-features = false, features = ["std", "compat-1-2"] } i-slint-core-macros = { path = "../../core-macros" } i-slint-common = { path = "../../common" } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/backends/winit/Cargo.toml b/internal/backends/winit/Cargo.toml index ce6332e570d..41897bc4471 100644 --- a/internal/backends/winit/Cargo.toml +++ b/internal/backends/winit/Cargo.toml @@ -125,3 +125,4 @@ slint = { path = "../../../api/rs/slint", default-features = false, features = [ [package.metadata.docs.rs] features = ["wayland", "renderer-software", "raw-window-handle-06"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/common/Cargo.toml b/internal/common/Cargo.toml index af9b4999c5a..e5e5bf7b49b 100644 --- a/internal/common/Cargo.toml +++ b/internal/common/Cargo.toml @@ -34,3 +34,6 @@ fontdb = { workspace = true, optional = true, features = ["std", "fs", "fontconf [target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "nto")))'.dependencies] fontdb = { workspace = true, optional = true, features = ["memmap"] } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/compiler/Cargo.toml b/internal/compiler/Cargo.toml index 6fb4c8ec10f..f0af48b447b 100644 --- a/internal/compiler/Cargo.toml +++ b/internal/compiler/Cargo.toml @@ -75,3 +75,6 @@ i-slint-parser-test-macro = { path = "./parser-test-macro" } regex = "1.3.7" spin_on = { workspace = true } rayon = { workspace = true } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/core-macros/Cargo.toml b/internal/core-macros/Cargo.toml index d953e488226..13cf81743d6 100644 --- a/internal/core-macros/Cargo.toml +++ b/internal/core-macros/Cargo.toml @@ -23,3 +23,6 @@ path = "lib.rs" quote = "1.0" syn = { version = "2.0", features = ["full", "visit-mut"] } serde_json = { workspace = true } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/core/Cargo.toml b/internal/core/Cargo.toml index 27e9a0d6cdc..b3da127757e 100644 --- a/internal/core/Cargo.toml +++ b/internal/core/Cargo.toml @@ -150,3 +150,6 @@ unexpected_cfgs = { level = "warn", check-cfg = ["cfg(slint_debug_property)", "c # Coord is an alias for f32 in most architectures, but not always, so the cast # to f32 *is* necessary. unnecessary_cast = { level = "allow" } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/interpreter/Cargo.toml b/internal/interpreter/Cargo.toml index 05d9782c390..99dfd2a8556 100644 --- a/internal/interpreter/Cargo.toml +++ b/internal/interpreter/Cargo.toml @@ -166,3 +166,4 @@ spin_on = { workspace = true } [package.metadata.docs.rs] features = ["display-diagnostics", "document-features", "raw-window-handle-06"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/renderers/femtovg/Cargo.toml b/internal/renderers/femtovg/Cargo.toml index 881839acfdf..aabe950ce6c 100644 --- a/internal/renderers/femtovg/Cargo.toml +++ b/internal/renderers/femtovg/Cargo.toml @@ -56,3 +56,6 @@ core-text = { version = "21.0.0" } [target.'cfg(target_arch = "wasm32")'.dependencies] web-sys = { workspace = true, features = ["console", "WebGlContextAttributes", "CanvasRenderingContext2d", "HtmlInputElement", "HtmlCanvasElement", "Window", "Document"] } wasm-bindgen = { version = "0.2" } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/internal/renderers/skia/Cargo.toml b/internal/renderers/skia/Cargo.toml index 43fc782379d..2fdf12984c1 100644 --- a/internal/renderers/skia/Cargo.toml +++ b/internal/renderers/skia/Cargo.toml @@ -76,3 +76,6 @@ skia-safe = { version = "0.86.0", features = ["gl"] } [build-dependencies] cfg_aliases = { workspace = true } + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"]